3/30/2023

Excel。上位3名のみを、手早くABC判定するにはどうしたらいいの。【TOP3】

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関数は、色々つかってみると、日頃使っている数式がより、わかりやすくなるかもしれませんね。