rank関数
エクセル関数
2017-04-08 18:39:14
rank関数 RANK(数値,範囲,[順序]) 範囲の中で数値(セルの値)の順位を返します。順序に0 を指定するか、省略すると、数値が大きい方から順に1、2、3と順位が付きます。順序に 0 以外の数値を指定すると、 数値が小さい方から順に1、2、3、と順位が付きます。ただし、数値が重複したら上位で同順位となり以降、欠番が生じます。 excel2010からrank関数はrank.eq関数とrank.avg関数に置き換えられました。後方互換のためにエクセル2013でも使用できます。 rank関数と同等の結果を返すのがrank.eq関数になります。
| A | B | C | |
| 1 | 国語 | 順位 | |
| 2 | 田中 | 88 | =RANK.EQ(B2,B2:B5,0) |
| 3 | 吉田 | 85 | |
| 4 | 山本 | 69 | |
| 5 | 吉村 | 92 |
ゴルフのスコアのように数字が少ない方が順位が上になるような場合は第3引数の[順序]を0以外の数値(大体は1を使うことが多いと思いますが)、をしてすれば数値の少ないほうから1,2,3となります。
セルB3の値を88に変更し同順位があった場合を確認します。
| A | B | C | |
| 1 | 国語 | 順位 | |
| 2 | 田中 | 88 | =RANK.EQ(B2,B2:B5,0) |
| 3 | 吉田 | 88 | |
| 4 | 山本 | 69 | |
| 5 | 吉村 | 92 |
この順位2は本当は2.5位が本来の順でしょ、という風にしたい場合はrank.avg関数を使います。
=RANK.AVG(B2,$B$2:$B$5,0)
