Excelでテストの点数、売上、作業時間などを集計するとき、各データの順位を自動表示したい場面は少なくありません。

手作業で並べ替えて順位を書く方法では、数値が変わるたびに確認と修正が必要になり、入力ミスも起こりやすくなります。

そこで便利なのが、指定した数値がデータ全体の中で何位になるかを求められるRANK関数です。

最高点を1位にする降順、最低点を1位にする昇順のどちらにも対応でき、オートフィルで大量の行へ簡単にコピーできます。

最高点を1位にする場合はRANK.EQ関数の並べ替え順序を省略または0にします。

最低点を1位にする場合は第3引数に1を指定します。

同点の扱い、参照範囲の固定、欠番の考え方もあわせて確認することが大切です。

この記事では、RANK関数を使ってExcelの順位を自動表示する方法を、数式例と操作イメージを交えながら解説します。

 

Excelで順位を自動表示する方法【RANK.EQ関数の入力】

それではまず、RANK.EQ関数で最高点から順位を表示する基本操作について解説していきます。

氏名 点数 順位
田中 92 2
佐藤 98 1
鈴木 85 3

 

RANK.EQ関数の基本構文

RANK.EQ関数は、ある数値が指定した数値一覧の中で何番目に位置するかを返す関数です。

Excelの新しいバージョンではRANK関数も使用できますが、現在はRANK.EQ関数を使うと、同順位を同じ順位として扱う意図がわかりやすくなります。

RANK.EQ関数の構文

=RANK.EQ(数値,参照,順序)

数値には順位を求めたいセル、参照には比較する数値の範囲、順序には順位の付け方を指定します。

たとえば、B列に点数があり、B2からB6までを比較対象とする場合、C2セルには次の数式を入力します。

=RANK.EQ(B2,$B$2:$B$6,0)

数式の先頭にある等号は、Excelに計算式として認識させるために必要です。

第1引数のB2は田中さんの点数です。

第2引数の$B$2:$B$6は、順位を比較するすべての点数を示しています。

第3引数の0は大きい数値を1位にする指定であり、テストの得点や売上額の順位を付ける場合に適しています。

順序を省略した場合も0として処理されるため、最高点を1位にしたいときは第3引数を省略しても問題ありません。

【操作のポイント】比較範囲は順位を付けたい全データを含めます。見出し行は範囲に含めないことが基本です。

 

数式を入力するセルと確定操作

サンプルデータでは1行目を見出しとして、A1に氏名、B1に点数、C1に順位を入力しているものとします。

最初の順位はC2セルに表示するため、C2セルを選択してから数式バーまたはセル内へ数式を入力します。

数式を入力したらEnterキーを押すと、B2セルの点数が範囲内で何位なのかがC2セルに表示されます。

たとえば点数が92点で、98点だけが92点を上回っていれば、結果は2になります。

表示結果が意図と違う場合は、最初に第1引数が順位を付けたい数値セルを参照しているか確認しましょう。

次に、第2引数の範囲に見出しや空白ではない別のデータが混じっていないかを確認します。

文字列として入力された数値は、見た目が数字でも正しく比較できないことがあります。

セルの左上に緑の三角が表示されているときは、数値が文字列として保存されている可能性があります。

順位計算の前に、比較対象のセルが数値形式になっているかを整えることが正確な集計への近道です。

【操作のポイント】数式を入力したセルを選択した状態で数式バーを見ると、セル参照と絶対参照を確認できます。

 

オートフィルによる順位の一括コピー

C2セルに正しい順位が表示されたら、同じ計算式を下の行へコピーします。

C2セルをクリックすると、選択枠の右下に小さな四角形が表示されます。

この小さな四角形はフィルハンドルと呼ばれ、下方向へドラッグすると数式を連続入力できます。

データが連続して入力されている場合は、フィルハンドルをダブルクリックしても、隣接するデータ行に合わせて数式をコピーできます。

コピー後はC3、C4と下の行ほど第1引数がB3、B4のように変化し、それぞれの点数に対応した順位が表示されます。

一方で、比較範囲がB3:B7のように一緒にずれると、行ごとに比較対象が変わってしまいます。

そのため、比較範囲には後述する絶対参照を設定します。

順位列を作成したあとで点数を変更しても、Excelは自動で再計算して順位を更新します。

これが手入力の順位表にはない大きな利点です。

【操作のポイント】フィルハンドルを使う前に、比較範囲の行番号と列番号にドル記号が付いているか確認しましょう。

 

最高点を一位にするRANK関数の指定

続いては、最高点を1位として表示するための数式と、絶対参照の考え方を確認していきます。

