順位を求める「RANK.EQ」関数。基本的な使い方に加えて、仕事に役立つ実例も紹介する。

順位を求めるRANK.EQ(ランク・イコール)

 仕事において順位付けしたいシーンは意外と多い。そんなときは、RANK.EQ関数を使えば簡単に順位を表示できる。社内試験の得点が高い順にランキングしたり、セミナー受講者数の多い順に表示したりできる。

書式

書式 RANK.EQ(数値,範囲,順序)
数値(必須) 順位を求めたい数値を指定する
範囲(必須) 数値全体が入力されているセル範囲を指定する
順序 0(省略可):降順(大きいほうから数える)/1:昇順(小さいほうから数える)

基本的な使い方

 下図のような試験結果の一覧表で、それぞれの得点が全体の何位にあたるかを調べたい。こんなときに使うのがRANK.EQ(ランク・イコール)関数だ。

 RANK.EQ関数には引数が3つある。最初の引数「数値」には、順位を調べる数値が入ったセルを、次の引数「範囲」には、数値データ全体の「範囲」を指定する。最後の引数「順序」は、大きい順(降順)か小さい順(昇順)を指定する。省略するか「0」を指定した場合は降順、「1」を指定した場合は昇順の順位を求める。

 では、1行目の「大川」さんの順位をC3セルに表示してみよう。「数値」には、得点のB3セルを指定し、「範囲」には全員の得点が入ったセルの範囲(B3:B7セル)を指定する。降順の順位を調べたいので「順序」は省略する。C3セルに「=RANK.EQ(B3,B3:B7)」と入力すれば大川さんの順位が分かる。

 C3セルを下方向にコピーして金田さん以下の順位も表示しようと思うと、落とし穴が……。例えばC4セルの金田さんの順位を表示する記述内容は、「=RANK.EQ(B4,B4:B8)」となり、得点が入ったセル範囲がずれてしまうのだ。こういう場合には、セル番地に「$」を付けて指定する「絶対参照」を使う。記述したセル番地の任意の位置にカーソルを置き、「F4」キーを押すと、自動的に絶対参照に変わる。

RANK.EQ関数で順位を求める。「範囲」はずれないように絶対参照にしておこう
RANK.EQ関数で順位を求める。「範囲」はずれないように絶対参照にしておこう
[画像のクリックで拡大表示]

【仕事での使い方】同点の場合でも順位に差を付ける

成績一覧表で、合計点が同じの場合は、「英語」の得点の高いほうを上位にしたい。こんなときは、英語の得点に応じて順位に“重み付け”できる
成績一覧表で、合計点が同じの場合は、「英語」の得点の高いほうを上位にしたい。こんなときは、英語の得点に応じて順位に“重み付け”できる
[画像のクリックで拡大表示]

 「合計点」が同じ場合は「英語」の得点が高いほうを上位にしたい──。順位を求めるRANK.EQ関数は、同点の場合は同順位になるので、ひと工夫必要になる。

 そこで、合計と英語の順位を求め、合計の順位に影響を与えないように、英語の順位を0.1倍した値を合計の順位に加える“重み付け”を行う。こうして「調整順位」を求めれば、合計点が同じでもうまく差が付く。後は「調整順位」を基に、最終的な順位を求めよう。

 「調整順位」を計算するには、合計点の順位と英語の順位を求める。「伊藤孝弘」さんの合計点の順位(E3セル)と英語の順位(F3セル)の記載内容は下図で確認してほしい。表示した2つの順位からG3セルに「調整順位」を計算する。これで「伊藤孝弘」分は表示できたので、「セル範囲」が絶対参照になっているかを確認して、下方向にコピーしよう。

「調整順位」を計算する
「調整順位」を計算する
[画像のクリックで拡大表示]

 「最終順位」を求めるときは、「調整順位」の値をRANK.EQ関数で再びランキングすればよい。注意したいのは、「調整順位」が小さいほうが順位が上になるので、RANK.EQ関数の引数「順序」を「1」として、小さい順で調べる。H3セルの記述は下図を確認してほしい。H3セルを下方向にコピーすれば「最終順位」を確定できる。

小さい順にランキングするので、「順序」に「1」と設定するのを忘れないように
小さい順にランキングするので、「順序」に「1」と設定するのを忘れないように
[画像のクリックで拡大表示]