リテラアップダウンロード

エクセルで順位をつけるRANK関数の使い方|並び替えの方法など

エクセルで順位をつけるRANK関数

エクセルで順位をつけるRANK関数の使い方を紹介します。RANK関数を使う上で知っておいた方がよい注意事項や、具体的な使い方を実例付きで分かりやすく解説しています。

また、RANK関数で順位付けをした後に順位通りに並べる方法やエラーがでないようにする工夫も紹介していますのでぜひ参考にしてみてください。

エクセルで順位をつけるRANK関数とは

エクセルのRANK関数とは、指定した範囲内にあるデータの順位を求める関数です。

引数で指定することで昇順と降順を選択することが可能で、範囲内の順位を切り替えることができます。あるデータのランキング表を作成するのに適しています。

エクセルで順位をつけるRANK関数とは

また、指定範囲に同じ数字がある時は同順位になります。同じ順位の場合に平均値を表示するには、後述のRANK.AVG関数を使うとよいでしょう。

エクセルで順位をつけるRANK関数の書式

RANK関数の書式は、「=RANK(数値,参照,順序)」で3つの引数から成り立ちます。

「数値」には順位を知りたい数字を、「参照」には順位をつけたいデータの範囲を、「順序」では順番の付け方(小さい数から並べるのか、大きい数から並べるのか)を指定します。

それぞれ指定の仕方を詳しく見ていきましょう。

  • 第1引数:数値
  • 第2引数:参照
  • 第3引数:順序

第1引数:数値

第1引数は「数値」となっています。順位を知りたい数字をデータ範囲の中から選び、セル参照で指定しましょう。順位を知りたい数字があるセルを左クリックで選択すればOKです。

第2引数:参照

第2引数は「参照」となっています。ランキングを作成したい全データ範囲を指定します。後ほど詳しく解説しますが、コピー&ペーストで範囲がずれないように絶対参照を使用しましょう。

第3引数:順序

第3引数は「順序」となっています。これは順位の並べ方を「昇順」にするか「降順」にするか指定するものです。「0」または第3引数を省略すると降順になり、「0」以外の数値を入力すると昇順になります。

例えば、売上高が多い順番にランキングしたいような場合は「0」を、交通事故の少ない順にランキングしたいような場合は「0」以外の数字をいれましょう。

エクセルのRANK関数で順位をつける方法【実例】

それでは実際にRANK関数で順位をつける方法を、実例を交えて説明します。ここでは、売上データを用いて、月間売上が高い商品のランキングを作成します。

STEP.1
まずは順位をつけたいデータを準備します。データの隣に順位を表示させる欄を作成しましょう。

エクセルのRANK関数で順位をつける方法

STEP.2
「順位」の欄の一番上の行に「=RANK(D2,$D$2:$D$10,0)」と入力しましょう。売上が高い順番でランキングを作成するので第3引数の順序は降順の「0」を指定します。

また後ほど詳しく述べますが、第2引数の範囲はドルマーク「$」を使って絶対参照で指定するのを忘れないようにしましょう。

エクセルのRANK関数で順位をつける方法

STEP.3
残りのセルもオートフィル機能を使って関数をコピーしましょう。これで月間売上が高い方から順位付けされました。以上で操作は完了です。

エクセルのRANK関数で順位をつける方法

エクセルで順位をつけるRANK関数の注意点

エクセルのRANK関数を使う上で知っておきたい注意点を2つ紹介します。間違って使ってしまうと正しい順位が表示されなくなりますので、しっかり覚えておきましょう。

  • オートフィルでコピーする場合は参照を「絶対参照」にする
  • 同じ数字の場合は同じ順位で表示される

オートフィルでコピーする場合は参照を「絶対参照」にする

オートフィルでコピーする場合は参照を「絶対参照」にしましょう。これはどの関数にも共通していますが、範囲指定のある関数を相対参照のままコピー&ペーストしてしまうと範囲がずれてしまうので注意が必要です。

実際に相対参照で範囲指定をした関数をコピー&ペーストしてみましょう。範囲が「D2:D10」から「D10:D18」と1行ずつズレているのが分かります。順位の結果も正しくありません。

オートフィルでコピーする場合は参照を「絶対参照」にする

次に絶対参照で範囲指定をした関数をコピー&ペーストしてみましょう。アルファベットと数字の前に「$」を付ければOKです。

今度はデータ範囲が全て同じ「$D$2:$D$10」になり、ランキングしたいデータ範囲を固定することができます。これで順位も正しく表示されました。