商品 売上額 売上順位
商品A 125000 2
商品B 180000 1
商品C 76000 3

 

降順で順位を求める第3引数

売上額、点数、アクセス数、利益額のように、大きい数値ほど上位にしたいデータでは降順を指定します。

RANK.EQ関数の第3引数に0を入力すると、最も大きい数値が1位になります。

第3引数を省略した場合も降順となるため、次の2つの数式は同じ結果を返します。

=RANK.EQ(B2,$B$2:$B$6)

=RANK.EQ(B2,$B$2:$B$6,0)

実務では、数式を見た人が順位の条件を判断しやすいように、0を明示しておく方法も便利です。

特に昇順の式と同じシートに配置する場合は、順序の違いを把握しやすくなります。

最高値を1位にする順位表では、順序に0を指定することが基本です。

マイナスの数値が混在していても、数値の大小関係に従って順位が決まります。

たとえば利益が大きいほど上位にする場合、10000は5000より上位であり、マイナスの利益はさらに下位になります。

【操作のポイント】売上額や得点のように大きい値を評価する列では、順序を0にして降順の順位を作成します。

 

絶対参照で比較範囲を固定する操作

順位の数式をコピーするときに重要なのが、比較範囲を絶対参照にすることです。

相対参照のB2:B6のまま数式を下へコピーすると、C3では比較範囲がB3:B7に変わります。

これでは最初のデータが比較対象から外れたり、最終行の外側にある空白セルを含めたりするため、正しい順位を求められません。

比較範囲を固定するには、列記号と行番号の前にドル記号を付けます。

=RANK.EQ(B2,$B$2:$B$6,0)

$B$2:$B$6と書くことで、数式をどの行へコピーしても、比較対象は常にB2からB6までに固定されます。

数式の入力中に参照範囲を選択してF4キーを押すと、相対参照、絶対参照、複合参照を切り替えられます。

Windows PCでF4キーが音量などの機能キーとして動作する場合は、Fnキーを同時に押す必要があるかもしれません。

順位計算では第1引数は変化させ、第2引数だけを固定する形が基本になります。

【操作のポイント】コピー元の数式では、順位を調べるセルだけがB2、比較範囲だけが$B$2:$B$6になる形を確認します。

 

RANK関数とRANK.EQ関数の使い分け

従来のExcelにはRANK関数があり、現在も多くの環境で使用できます。

RANK関数は互換性のために残されており、基本的な順位計算ではRANK.EQ関数とほぼ同じ結果になります。

新しく作成する表では、同順位の扱いを明確に表すRANK.EQ関数を選ぶとよいでしょう。

RANK.AVG関数は、同点があるときに該当順位の平均値を返す関数です。

たとえば2位と3位に同点がある場合、RANK.AVGでは両方に2.5という順位が表示されます。

学校の順位表や売上ランキングでは、通常は同点者に同じ順位を表示するRANK.EQ関数が使われます。

一方、競技の集計ルールや統計処理によっては平均順位が必要になることもあります。

一般的な順位表示にはRANK.EQ関数を使用します。

同点の順位を平均化したい場合にはRANK.AVG関数を検討します。

関数を選ぶ前に、同点を同順位にするのか平均順位にするのかを確認しておくと、集計後の修正を減らせます。

【操作のポイント】既存ブックでRANK関数が使われていても、通常の順位計算ならそのまま結果を確認できます。

 

最低点を一位にする昇順指定

続いては、最低点や最短時間を1位にする昇順の順位付けについて確認していきます。

担当者 作業時間 短時間順位
高橋 48 2
伊藤 42 1
渡辺 55 3

 

順序に1を指定する数式

タイム、費用、誤差、不良件数などは、小さい数値ほど良い評価になることがあります。

この場合はRANK.EQ関数の第3引数に1を指定します。

=RANK.EQ(B2,$B$2:$B$6,1)

この数式では、比較範囲の中で最小の数値が1位になります。

作業時間が42分、48分、55分なら、42分が1位、48分が2位、55分が3位です。

最高値が1位となる通常の設定と比べると、第3引数だけが異なります。

小さい数値を上位にしたいときは、順序を1にすることを覚えておきましょう。

【操作のポイント】時間やコストの順位では、何を上位と呼ぶのかを列見出しに書いておくと表を誤読しにくくなります。

 

昇順順位を入力するExcel画面

ここでは、C2セルへ昇順の順位数式を入力し、下方向へオートフィルする操作イメージを確認します。

