Excel・表計算を整える
初級RANK・LARGE・SMALLを整える。
= 並べ替えなくても順位が出せる。同点なら順位が飛ぶ理由も分かる
「並べ替えずに順位を出したい」——成績表の点数を書き換えるだけで、RANK.EQ・RANK.AVGの順位が即座に分かります。同点の人がいると順位が「飛ぶ」(2位が2人いれば3位は欠番で次が4位)という、初見でつまずきやすい挙動を色分けで可視化。LARGE・SMALLで上位・下位3つの値も抜き出せます。計算はすべてこの端末の中で完結します(送信ゼロ)。
TLDR — 30秒で分かる
点数を書き換えるだけでRANK.EQとRANK.AVGを同時表示。同点だと順位が飛ぶ理由が一目で分かる。LARGE/SMALLでベスト3も。
主な機能
- RANK.EQ/RANK.AVGを同時表示・同率で順位が飛ぶ箇所を色分け
- LARGE/SMALLで上位・下位3つの値を抽出、該当セルが光る
- INDEX+MATCHとの合わせ技(名前も取得)を静的例で紹介
- 昇順(タイム競技)⇔降順の切替体験
- 範囲$固定の注意+完成数式コピー
- すべてブラウザ内・送信ゼロ
RANK
① 順位を出す
点数を書き換えると、RANK.EQ・RANK.AVG の両方の順位が即座に再計算されます。同点の行がどうなるかに注目してください。
| A | B | RANK | ||
|---|---|---|---|---|
| 1 | 名前 | 点数 | RANK.EQ | RANK.AVG |
| 2 | — | — | ||
| 3 | — | — | ||
| 4 | — | — | ||
| 5 | — | — | ||
| 6 | — | — | ||
| 7 | — | — | ||
タイム競技のように「小さいほど良い」場面では昇順に切り替えます(②のセクションで詳しく)。
=RANK.EQ(B2, $B$2:$B$7) =RANK.AVG(B2, $B$2:$B$7) ⚠ 範囲の $B$2:$B$7 は $ で固定必須です。固定しないと下の行へコピーしたときに範囲がずれて、順位がおかしくなります。詳しくは 絶対参照($)を整える →
TOP3
② ベスト3を取り出す
LARGE は上位から、SMALL は下位から、k番目の値をそのまま返します(順位ではなく「値」が返る点に注意)。①の表と連動して、該当セルが光ります。
— — — — — — LARGE・SMALL は「値」を返すだけ——「1位は誰?」のように名前も欲しいときは、INDEX と MATCH を組み合わせます。
=INDEX($A$2:$A$7, MATCH(LARGE($B$2:$B$7,1), $B$2:$B$7, 0)) 「1位の点数(LARGE)が何行目か(MATCH)を探し、その行の名前(INDEX)を返す」という合わせ技。
INDEX・MATCHを整える → で単体からじっくり練習できます。
ORDER
③ 昇順の順位(小さいほど良い)
タイム競技のように「数値が小さいほど順位が上」の場面では、RANK.EQ の第3引数に 1 を指定します(省略・0 は降順)。
| A | B | RANK | |
|---|---|---|---|
| 2 | ゆい | — | |
| 3 | そら | — | |
| 4 | りく | — | |
| 5 | めい | — |
タイムは小さいほど上位。第3引数を切り替えて、順位がどう変わるか確かめてください。
=RANK.EQ(B2, $B$2:$B$5, 1)
PITFALLS
④ ありがち失敗
RANKでつまずくポイントは、だいたいこの3つです。
範囲を $ で固定せずコピーした
=RANK.EQ(B2,B2:B7) のまま下へコピーすると、行がずれるたびに範囲も B3:B8、B4:B9…と動いてしまい、順位がめちゃくちゃになります。
直し方:範囲は必ず $B$2:$B$7 のように絶対参照で固定する(詳しくは下記リンク)。
RANKと並べ替えの使い分け
「順位順に並べ替え」てしまうと、元の行の並び(名簿順・入力順)が失われます。
RANK.EQ の価値は「元の並びを保ったまま順位だけ分かる」こと。並べ替えたいときだけ別途ソートを使う。
同率を崩したい(上級テク)
同率をなくして必ず1位から連番にしたいときは、小数点以下のわずかな値を足して同率を崩す上級テクがあります。
=RANK.EQ(B2,$B$2:$B$7)+COUNTIF($B$2:B2,B2)-1 ※ COUNTIF の範囲は「先頭固定・末尾は自分の行」の複合参照にするのがコツ(同じ点の中で先に出てきた行ほど上位になる)。
RANKの基本
並べ替えなくても、順位だけ横に出せる。それが RANK の価値。
- 1
同率は同じ順位、次は「飛ぶ」
RANK.EQ は同率を同じ順位にし、次の順位は同率の人数ぶんスキップします。2位が2人いれば3位は欠番で次は4位。「順位の合計」で人数を検算したいときに引っかかりやすいポイントです。
- 2
RANK.AVG は同率の「平均順位」
2位が2人なら (2+3)÷2 = 2.5 位を両方に割り当てます。欠番を作りたくない集計(ボウリングの大会順位など)で使われます。
- 3
範囲は必ず絶対参照 $ で固定
RANK は「全員の中の自分の位置」を出す関数なので、下へコピーしても範囲そのものは動いてほしくありません。$B$2:$B$7 のように固定するのが鉄則です。
🔒 RANK.EQ・RANK.AVG・LARGE・SMALL の計算はすべて、Excel の挙動(同率の扱い・順序引数・範囲外エラー)を再現した純JavaScriptで、あなたのブラウザの中だけで動きます。入力した数字はサーバに送られません(送信ゼロ)。
📖 このツールで使う用語
用語集トップへ →分からない用語があれば、クリックして解説をご覧ください。
よくある質問
Q. RANK.EQとRANK.AVGは何が違いますか?
A. 同率の扱いです。RANK.EQは同じ順位を与えて次を欠番にし(2位・2位・4位)、RANK.AVGは連続順位の平均(2.5位・2.5位)を与えます。
Q. なぜ2位が2人いると3位が消えるのですか?
A. RANK.EQは「自分より良い人の数+1」で順位を計算するためです。同率2人の次の人は「上に3人いる」ので4位になり、3位は誰にも割り当てられません。
Q. 範囲を$で固定しないとどうなりますか?
A. 下へコピーすると範囲がずれ、行ごとに違う母集団で順位を計算してしまい結果が壊れます。=RANK.EQ(B2, $B$2:$B$7) のように範囲は必ず$で固定します。
Q. LARGE・SMALLとRANKの違いは?
A. RANKは「その値が何位か」を返し、LARGE/SMALLは「◯番目に大きい(小さい)値」そのものを返します。1位が誰かまで知りたいときはINDEX+MATCHと組み合わせます。
Q. タイムのように小さいほど良い場合は?
A. RANK.EQの第3引数に1を指定します(省略または0は大きいほど上位)。本ツールの昇順切替で体験できます。
Q. 入力した点数はどこかに送られますか?
A. いいえ。順位計算も抽出もすべてブラウザ内で完結します(送信ゼロ)。
入力値はURLの「#」以降に入るためサーバーには送信されません。リンクを開くと同じ状態を復元します。
RELATED TOOLS
続けて整える