オートフィルでコピーする場合は参照を「絶対参照」にする

第1引数の「数値」に関しては、入力した関数がある行のセルに応じて変化させたいので相対参照でよいのですが、第2引数の「参照」は関数が入力されているセルの場所によらず同じ範囲を使用するので絶対参照を使います。

同じ数字の場合は同じ順位で表示される

指定した範囲の中に同じ数字がある場合、同じ順位で表示されます。

例えば「1,3,3,5」というデータにRANK関数を降順で適用すると、画像のように「3」が同率2番目、「1」は4番目という結果になります。

同じ数字の場合は同じ順位で表示される

エクセルのRANK関数の応用【順位の並び替えなど】

これまでエクセルのRANK関数の基本的な内容を紹介しました。

次は、知っておくとより使い道が広がるRANK関数の応用的な内容を解説していきます。順位の並べ替えなど実用的な内容になっていますのでぜひ一度試してみてください。

  • RANK関数でつけた順位を並び替える方法
  • 数値の中に空白がある場合にエラー表示を防ぐ方法
  • 数値が0の場合は空白にする方法

RANK関数でつけた順位を並び替える方法

RANK関数でつけた順位通りにデータ全体を並び替える方法です。

まず、RANK関数で順位を表示させた列を選択します。

RANK関数でつけた順位を並び替える方法

次に、「データ」タブの中にある「並べ替えとフィルター」から「並べ替え」のアイコンを選択しましょう。順位を昇順にしたい場合は「A→Z」のアイコンを、降順に並べたければ「Z→A」のアイコンを左クリックします。

RANK関数でつけた順位を並び替える方法

「並べ替えの前に」と書かれた画面が開きますので「選択範囲を拡張する(E)」を選んで「並べ替え(S)」ボタンを押しましょう。

RANK関数でつけた順位を並び替える方法

これで順位通りにデータ全体を並べ替えることができました。

RANK関数でつけた順位を並び替える方法

数値の中に空白がある場合にエラー表示を防ぐ方法

数値の中に空白があるとエラーが出てしまいます。エラー表示を防ぐために IFERROR関数を使って、「エラーが出たら空白にする」条件を設定しましょう。

関数を入力する欄に「=RANK(数値,参照,順序)」の代わりに「=IFERROR(RANK(数値,参照,順序),””)」を入力します。例では「=IFERROR(RANK(D2,$D$2:$D$10,0),””)」となります。

数値の中に空白がある場合にエラー表示を防ぐ方法

残りのセルにも関数を入力し、これで空白セルを除いた順位付けをすることができます。

数値の中に空白がある場合にエラー表示を防ぐ方法

数値が0の場合は空白にする方法

データの中に「0」が存在していると、データ中の空白スペースにも順位がついてしまう現象が起こります。そこで数値が0の場合は空白として扱う方法です。

IF関数を使って、「0の場合は空白(””)にする」「それ以外はRANK関数を利用する」という条件を付け加え「=IF(数値=0,””,RANK(数値,参照,条件))」と入力します。

数値が0の場合は空白にする方法

例では「=IF(D2=0,””,RANK(D2,$D$2:$D$10,0))」となります。残りのセルにも関数を入力し、これで数値が0の場合は空白にして順位付けを行なうことができます。

数値が0の場合は空白にする方法

エクセルのRANK.AVG関数は同じ順位の場合に平均値を表示する

エクセルのRANK.AVG関数を使えば、同じ順位の場合に平均値を表示できます。同率〇位となる場合、順位に少数以下の数字が現れますので同順位の項目があることが把握しやすくなります。

RANK.AVG関数の書式は「=RANK.AVG(数値,参照,順序)」となっていてRANK関数と基本的に同じです。

例では「=RANK.AVG(D2,$D$2:$D$10,0)」と入力しています。RANK関数と同様に引数を設定して、残りのセルにも関数を入力すればOKです。

エクセルのRANK.AVG関数

これで同じ順位の場合に平均値が表示され、同順位が分かりやすい順位付けができました。例では同率の売上がある項目で「7.5」といった具合に「7」と「8」の順位の平均値が表示されています。

エクセルのRANK.AVG関数

エクセルで順位をつけるRANK関数についておさらい

エクセルで順位をつけることができるRANK関数の基本的な使い方から応用的なテクニック、注意点など幅広く解説しました。

世の中には売上高や営業成績、事故発生件数などランキングや順位付けすると理解が深まるデータがたくさんあります。RANK関数を上手に活用して、データ分析やモチベーションアップなどにつなげましょう。