Excel の RANK 関数

Excel の表で合計得点を算出し順位付けする場合があります。得点の列を最優先に指定して並べ替えをすることも考えられますが、RANK 関数を使ってみます。この関数は 順序に従って範囲内の数値を並べ替えたとき、数値が何番目に位置するかを返します。

範囲を指定して名前を付ける

得点表のデータを選択し、Excel2003 では 『 挿入(I) 』→ 『 名前(N) 』→ 『 定義(D)』 で、Excel2007 では 『 数式 』タブの 『 名前の定義 』 で 図のような ダイアログボックス( Excel2007 では 新しい名前 )が表示され、 列のフィールド名 【 得点 】が自動的に表示されるので OK を押すだけでよい。

得点表のデータを選択した上で、左上方にある名前ボックスに直接に【 得点 】とタイプ入力してもかまいません。

RANK 関数

rank 関数の書式は 『 =rank(数値, 参照, [順序]) 』 となっていて、図の c3 セルに

『 =rank(b3, 得点, 0) 』

のように入力してオートフィルなどを利用して下方にコピーします。 [順序] は 降順…高得点の場合に順位が上… では ゼロ ( 0 )。

範囲名を定義することなく、c3 セルに 『 =rank(b3, $b$3:$b$10, 0) 』 と記述しても OK です。また、降順の場合は 0 を省略して 『 =rank(b3, 得点) 』、 『 =rank(b3, $b$3:$b$10) 』 のようにしてもかまいません。ここでは見やすいようにコンマ (, )の後にスペースを入れてありますがなくても大丈夫です。

ゴルフのスコアのように打数が少ない方が上位に位置する場合は [順序] を 昇順 (1) に設定します。

このサイトで扱った項目