RANK関数で順位を出す
最初に確認:関数 早見表
このガイドで紹介する主要な関数とその役割を一覧にまとめました。目的に応じて最適な関数を選択するための早見表としてご活用ください。
関数名 | 役割 | 関数の構成 |
---|---|---|
RANK.EQ | 値の順位を求める(同順位は次の順位を飛ばす)。 | =RANK.EQ(数値, 参照, [順序]) |
RANK.AVG | 値の順位を求める(同順位は平均値)。 | =RANK.AVG(数値, 参照, [順序]) |
COUNTIFS | 複数条件でセルの数を数え、同順位を解消する。 | =COUNTIFS(条件範囲1, 条件1, ...) |
LARGE / SMALL | N番目に大きい/小さい値を抽出する。 | =LARGE(範囲, 順位) |
SORT / SORTBY | データ範囲を並べ替えた新しい表を生成する。 | =SORTBY(配列, 基準配列, [順序]) |
IFERROR | 数式エラーを非表示にする。 | =IFERROR(値, エラーの場合の値) |
はじめに:なぜ順位付けが便利なの?
たくさんの数字が並んだデータも、「順位付け」をするだけで、大事なことがひと目で分かるようになります。売上のランキングを作れば、誰が一番頑張ったか、どの商品が人気かがすぐに分かります。順位付けは、データを分かりやすく整理し、次のアクションを決めるための第一歩です。このガイドで、その便利な「順位付け」の方法をマスターしましょう。
Part 1: まずは基本の使い方から
何事もまずは基本から。順位を出すための`RANK`関数の基本的な使い方を、ここでしっかり覚えましょう。
1-1. 2種類のRANK関数
Excelには、順位を出すための関数が2つあります。ほとんどの場合は`RANK.EQ`を使います。
- `RANK.EQ` (普通のランキング): 最もよく使う関数です。同点の場合は同じ順位になり、次の順位は飛ばされます。(例:1位, 2位, 2位, 4位)
- `RANK.AVG` (平均のランキング): 同点の場合、順位の平均値を出します。(例:1位, 2.5位, 2.5位, 4位)。主に専門的な分析で使います。
下の表で、2つの関数の違いを見てみましょう。結果のセルをクリックすると解説が出ます。
氏名 | 点数 | RANK.EQ (普通) | RANK.AVG (平均) |
---|
1-2. 関数の作り方
`=RANK.EQ(数値, 参照, [順序])` このように、関数は3つの部品からできています。
- `数値`: 順位を知りたいセル(例:Aさんの点数)。
- `参照`: 順位を比べる範囲(例:クラス全員の点数リスト)。
- `[順序]`: `0`か省略で「点数が高い」順、`1`で「タイムが速い」順。
下のドロップダウンを操作して、関数がどう動くか試してみましょう。
完成した数式と結果:
1-3. 最重要ルール:絶対参照「$」
`RANK`関数を使う上で一番大切なルールです。数式をコピーした時に、比べる範囲がずれないように「`$`」マークで固定します。キーボードの`F4`キーを押すと簡単に入力できます。「コピー実行」ボタンを押して、`$`がある時とない時の違いを見てみましょう。
❌ 間違った例 (`$`なし)
✅ 正しい例 (`$`あり)
Part 2: 「同点」の順位を決めよう
実際のデータでは、同じ点数や売上がよくあります。そんな「同点」の場合に、どうやって順位をつけるかを見ていきましょう。
2-1. 同点の扱い方:徒競走で理解しよう
同点の順位は、徒競走の結果に例えると分かりやすいです。普通のランキング(`RANK.EQ`)と、特別なランキング(`RANK.AVG`)の違いを見てみましょう。
普通のランキング (RANK.EQ)
BさんとCさんが同タイムで2位なら、2人とも「2位」。次のDさんは3位ではなく「4位」になります。
選手 | タイム | 順位 |
---|---|---|
Aさん | 12.5秒 | 1 |
Bさん | 13.1秒 | 2 |
Cさん | 13.1秒 | 2 |
Dさん | 13.5秒 | 4 |
2位が2人いたため、3位はスキップされます。
特別なランキング (RANK.AVG)
BさんとCさんは2位と3位を分け合うと考え、その真ん中の「2.5位」になります。
選手 | タイム | 順位 |
---|---|---|
Aさん | 12.5秒 | 1 |
Bさん | 13.1秒 | 2.5 |
Cさん | 13.1秒 | 2.5 |
Dさん | 13.5秒 | 4 |
計算式: (2位 + 3位) ÷ 2人 = 2.5位
2-2.【上級】2つ目のルールで同点を決める
「売上が同点なら、実技点の高い方を上にする」のように、2つ目のルールで順位を決めたい時は、`RANK.EQ`と`COUNTIFS`を組み合わせます。少し難しい数式ですが、同点の人たちの中だけで、2つ目のルールで自分より上の人が何人いるかを数えて、基本の順位に足しています。
氏名 | 売上 | 実技点 | 基本順位 | 最終順位 |
---|
このランキングで使われている数式:
2-3. もっと簡単な同点解消法(作業列)
さっきの数式が難しいと感じたら、もっと簡単な方法もあります。「作業列」という補助の列を作り、そこに「売上+実技点×0.001」のような計算をします。こうすると全員が違う点数になるので、あとはその作業列で普通の`RANK.EQ`を使えばOKです。
数式例 (作業列に入力)
Part 3: もっと便利に使うコツ
順位を出せたら、次はその結果をもっと見やすく、便利に使うためのテクニックを紹介します。
3-1. エラーを防ぐテクニック
データに空欄があった時などに出る「#N/A」というエラー表示は、見た目が良くありません。そんな時は、`IFERROR`や`IF`という関数でエラーを隠せます。
IFERRORでエラーを隠す
もし`RANK.EQ`がエラーになったら、代わりに空白を表示する、という意味です。
IFで条件にあう人だけ順位付け
もし点数が80点以上なら順位を出し、そうでなければ「対象外」と表示します。
3-2. 順位を見やすくする
順位が分かったら、「条件付き書式」という機能でトップ3などの行に自動で色を付けて、目立たせることができます。
トップ3に色を付ける
下のボタンを押すと、トップ3の行に色が付きます。もう一度押すと色が消えます。
氏名 | スコア | 順位 |
---|
Part 4: 似ている関数との違い
`RANK`と似た働きをする関数は他にもあります。違いを知って、場面ごとに最適な関数を選べるようになりましょう。
4-1. RANK vs. LARGE/SMALL
この2つは質問の仕方が逆です。
RANK関数:
「この点数は、何位ですか?」と聞く。
=RANK.EQ(95, [範囲]) → 2
LARGE/SMALL関数:
「2位の人の点数は何ですか?」と聞く。
=LARGE([範囲], 2) → 95
4-2. 新しい関数: SORT / SORTBY
新しいExcel (Microsoft 365) には、もっと簡単にランキング表を作れる`SORT`や`SORTBY`という関数があります。`RANK`は元の表のまま順位だけ知りたい時、`SORT`/`SORTBY`は表全体を順位順に並べ替えたい時に便利です。
この数式だけで、点数が高い順に並んだ表が完成します。
4-3. データがすごく多い場合
データが何万行もある場合は、`RANK`関数だとExcelが重くなることがあります。そんな時は「ピボットテーブル」や「Power Query」という専門の機能を使うと、スムーズにランキングが作れます。
結論: 正しい順位は、きれいな表から
`RANK`関数がうまく動かない原因のほとんどは、元の表が整理されていないことです。正しい順位を出すには、まずデータをきれいにすることが一番の近道です。
✅ 良いデータの原則
- 見出しは1行だけにする。
- 1つのデータは1行にまとめる。
- セルを結合しない。
- 表の途中に空白の行や列を入れない。
❌ 避けるべき習慣
- 結合されたセル
- 複数行にわたる見出し
- 意味のない空白の行や列
- 1つのセルに複数の情報(例: 氏名(部署))
まとめ:関数 早見表
このガイドで紹介した主な関数をまとめました。目的に合わせて使い分けましょう。
関数名 | 役割 | 関数の構成 |
---|---|---|
RANK.EQ | 値の順位を求める(同順位は次の順位を飛ばす)。 | =RANK.EQ(数値, 参照, [順序]) |
RANK.AVG | 値の順位を求める(同順位は平均値)。 | =RANK.AVG(数値, 参照, [順序]) |
COUNTIFS | 複数条件でセルの数を数え、同順位を解消する。 | =COUNTIFS(条件範囲1, 条件1, ...) |
LARGE / SMALL | N番目に大きい/小さい値を抽出する。 | =LARGE(範囲, 順位) |
SORT / SORTBY | データ範囲を並べ替えた新しい表を生成する。 | =SORTBY(配列, 基準配列, [順序]) |
IFERROR | 数式エラーを非表示にする。 | =IFERROR(値, エラーの場合の値) |
コメント