順位表.xlsx – Excel− □ ×
ファイルホーム挿入数式データ
B罫線中央揃え並べ替え
C2
fx
=RANK.EQ(B2,$B$2:$B$6,1)
A B C
1 担当者 作業時間 順位
2 高橋 48 2
3 伊藤 42 1
4 渡辺 55 3
C2に数式を入力

数式バーにはRANK.EQ関数が表示され、赤枠のC2セルに順位の結果が表示されています。

最初のセルに数式を入力した後、フィルハンドルを下へドラッグすると、C3以降にも同じ条件の順位が反映されます。

データ件数が増えたときは、比較範囲の末尾がすべての行を含んでいるかを見直しましょう。

テーブル機能を使っている場合は、データの追加に応じて数式が自動入力されることもあります。

【操作のポイント】数式バーで第3引数が1になっていることを確認してから、フィルハンドルでコピーします。

 

時間データと数値の表示形式

作業時間が分単位の整数で入力されている場合は、そのままRANK.EQ関数で順位を求められます。

一方、1時間25分のような時刻形式のデータでは、セルの中身はExcel内部の時刻シリアル値として計算されています。

時刻形式のセル同士であれば、RANK.EQ関数は時間の長短を正しく比較できます。

表示形式を時刻または経過時間に設定しておけば、見た目もわかりやすくなります。

日をまたぐ作業時間を扱う場合は、表示形式を角括弧付きの時間表示に設定する方法が有効です。

順位は表示されている文字ではなく、セルに保存された数値を基準に計算されます。

空白セルがあるデータ表では、空白行にも数式をコピーすると、0として扱われたり想定外の順位が表示されたりする場合があります。

入力済みのデータ行だけへ数式をコピーするか、IF関数と組み合わせて空白時には何も表示しない設定にすると見やすくなります。

=IF(B2=””,””,RANK.EQ(B2,$B$2:$B$6,1))

【操作のポイント】空白行がある表では、順位列に不要な数値が表示されていないかを最後に確認します。

 

同点順位と欠番の仕組み

続いては、同じ点数や同じ売上額がある場合の順位表示と、欠番になる理由を確認していきます。

氏名 点数 順位
山田 95 1
加藤 88 2
吉田 88 2
小林 80 4

 

RANK.EQ関数で同点を同順位にする設定

RANK.EQ関数では、同じ数値には同じ順位が返されます。

たとえば95点が1人、88点が2人、80点が1人なら、順位は1位、2位、2位、4位となります。

3位が表示されないことを欠番と呼びます。

これは、88点の人が2人いて、1位と2位を合計3人が占めているという順位の考え方に基づくものです。

RANK.EQ関数の欠番はエラーではなく、同順位を採用した場合の標準的な結果です。

テスト順位、営業成績、売上順位などでは、この方式が使われることが多いでしょう。

表を共有する際は、同点の場合に次の順位が飛ぶことをあらかじめ説明しておくと、閲覧者の混乱を防げます。

【操作のポイント】同点者がいる順位表では、順位列だけでなく元の数値列も並べて表示します。

 

連番順位が必要な場合の考え方

用途によっては、同点があっても1位、2位、3位、4位のように重複しない連番を作りたい場合があります。

たとえば抽選順、処理順、表示順を決める表では、同じ点数の人にも順番を付ける必要があるかもしれません。

このような場合は、点数以外の条件で並び順を決める必要があります。

氏名順、受付時刻順、社員番号順など、同点時の優先ルールを事前に定めると公平性を説明しやすくなります。

単純なRANK.EQ関数だけでは、同点者を区別する基準までは作れません。

COUNTIF関数などを組み合わせる方法もありますが、複雑な式になるため、まずは並べ替えの優先条件を整理することが大切です。

連番順位を作る前に、同点時の優先順位を決めます。

点数だけで順位を付けるなら、RANK.EQ関数の同順位表示が自然です。

【操作のポイント】順位に重複を許可しない運用では、同点時の判定基準を表の近くに記載しておきます。

 

RANK.AVG関数による平均順位

RANK.AVG関数は、同点が占める順位の平均を返します。

先ほどの例で88点が2人いる場合、2位と3位の平均である2.5が表示されます。

順位の合計や平均順位を統計的に扱う場合には、RANK.AVG関数が役立つことがあります。

一方で、日常的なランキング表では小数点の順位が見慣れないと感じる人もいるでしょう。

学校の成績表、社内ランキング、販売実績の一覧などでは、RANK.EQ関数のほうが理解されやすい傾向があります。

RANK.EQとRANK.AVGの違いは、同点が発生したときだけ表れます。

実際のデータに同点がない場合は、どちらの関数でも同じ順位になります。

