Excel。成績TOPをSとして次をAとした評価表を作成したい
<RANK.EQ関数とCHOOSE関数>
アルファベットの評価表を作りたいというお話を受けまして、
なんでも、一番いい成績をスペシャルのSとして、次の成績がAとしていきたい。
そして、同点ならば、同じアルファベットのランキング。というような評価表。
順位表を作成したいというものでして。
なかなか、難題ですよね。
イメージがし難いと思いますので、下記のような表を作りたいわけです。
さて、どうしたらいいでしょうかね?
IF関数でしょうか?一番大きい数値ならSとかですかね?
けど、一番大きな数値はSとは出来ても、2番目。3番目はどうしましょうか?
そこで、このような場合、つまり多分岐するような場合には、
IF関数では太刀打ちが難しいので、CHOOSE関数を使ってあげると、いいように考えられます。
では、CHOOSE関数を使うとして考えた場合ですが、
CHOOSE関数の特性を知っておく必要がありますね。
CHOOSE関数は、1だったら、○○。2だったら、○○。
というように1・2・3という数値を用意してあげる必要があります。
では、どのようにしたら、1とか2という数値を用意できるのでしょうか?
成績が1位2位という順位を求めれば、1とか2とかという数値を用意できそうですね。
となると、RANK.EQ関数が使えそうですね。
そして、このような場合、一つの計算式にすると、煩雑になったり、わかりにくくなってしまうので、
作業列を作って、一度順位をRANK.EQ関数で算出させて、
それから、CHOOSE関数を使って、
アルファベットのランキングに変化させるという2段階で作っていきましょう。
F3をクリックして、RANK.EQ関数ダイアログボックスを表示しましょう。
数値は、C3
参照は、$C$3:$C$12。絶対参照を忘れないように設定しましょう。
順序は、0
を入力してOKボタンをクリックしましょう。
順位が算出されますので、オートフィルで数式をコピーしましょう。
F3の数式は、
=RANK.EQ(C3,$C$3:$C$12,0)
となっています。順位がまずは算出できましたね。4位が2個ありますね。その代り5位はありません。
さていよいよ、本題のABC順位を求めていきましょう。
D3にCHOOSE関数ダイアログボックスを表示しましょう。
インデックスには、先程順位を算出した、F3。
値1から順々に、S・A・Bと入力していきます。今回は、Jまでになります。
あとは、OKボタンをクリックしましょう。そして、オートフィルで数式をコピーしていきます。
数式は、
=CHOOSE(F3,"S","A","B","C","D","E","F","G","H","I","J")
となっています。これで、完成しましたね。
このようにすると、スペシャルのSから始めることができますよ。
なお、どうしても、作業列を作りたくない場合は、このような数式になりますね。
=CHOOSE(RANK.EQ(C3,$C$3:$C$12,0),"S","A","B","C","D","E","F","G","H","I","J")
これでもいいけど、一目でわかりにくいですよね。
現場では作業効率も考えないといけませんので、ケースバイケースで作成してみてください。