ビジネスシーンや学校の成績管理などで、「誰が何位なのか」「どの商品が一番売れているか」を瞬時に把握したい場面は多いものです。大量の数値データを一つひとつ目で追って順位をつけるのは非常に時間がかかりますし、入力ミスが起こるリスクもあります。
そんなときに便利なのが、Excelの「RANK関数」です。この関数を使えば、複雑な並べ替え操作をしなくても、指定した数値が全体の中で何番目にあたるのかを自動で算出できます。
この記事では、Excelで順位をつけるための基本操作から、間違いやすい設定ポイント、そして似た関数である「RANK.EQ」や「RANK.AVG」との違いについて、初心者の方にも分かりやすく丁寧に解説します。
RANK関数とは?順位付けできる便利な機能
RANK関数は、指定した数値が特定のデータ範囲の中で「何番目に大きいか(あるいは小さいか)」を返す関数です。
通常、順位を出すためにはデータを「並べ替え(ソート)」する必要がありますが、RANK関数を使えば、元のデータの並び順を変えたままで相対的な位置(順位)を出すことができます。
例えば、以下のようなケースで非常に役立ちます。
- 社員別の契約件数から、成績順のランキングを作成したいとき
- テストの点数一覧から、クラス内での順位を算出したいとき
- 商品の販売数から、売れ筋商品トップ10を抽出したいとき
手作業でカウントすれば数分、数十分かかる作業も、関数を使えば一瞬で完了し、さらに元の数値が変更されたときには順位も自動的に更新されるため、非常に効率的です。
RANK関数の基本的な使い方と引数の意味
RANK関数の一般的な入力形式(書式)は以下の通りです。
`=RANK(数値, 参照, [順序])`
関数の中にある「数値」「参照」「順序」という3つの要素(引数)に何を入れればよいのか、詳しく見ていきましょう。
1. 数値:順位を知りたい数字
ここには、全体の中で何位なのかを調べたい「対象のセル」を指定します。例えば、「佐藤さんの点数が何位か」を知りたい場合は、佐藤さんの点数が入力されているセルを選択します。
2. 参照:比較する全体のデータ範囲
順位付けの裏付けとなる、比較対象の全データが入った範囲を指定します。例えば、クラス全員の点数が入力されている列全体(例:B3からB20まで)を選択します。
3. 順序:大きい順か、小さい順か
ここには、「降順」にするか「昇順」にするかを決める数値を入れます。
- 「0」または省略した場合:降順(数値が大きい方が1位になります。テストの点数や売上金額などに向いています)
- 「1」を入れた場合:昇順(数値が小さい方が1位になります。タイムを競うレースや、コストの低さを競う場合に向いています)
基本的には、この3つの要素を正しく指定することで、Excelが自動的に計算して順位を返してくれます。
RANK.EQとRANK.AVGの違いとは?
最近のExcel(Excel 2010以降)では、従来のRANK関数に加えて、「RANK.EQ」と「RANK.AVG」という2つの関数が推奨されています。関数を入力しようとして候補に「RANK」が出てこない場合は、このどちらかを使うことになります。
どちらを使うべきかは、「同じ数値(同順位)があったときにどう表示させたいか」によって決まります。
RANK.EQ関数(一般的な順位付け)
RANK.EQの「EQ」はEqual(等しい)を意味します。同じ値がある場合に「同じ順位」を返し、その分だけ次の順位を飛ばす、私たちが日常的に使っている最も一般的な順位付け方法です。
例:1位が1人、2位が2人いた場合 順位は 「1位」「2位」「2位」「4位」 となります(3位が飛ばされます)。
RANK.AVG関数(平均順位を出す)
RANK.AVGの「AVG」はAverage(平均)を意味します。同順位となった値に対して、その順位の「平均値」を返します。こちらは統計処理などで使われることが多い関数です。
例:1位が1人、2位が2人いた場合 2位の2人は、(2位+3位)÷ 2 = 「2.5位」 と表示されます。
通常のランキング表を作成する場合は、RANK.EQ関数(または従来のRANK関数)を選べば間違いありません。
実践!RANK関数で順位を出すときの手順
具体的に、テストの点数表で順位を出す流れをシミュレーションしてみましょう。
ステップ1:関数を入力する
順位を表示させたいセル(例:C3セル)を選択し、以下のような数式を入力します。 `=RANK.EQ(B3, $B$3:$B$10, 0)` ※B3は佐藤さんの点数、B3:B10はクラス全員の点数範囲、0は降順という意味です。
ステップ2:絶対参照($マーク)を忘れない
ここが最大の注意点です。「参照」で指定する範囲(B3:B10)を選択した後、F4キーを押して「$B$3:$B$10」のように絶対参照にしてください。
なぜなら、通常の「相対参照」のままだと、オートフィルで数式を下方向にコピーした際、参照範囲まで一緒に下にずれてしまうからです。参照範囲がずれると、正しい全体の中での順位が計算できず、エラーや誤った数値が表示される原因になります。
ステップ3:オートフィルでコピーする
1人目の順位が出せたら、セルの右下隅にある小さな四角(フィルハンドル)を下にドラッグして、他の全員分にも数式を反映させます。これで、一瞬で全員の順位付けが完了します。
よくある悩みと対処法
RANK関数を使っていると、いくつか困った場面に遭遇することがあります。その解決策をご紹介します。
同順位(重複値)をなくしたい
RANK関数では、同じ数値には必ず同じ順位がつきます。もし「1位、2位、3位……」と重複なく順位をつけたい場合は、関数単体では不可能です。
一つの対策としては、「第2条件」を設けることです。例えば、「合計点数が同じ場合は、数学の点数が高い方を上位にする」というルールを決め、参照する値を工夫することで、同値を避けることができます。
文字列が混ざっているとどうなる?
参照範囲に数値ではなく「欠席」などの文字が入っている場合、RANK関数はそのセルを無視して順位を付けます。ただし、数値を入れるべきセルに予期せぬ文字列が入っていると、計算結果に影響が出る可能性があるため、データクレンジング(不要な文字の削除)を行ってから関数を適用することをお勧めします。
順位が出ない・エラーになる
最も多い原因は、前述した「絶対参照」の指定漏れです。上のセルでは正しく順位が出ているのに、下のセルに行くほど順位がおかしくなる場合は、数式の中の参照範囲に「$」マークがついているか確認してください。
まとめ
ExcelのRANK関数(およびRANK.EQ / RANK.AVG)を使えば、膨大なデータの中から瞬時に順位を割り出すことができます。
ポイントをまとめると以下の通りです。
- 基本は「=RANK(数値, 参照, 順序)」の形式で入力する。
- 大きい順なら「0(または省略)」、小さい順なら「1」を指定する。
- 参照範囲には必ず「F4キー」で絶対参照($マーク)をつける。
- 一般的な順位付けなら「RANK.EQ」、統計的な平均順位なら「RANK.AVG」を使う。
この関数を使いこなせるようになれば、売上管理や成績表の作成時間が大幅に短縮され、データの分析に時間を割けるようになります。まずは簡単な表から、ぜひ試してみてください。
ピックアップ記事



