7/15/2016

Excel。Rankings。成績TOPをSとして次をAとした評価表を作成したい


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")

これでもいいけど、一目でわかりにくいですよね。
現場では作業効率も考えないといけませんので、ケースバイケースで作成してみてください。