「RANK.RQ」タグアーカイブ

Excel:RANK関数で順位を求める方法|同順位・連番処理・応用例まで徹底解説

Excelで順位を求めるにはRANK関数を使用することで可能となります。

RANK関数は「=RANK(数値, 参照, [順序])」の書式で入力します。

第3引数の順序には0(降順で並び替えて数値の大きい方から数えた順位) or 1(昇順で並び替えて数値の大きい方から数えた順位)を指定してます。省略した場合は降順での順位が表示されます。

1.RANK関数を使用して順位付けする例

  • 以下の例ではC2セルの書式へ「=RANK(B2,B$2:B$5,1)」を入力しています。

2. 同順位がある場合の扱い

「Excel の RANK 関数」を使うと順位が出せますが、同じ数値が複数ある場合、“同順位”となってしまい次の順位が飛ばされる仕様です(例:100 点・100 点・90 点 → 両100点が「1位」、90点は「3位」)。
この処理を “連続した順位” にしたい場合は以下のような式を併用できます:

上記は「現在行までに同じ点数が出た回数」を加算して、連番で順位を出す方法です。

解説

  • RANK(B2, B$2:B$5, 0):降順での順位を求める

  • COUNTIF(B$2:B2, B2):その点数が出た行数(上から順に)を数える

  • これらを組み合わせることで、同点なら「1位・1位・2位…」という形にすることができます。

サンプル

氏名点数順位(通常)順位(連番処理)
A10011
B10012
C9033
D8044

このように順位を整えたい場面では、上記式が役立ちます。


3. 順位 + タイ/位を「〇〇位」形式で表示する

順位の数字だけでは分かりづらいという場合、セル内で「1 位」「2 位」と“位”を付加して表示させると見栄えも良くなります。例えば、セル C2 に順位が出ているとして、次のように書けます:

さらに、順位によって色を変えたい場合(例:1 位→金色、2〜3位→銀・銅、4位以下→通常)には、条件付き書式を使うのが効果的です。

  1. 順位列を選択し、メニューから [ホーム] → [条件付き書式] → [新しいルール] を選択。

  2. “セルの値” → “次の値に等しい” → 「1」と入力 → 書式で塗りつぶしに金色を設定。

  3. 同様に「2」「3」で銀色・銅色を設定。
    これにより、順位が高いほど強調され、視覚的評価もしやすくなります。


4. 別シート/他列の参照を含む順位付け

大量データを処理する際、点数データが別シート/別列にあるケースがあります。その場合も RANK 関数は以下のように使えます。

このように、シート名を付加して参照範囲を指定すれば、データが別シートでも問題ありません。

また、対象の範囲が列全体(例:B列すべて)で、今後データが追加されることが確実な場合には、次のように「テーブル形式」に変換しておくと便利です。

  1. 点数の表全体を選択 → [挿入] → [テーブル]。

  2. テーブルに名前を付ける(例:tblScores)。

  3. 順位計算式を以下のように書く:

 
=RANK([@点数], tblScores[点数], 0)

このように “構造化参照” を使うことで、行が追加されても範囲が自動拡張され、式を再設定する必要がありません。


5. エラー/意外な結果を避けるためのチェックポイント

  • 空欄セルがある場合:参照範囲に空欄があると、予期せぬ順位(0や#N/A)が出ることがあります。空欄を除外したい場合は IF 関数で空欄なら空白返すなどの処理を追加します。例:

  • 文字列が混じっている場合:数値として扱われない文字列(例:「80点」など)があると、順位から除外されるか誤計算を招く恐れがあります。事前に VALUE 関数や 数値変換を行っておくと安心です。

  • 降順・昇順の誤指定:第3引数に「0(または省略)=降順」「1=昇順」を指定する点を誤ると、「点数の小さい方を1位にする」など逆の結果になることがあります。意図を明確にしておきましょう。

  • 重複データによる順位飛び:先に紹介した通り、同点がある場合には順位が飛びます。分析用途で「飛び」を避ける必要があるなら COUNTIF 併用の式を使ったほうが良いです。

  • データ追加・編集後の式の影響:データを追加・削除した際に順位表全体が意図せずずれてしまうことがあります。特に「相対参照/絶対参照」やテーブル化の有無を、あらかじめ確認しておくと安心です。


6. 実践的な活用シーンと応用アイデア

6-1. クラス/グループ別順位を出す

部門やクラスが複数ある中で「クラス内順位」や「部門内順位」を出したい場合、「条件付き RANK + SUMPRODUCT/COUNTIFS など」の組み合わせで実現できます。例:クラス別の点数表が Sheet1 にあって、クラスは列 C、点数は列 D の場合:

※ Excel の FILTER 関数が使えるバージョンの場合。旧バージョンの場合は SUMPRODUCT / COUNTIFS で代用可能です。

6-2. 順位をグラフで可視化する

順位が出たら、グラフ化してみると傾向把握がしやすくなります。例:順位変化を折れ線グラフにして「月ごとの点数アップ・ダウン」や「部門別・クラス別の成績変化」を視覚的に追うと、Excel資料としての説得力も増します。

6-3. 順位とスコアを使ったダッシュボード化

Excelの「ピボットテーブル+スライサー」と組み合わせると、例えば「今年度/昨年度」「クラス別/部門別」「男女別」のフィルタ付きダッシュボードが簡単に作れます。「トップ10だけ表示」「下位5だけ抽出」「点数の分布と順位の相関」などを可視化することで、管理資料やプレゼン資料としても活用可能です。


7. まとめ

「RANK 関数」だけでも順位を出すことは簡単ですが、実務レベルで使うには “同順位の扱い”“データ追加への耐性”“別グループ・条件での順位付け” といった点に注意が必要です。
今回紹介した方法を活用すれば、Excelでの順位付けがより自由度の高い形で実現できます。ぜひ、日常の資料作成や分析業務にお役立てください。