エクセルで、得点や売上に、順位を付けるには、RANK.EQ関数を使います。得点が高い順の順位なら、=RANK.EQ(B3,$B$3:$B$8,0) です。小さい順にしたいときは、最後の「0」を「1」にします。
この記事では、順位の付け方、小さい順の順位、同順位を避ける方法、平均順位、n番目に大きい値、1位の氏名の取り出し方を、1つの表を使って説明します。下の練習ツールで、得点を書き換えて、順位の変わり方を試せます。
エクセルで順位を付ける|やりたいこと別の式
| やりたいこと | 式(例) | ポイント |
|---|---|---|
| 得点が高い順に、順位を付ける | =RANK.EQ(B3,$B$3:$B$8,0) | 最後の「0」は、降順(大きい順)です。 |
| 得点が低い順に、順位を付ける | =RANK.EQ(B3,$B$3:$B$8,1) | 最後の「1」は、昇順(小さい順)です。 |
| 同順位を避けて、順位を付ける | =RANK.EQ(B3,$B$3:$B$8)+COUNTIF($B$3:B3,B3)-1 | 同じ得点でも、上の行が先になります。 |
| 同順位の平均を、順位にする | =RANK.AVG(B3,$B$3:$B$8) | 1位が2人なら、どちらも1.5位です。 |
| n番目に大きい値を求める | =LARGE($B$3:$B$8,3) | 3番目に大きい得点が、求められます。 |
| いちばん小さい値を求める | =SMALL($B$3:$B$8,1) | n番目に小さい値は、SMALL関数です。 |
| 1位の氏名を取り出す | =INDEX($A$3:$A$8,MATCH(MAX($B$3:$B$8),$B$3:$B$8,0)) | 最大値の位置を探して、氏名を返します。 |
まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
RANK.EQ関数で順位を付ける(大きい順)
得点が高い人を、1位にするには、RANK.EQ関数の最後の指定を、「0」にします。

梅の得点は85点で、結果は 3 です。92点の桜と竹は、どちらも 1、85点の梅と菊は、どちらも3位で、次の78点の松は、5 になります(2人が同順位のとき、次の順位は飛びます)。
▶ この式(C3)を、上の練習ツールで試す / この式(C4)を、上の練習ツールで試す
小さい順に順位を付ける(昇順)
タイムのように、小さい方が良いときは、最後の指定を「1」にします。
梅の85点は、小さい方から数えて3番目なので、結果は 3 です。いちばん小さい66点の楓が、1 になります。
▶ この式(D3)を、上の練習ツールで試す / この式(D7)を、上の練習ツールで試す
同順位を避けて順位を付ける
同じ得点でも、順位を別々にしたいときは、COUNTIF関数で、上の行にある同じ得点の数を、足します。
=RANK.EQ(B3,$B$3:$B$8)+COUNTIF($B$3:B3,B3)-1
92点の桜は、1、同じ92点の竹は、上に同じ得点が1人いるので、2 になります。COUNTIFの範囲は、先頭だけを「$」で固定して、下にコピーすると、範囲が1行ずつ広がります。
▶ この式(E4)を、上の練習ツールで試す / この式(E6)を、上の練習ツールで試す
同順位は平均順位にする(RANK.AVG)
同順位のとき、平均の順位にするには、RANK.AVG関数を使います。
92点の桜と竹は、1位と2位の平均で、結果は 1.5 です。85点の梅と菊は、3.5 になります。順位の細かい違いは、RANK.AVG関数の使い方を参照してください。
▶ この式(F4)を、上の練習ツールで試す / この式(F3)を、上の練習ツールで試す
n番目の値と、1位の氏名を求める(LARGE・SMALL・INDEX)
3番目に大きい得点は、LARGE関数で求めます。いちばん小さい得点は、SMALL関数です。
大きい順に、92、92、85、85、78、66なので、結果は 85 です。1位の氏名を取り出すには、MAX関数で最大値を求めて、MATCH関数で位置を探し、INDEX関数で氏名を返します。
結果は 桜 です。同点のときは、上にある人が、返されます。3位以内の人数は、順位の列を使って、=COUNTIF($C$3:$C$8,"<=3") で求められて、結果は 4 です。上位の合計は、上位3件の合計を求める方法を参照してください。
▶ この式(I3)を、上の練習ツールで試す / この式(I7)を、上の練習ツールで試す / この式(I5)を、上の練習ツールで試す
順位がおかしいときの確認表
| 症状 | 考えられる原因 | 対処 |
|---|---|---|
| 順位が、下の行でずれる | 範囲に、「$」を付けていない | 範囲を、$B$3:$B$8 のように固定する。 |
| 「#N/A」と表示される | 順位を付けたい値が、範囲に入っていない | 範囲に、そのセルを含める。 |
| 同じ得点で、同じ順位になる | RANK.EQ関数の仕様 | COUNTIF関数で、同順位を避ける。 |
| 順位が、逆になる | 最後の指定が、逆になっている | 大きい順は「0」、小さい順は「1」にする。 |
| 空白のセルの順位が出る | 空白も、計算の対象になっている | IF関数で、空白のときは、表示しない。 |
| 文字の得点が、無視される | 数値ではなく、文字列になっている | 数値に直してから、順位を付ける。 |
| 値を変えても、順位が変わらない | 計算方法が「手動」になっている | 「数式」タブの「計算方法の設定」を「自動」にする。 |
順位付けのよくある質問
RANK関数と、RANK.EQ関数の違いは?
結果は同じです。RANK.EQ関数は、新しい名前で、古いRANK関数の代わりに使えます。
得点の高い順に、並べ替えるには?
順位の列を付けたあとで、「データ」タブの「並べ替え」で、順位の昇順にします。並べ替えの基本は、最大・最小・順位のまとめも参考になります。
上位3人だけを、取り出すには?
LARGE関数で、1番目から3番目の得点を求めて、INDEX関数とMATCH関数で、氏名を返します。
あわせて読みたい:順位の関連記事
- RANK.EQ関数・RANK関数の使い方|順位を求める
- RANK.AVG関数の使い方|同順位を平均順位にする
- LARGE関数の使い方|n番目に大きい値を求める
- SMALL関数の使い方|n番目に小さい値を求める
- 上位3件の合計を求める方法
練習用ファイル:練習用Excelファイル(.xlsx・無料)
ランダムな数字や抽選のやり方は、エクセルでランダムな数字を作る方法もあわせてご覧ください。
偏差値の求め方を、判定や人数の集計まで確認したいときは、エクセルで偏差値を求める方法もあわせてご覧ください。
集計した結果を、グラフにして見せたいときは、エクセルでグラフを作る方法もあわせてご覧ください。
ボタン操作で並べ替えたいときは、エクセルの並べ替えのやり方もあわせてご覧ください。
