Excel。上位3名のみを、手早くABC判定するにはどうしたらいいの。
<SWITCH+RANK.EQ関数>
1位の得点なら「A」。
2位が「B」で3位が「C」として、それ以外は空白とする場合、次の表のように、手早く算出するにはどのようにしたらいいのでしょうか。
やりたいことはシンプルですが、1位~3位がわかるようにして、さらにA・B・Cに置換しなければなりません。
そのため、処理が面倒になりがちです。
そこで、SWITCH関数とRANK.EQ関数を組み合わせることで、手早く算出することができます。
D2に設定した数式は、
=SWITCH(RANK.EQ(C2,$C$2:$C$7,0),1,"A",2,"B",3,"C","")
設定した数式をオートフィルでコピーしています。
これで、1位はAとして、該当しない場合は、空白というように設定することができました。
SWITCH関数の引数を確認しておきましょう。
SWITCH関数は、「多分岐処理」を行うことができる関数です。
このSWITCH関数の最初の引数は、「式」で、この式の結果をこのあとの引数で判別し設定していきます。
やりたい処理は、1位から3位を算出したいわけです。
そこで、順位を算出するならば「RANK.EQ関数」をつかうことで算出することができます。
RANK.EQ関数をつかえば、仮に1位が複数あった場合でも対応してくれます。
この結果をもとにして、2つ目以降の引数が対応していきます。
2つ目の引数は、「値1」です。
最初の引数の結果が「1」の場合ということなので引数には、「1」と設定します。
3つ目の引数は、「結果1」です。2つ目の引数と合致した場合に、結果1で設定した処理をするわけです。
2つ目の引数の結果「1」だったら、「A」と表示したいので、結果1に設定する値は「A」となるわけです。
あとは、2と3を繰り返し設定します。
そして、1位~3位以外は、空白にしたいので、最後の引数の値に「””(ダブルコーテーション×2)」を設定すれば、数式は完成します。
SWITCH関数は、色々つかってみると、日頃使っている数式がより、わかりやすくなるかもしれませんね。