第1章:RANK関数って何?基本をおさらいしよう
Excelを使っていて、売上や点数の順位を出したいというシーンはよくありますよね。そんなときに使えるのが「RANK関数」です。RANK関数は、あるデータが全体の中でどのくらいの順位に位置しているかを求めてくれる関数で、基本的なデータ分析や業績比較にとても便利な存在です。
ただし、現在のExcelでは従来の「RANK関数」は推奨されておらず、代わりに「RANK.EQ」関数と「RANK.AVG」関数が使われるようになっています。この記事では、それぞれの関数の使い方と違いについて詳しく説明していきますが、まずはRANK関数の基本からしっかり押さえておきましょう。
順位を求めるってどういうこと?
例えば、次のような営業成績の表があったとします:
| 名前 | 売上(万円) |
|---|---|
| 田中 | 120 |
| 佐藤 | 150 |
| 鈴木 | 150 |
| 高橋 | 100 |
このデータで、各営業担当者の売上順位を出したい場合に登場するのがRANK系関数です。Excelに数式を入力することで、自動的に順位が計算されます。以前は単純に「RANK(数値, 範囲, 順位の順序)」という形でした。
昔のRANKと今のRANK.EQ・RANK.AVGの違い
以前のExcelでは「RANK関数」だけで順位が求められました。しかし、Excel 2010以降では、「RANK関数」は旧方式として扱われ、代わりに次の2つの関数が主に使われるようになっています:
- RANK.EQ関数… 同じ値に同じ順位を与える(順位の飛び有)
- RANK.AVG関数… 同じ値の順位を平均化する(順位の飛びが穏やか)
それぞれ細かい仕様が異なるため、使いどころに応じて正しく選ぶことが重要です。間違った関数を使うと、集計がおかしくなったり、不公平な順位表になってしまうこともあるため注意が必要です。
RANK関数の基本構文
=RANK(number, ref, [order])
この構文の意味は次の通りです:
- number:順位を求めたい数字(セル)
- ref:対象となる数字の範囲(例えば売上の列)
- order:省略可能。「0」か省略で降順、「1」で昇順
現在は、この基本構文をベースにした「RANK.EQ」と「RANK.AVG」がそれぞれ登場し、さらに集計の方法に柔軟性が加わっています。
次章では、「RANK.EQ関数」がどのような特徴を持ち、どう使えばいいのかを具体的な例とともに解説していきます。
第2章:RANK.EQ関数の特徴と使い方
「RANK.EQ関数」は、Excelで順位を求めるための代表的な関数の1つです。第1章でも触れた通り、同じ値に同じ順位を与える特徴があり、現在のExcelでは標準的に使用されています。ここでは、RANK.EQ関数の特徴と基本的な使い方を、実務で使える視点から解説していきます。
RANK.EQ関数の構文
=RANK.EQ(number, ref, [order])
- number:順位を調べたいセルの値
- ref:比較対象となるセル範囲(順位付けの対象)
- order:省略可能。0または省略 → 降順(大きい値が上位)、1 → 昇順(小さい値が上位)
通常、「売上金額」や「スコア」など大きい数値ほど上位になるケースが多いので、orderは省略または「0」を指定することが一般的です。
実例で学ぶRANK.EQ関数の使い方
次のような営業成績の表があるとします(第1章と同じデータに基づいていますが、今度は順位を求めてみます):
| 名前 | 売上(万円) | 順位 |
|---|---|---|
| 田中 | 120 | =RANK.EQ(B2, $B$2:$B$5, 0) |
| 佐藤 | 150 | =RANK.EQ(B3, $B$2:$B$5, 0) |
| 鈴木 | 150 | =RANK.EQ(B4, $B$2:$B$5, 0) |
| 高橋 | 100 | =RANK.EQ(B5, $B$2:$B$5, 0) |
それぞれの売上に対して、順位をRANK.EQで求めています。この場合、佐藤さんと鈴木さんは同じ150万円の売上なので、同じ「1位」になります。一方、田中さんは3位、高橋さんは4位になります。
ただし、ここで注意したいのは順位の飛びです。1位が2人いるため、次の順位は「2位」ではなく、スキップして「3位」になります。これがRANK.EQの大きな特徴と言えるでしょう。
こんな時にRANK.EQが便利!
RANK.EQは、以下のような状況で活用しやすいです。
- 営業成績やテストの順位:同点なら同じ順位にしたい場合
- 達成率や成績表の比較:明確に「誰が何位」かを示したいとき
- インセンティブの判定:上位◯位までボーナスを出すといった処理の際
結果がはっきりした「順位付け」が必要なシーンでは、このRANK.EQの特性が非常に役立ちます。
注意点:順位の重複とデータ処理の工夫
RANK.EQ関数では順位が重複するため、「◯人まで表彰」といったケースでは少し工夫が必要です。例えば、1位が2人、3位が1人の場合、表彰人数の数に思った以上の偏りが出ることもあります。
このようなときは、順位の次に並び替え条件(たとえば名前の昇順など)を別途設定して、並べ替えによる補足順位付けや、後述するRANK.AVG関数との併用を検討するのも有効です。
次章では、順位の「重複」に対して平均的な順位を割り当てるRANK.AVG関数について、さらに深掘りしていきます。
第3章:RANK.AVG関数の特徴と使い方
「RANK.AVG関数」は、RANK関数のバリエーションのひとつで、同じ値に対して平均順位を割り当てる特徴を持つ関数です。前章のRANK.EQ関数では、同じ値に同じ順位をつける一方で次の順位をスキップしていましたが、RANK.AVG関数ではそのスキップを防ぎ、より均等な順位付けが可能になります。
RANK.AVG関数の構文
=RANK.AVG(number, ref, [order])
- number:順位を計算したい数値またはセル
- ref:比較対象となるセル範囲
- order:省略可能。0または省略 → 降順(高い値が上位)、1 → 昇順
基本的な使い方はRANK.EQ関数と同様ですが、返される順位が平均値になるのが最大の違いです。同点がある場合に、均等なランク付けをしたいときに最適です。
実例で見るRANK.AVG関数
では、実際に使い方を具体的に見てみましょう。以下は第1章・第2章と同じ営業成績データを用いています。
| 名前 | 売上(万円) | 順位(RANK.AVG) |
|---|---|---|
| 田中 | 120 | =RANK.AVG(B2, $B$2:$B$5, 0) |
| 佐藤 | 150 | =RANK.AVG(B3, $B$2:$B$5, 0) |
| 鈴木 | 150 | =RANK.AVG(B4, $B$2:$B$5, 0) |
| 高橋 | 100 | =RANK.AVG(B5, $B$2:$B$5, 0) |
佐藤さんと鈴木さんは、同じく150万円の売上で最も高い値を持っています。本来であれば1位ですが、2人いるため順位「(1位+2位)/2 = 1.5」として計算されます。したがって、佐藤さんと鈴木さんには平均の順位1.5位が割り当てられます。
田中さんは3番目に位置する売上なので3位、高橋さんは最下位で4位という結果になります。
RANK.EQとの違いはここにある
RANK.EQでは、同順位が複数いた場合に次の順位がスキップされるという特徴があり、例えば1位が2人いたら次は「3位」になります。しかしRANK.AVGを使うと、同順位者に平均順位を与えるため、順位の飛びが発生しません。
この特徴によって、並べ替えや平均順位の視覚的なバランスが良くなり、ランキング表の見た目を滑らかに整えたい場合に非常に適しています。
RANK.AVGが活躍するシーン
RANK.AVG関数は以下のようなシチュエーションで活用されます。
- アンケート集計:複数人が同点になるユーザー評価に使いたいとき
- 大学の成績換算:順位の「飛び」を避けたいケース
- プレゼン評価:スムーズで違和感のないスコア付けをしたいとき
たとえば、イベントのプレゼン審査で、順位がつかない同点が出る場合に、RANK.AVGを使えば公正な平均評価を反映できます。視覚的にも自然で、受け入れられやすいランキングが完成します。
注意点:小数点の処理や後続の分析に配慮しよう
RANK.AVGの特性上、小数点のある順位が出ることがあります。たとえば「1.5位」のように中間的な順位になることがあり、これを整数に変換したい場合は、ROUNDやINT関数と併用するのも一つの手段です。
また、掲載順位をそのまま使って補助金やインセンティブを決めるなど、最終決定に影響する処理がある場合には、あらかじめどの関数を使うべきかを関係者とすり合わせておきましょう。
次章では、ここまでで紹介したRANK.EQ関数とRANK.AVG関数を、具体例を使って徹底的に比較していきます。それぞれの関数がどのように違うのか、データがどう変わるのかをしっかり確認していきましょう。
第4章:RANK.EQとRANK.AVGの違いを徹底比較!
ここまでで、RANK.EQ関数とRANK.AVG関数の個別の特徴と使い方を学んできました。しかし、実務でどちらを使えばいいか悩む場面も少なくありません。この章では、具体的なサンプルデータを使って、両関数の動作の違いを視覚的・数値的に比較しながら解説します。違いが一目でわかるようにすることで、あなたのExcelスキルをさらに一歩アップさせましょう!
まずは同じデータで比較してみよう
以下のデータは、これまでの章と同じ営業実績表です。今回はこの表に対して、RANK.EQとRANK.AVGでそれぞれ順位を付けた結果を並べてみます。
| 名前 | 売上(万円) | RANK.EQ順位 | RANK.AVG順位 |
|---|---|---|---|
| 田中 | 120 | 3 | 3 |
| 佐藤 | 150 | 1 | 1.5 |
| 鈴木 | 150 | 1 | 1.5 |
| 高橋 | 100 | 4 | 4 |
同じ売上である佐藤さんと鈴木さんの順位に注目してください。RANK.EQでは両者とも「1位」、次の田中さんはスキップして「3位」になります。一方、RANK.AVGでは1位と2位の平均で「1.5位」となり、田中さんはちゃんと3位として評価されます。
違いを図解で理解しよう
以下は、RANK.EQとRANK.AVGの順位付けのイメージを簡単に図にしたものです。
【RANK.EQ】 150 → 1位(佐藤) 150 → 1位(鈴木) 120 → 3位(田中) ※2位は飛ばされる 100 → 4位(高橋) 【RANK.AVG】 150 → 1.5位(佐藤) 150 → 1.5位(鈴木) 120 → 3位(田中) ※順位は連続 100 → 4位(高橋)
非常に似ているようでいて、集計結果やランキングの「見せ方」には明確な違いがあります。順位が飛ぶか/飛ばないかが大きなポイントですね。
どちらが「正しい」とは限らない
重要なのは、どちらの関数が「優れている」というわけではなく、使う目的や文脈に応じて適切な関数を選ぶことです。
- 順位の厳密さ・順位飛びも含めた明確な差を表現したい場合 → RANK.EQ
- 同点者がいても、順位を平均して公平感を演出したい場合 → RANK.AVG
たとえば、営業インセンティブの対象者を決める場合は、RANK.EQを使って上位◯名をはっきりと分ける方が適当かもしれません。一方、社内表彰などで「同点の人は同等に評価してあげたい」という配慮が必要なときは、RANK.AVGで穏やかな順位付けをする方が良いでしょう。
並べ替えやグラフへの影響にも注目
また、Excelで並べ替えやグラフ化をするときにも両者に違いが出てきます。RANK.EQは整数で順位が明確なので、グラフ上ではっきりしたランク序列を表示できます。一方で、RANK.AVGは小数点を含む順位が出るため、滑らかな折れ線グラフや散布図などと相性が良かったりします。
Excelを単なる表計算に留めず、伝わりやすい資料や分析結果に昇華させたい方は、この視点も持っておくと◎です。
次章では、実際にどんな業務シーンでどちらの関数を使うべきか、実務ベースの判断ポイントを紹介します。あなたの現場での判断に役立つヒントになるはずです。
第5章:こんなときはどっちを使う?ビジネスでの実践的な使い分け方
ここまで「RANK.EQ関数」と「RANK.AVG関数」の特徴や違いについて見てきましたが、20代サラリーマンとして日々Excelを使っている読者の皆さんにとって一番気になるのは、「実務でどちらを使うべきか?」という点ではないでしょうか。この章では、実際のビジネスシーンを想定して、両関数の“使いどころ”を具体的に解説します。
シーン1:営業成績ランキングでインセンティブを決める場合
たとえば、営業部で「月間売上トップ3にボーナスを支給する」といった制度を導入するとします。このとき、同点者が出た場合の扱いが非常に重要です。
- RANK.EQ関数が向いているケース:インセンティブの対象人数が定められており、同順位者がいても「上位3名」をはっきり区別したい場合。例)2人が1位なら、次は3位とし、4位は対象外とする厳密な扱い。
- RANK.AVG関数が向いているケース:売上が同じなら平等に扱いたいという前提があり、ハードルをやや緩めに設定したい場合。例)150万円の売上を出した2名を「1.5位」として上位3人枠に含める柔軟な評価。
シーン2:社員の評価レポートや社内表彰資料の作成
次に、社内報や月次レポートで「頑張った社員のランキング」を公表するような場面を考えてみましょう。この場合、順位は公正であることはもちろんですが、「見た目の美しさ」や「受け入れやすさ」も重要になります。
このようなケースでは、 RANK.AVGのほうがマイルドな印象を与えるためオススメです。同順位者がいた場合も順位の飛びがなく、ランキング表が滑らかに見えるため、社内への印象も良くなります。
シーン3:分析レポートでデータの傾向を表示したい場合
アクセス解析や販売分析など、定量データを扱うレポートでは、それぞれのデータポイントの「相対的な位置付け(順位)」もグラフとして視覚化したくなる場面があります。このときは、どちらの関数を使うかがグラフの見栄えにも関わってきます。
- グラフで順位の明確な区分を見せたい場合:RANK.EQ(順位が整数なため、棒グラフやランク表示に適している)
- 滑らかなトレンドや分布の傾向を見せたい場合:RANK.AVG(浮動小数で滑らかな折れ線グラフや散布図に適している)
シーン4:Excelを共同利用する場合の注意点
複数人でひとつのExcelファイルを扱う場面(チームでの集計ファイル作業など)では、使用する関数の仕様説明を明記しておくとトラブルを防げます。
例えば「この順位はRANK.AVGに基づいています」と注釈すれば、小数点入りの順位値に「バグでは?」と誤解されるリスクも軽減されます。軽視されがちですが、情報共有の観点からも関数の選定と説明は重要要素です。
まとめ:選び方は「目的」次第
最後に、両関数の選び方を簡単にまとめておきましょう。
| 関数 | 特徴 | 向いているシーン |
|---|---|---|
| RANK.EQ | 同値は同順位、次の順位をスキップ | 営業成績、表彰対象の厳密な順位決定 |
| RANK.AVG | 同値の場合は平均順位、小数になる | 社内表彰、分析資料、見た目の整った資料作成 |
判断に迷ったときは、「誰に見せるのか」「何を示したいのか」を考えてみてください。それが関数選びの最大のポイントになります。
Excelの関数はただの計算ツールではなく、意図を伝えるための表現方法でもあります。適切な関数を使いこなして、あなたのレポートや資料に説得力を加えていきましょう!


コメント