Excelワザ 一等賞は1人だけに!

RANK(ランク)関数で順位付けした時、
同点の場合、同じ順位になってしまいます。
その結果、1位が2人とか3人とかになります。
1位が3人いた場合、次点の人はいきなり4位になってしまいます。
b0186959_166784.jpg

これを、同点でも1位、2位、3位とする方法に、
行番号を利用する方法があります。
ROW(ロウ)関数書式=ROW()
指定したセルの行番号を求める事ができます。
  例)アクティブセルがA3の場合:
   =ROW()とすると、
   「3」という数字が返ってきます。
これを利用して、
Rank関数の引数の数値のところに
得点+行番号÷1000の数字を入れることにより、
同得点でも行番号の分だけ差ができ、異なる順位を出す事ができます。
1000で割るのは本来の得点に影響しない非常に小さな数字を加えたいためです。
(10000でも100000でもOK)
ところが、
b0186959_17251938.jpg

=RANK(E3+ROW(E3)/1000,$E$3:$E$12,0)
b0186959_17283350.jpg

この式ではエラー値になってしまいます。
これは、RANK関数内では引数の計算が許されていないからです。
そこで、調整用の列を1列挿入し、
そこに、
=E3+ROW()/1000
の式で出した数値を入れます。
その数値で、RANK関数で結果を出すと…
b0186959_1740425.jpg

順位の重複なく、1位~10位まで1人ずつ順位がつきました!
真澄ちゃんが一等賞!003.gif
(同点だった場合、リストの下に入力されている人が上位となります。)

  どうしても重複なしに、順位付けしたいときの
  ワザでした~~~(^_-)023.gif
[PR]
by school-pc | 2009-10-14 17:48 | Comments(0)