まずは組織や集計ルールを確認し、読み手にとって自然な順位表を選びましょう。

【操作のポイント】平均順位が必要な統計処理以外では、RANK.EQ関数を基本にすると管理しやすくなります。

 

順位表示で起こりやすいエラーと対処

続いては、RANK関数で順位が正しく出ないときに確認したい原因と対処方法を解説していきます。

確認項目 起こりやすい問題 見直す内容
比較範囲 コピー後に範囲がずれる 絶対参照
データ形式 数値が文字列扱い 数値への変換
同点 順位が飛ぶ 欠番の仕様確認

 

比較範囲のずれと絶対参照漏れ

順位が行ごとに不自然に変わる場合は、比較範囲の絶対参照が漏れている可能性があります。

数式をコピーした後にC3セルを選択し、比較範囲が$B$2:$B$6のままかを確認します。

B3:B7のように変わっている場合は、コピー元の式にドル記号を付け直します。

行だけを固定したい、列だけを固定したいという場面では複合参照も利用できます。

ただし、縦方向に順位式をコピーする一般的な表では、列と行の両方を固定する絶対参照が最もわかりやすい方法です。

順位がおかしいと感じたら、まず数式そのものではなく比較範囲のずれを疑うと効率的です。

【操作のポイント】数式を一つ下のセルまでコピーした直後に、参照範囲が固定されているかを確認します。

 

文字列の数値と空白セルの確認

数値が文字列として保存されていると、計算結果が期待通りにならない場合があります。

セル内の数値が左寄せで表示される、セル左上に緑の三角がある、といった状態は確認の目安です。

警告アイコンが表示された場合は、数値に変換する操作を選択できます。

文字列の前後に余分な空白が含まれているケースもあります。

データを外部システムから貼り付けたときは、表示形式だけでなくセルの実データを確認しましょう。

また、比較範囲の中にエラー値が含まれると、順位計算にもエラーが連鎖することがあります。

空白セルを含むこと自体は多くの場合で問題になりませんが、順位を表示する対象セルが空白なら、空白表示にする数式を組み合わせると実用的です。

=IF(B2=””,””,RANK.EQ(B2,$B$2:$B$6,0))

【操作のポイント】データ貼り付け後は、数値の左寄せ、緑の三角、エラー表示を順に確認します。

 

条件付き書式による上位順位の見やすさ

順位を表示するだけでなく、上位者を色で目立たせると一覧表の視認性が高まります。

順位列を選択して条件付き書式を設定すれば、1位から3位までを異なる色で表示することもできます。

たとえば1位のセルを濃い色、2位と3位を淡い色にすると、ランキングの傾向をすばやく把握できます。

ただし、色だけで順位を伝えようとすると、印刷時や白黒表示で区別しにくくなります。

順位の数値を必ず残し、色は補助情報として使う方法が安心です。

順位列は数値で明確に示し、条件付き書式は見つけやすくするための補助にします。

並べ替えを行う場合も、順位列だけでなく氏名や商品名を含む表全体を選択して実行しましょう。

一部の列だけを並べ替えると、氏名と点数の対応が崩れるおそれがあります。

【操作のポイント】条件付き書式を設定した後も、順位の算出対象と比較範囲が変わっていないかを確認します。

 

まとめ エクセル順位の出し方とRANK関数の自動表示方法

Excelで順位を自動表示したいときは、RANK.EQ関数を使うと、点数や売上額などの数値をもとに順位をすばやく求められます。

最高点や最大値を1位にする場合は、=RANK.EQ(B2,$B$2:$B$6,0)のように第3引数へ0を指定します。

最低点、最短時間、最小コストなどを1位にする場合は、第3引数へ1を指定します。

比較範囲を$B$2:$B$6のような絶対参照にしておくことが、オートフィルで正しく順位をコピーする重要なポイントです。

同点があるとRANK.EQ関数では同順位になり、次の順位が欠番になります。

これは正常な仕様であり、同点時の順位ルールに合っているかを確認して使いましょう。

数値が文字列として保存されていないか、見出し行を比較範囲へ含めていないか、コピー後に参照範囲がずれていないかも重要な確認項目です。

RANK関数を活用すれば、データの追加や点数の変更後にも順位表を自動更新できます。

まずは小さなサンプル表で数式を入力し、最高点と最低点の両方で順位表示を試してみましょう。

ABOUT ME
white-circle7338
私自身が今まで経験・勉強してきた「エクセル」「ビジネス用語」「生き方」などの情報を、なるべくわかりやすく、楽しく、発信していきます。 一緒に人生を楽しんでいきましょう