excel

【Excel】エクセルで順位を付ける方法・出し方(RANK関数・大きい順・小さい順・同点・同順位・ランキング)

エクセルで順位を付けるRANK関数の基本
当サイトでは記事内に広告を含みます

Excelで売上やテストの点数、作業時間などを比較するとき、順位を自動で表示できると集計が見やすくなります。

順位付けにはRANK関数を使う方法が基本ですが、並べ替えとの違い、同点時の扱い、大きい順と小さい順の指定など、確認したい点も少なくありません。

Excelで順位を出すポイントは、順位を付けたい数値、比較する範囲、並び順の指定を正しく設定することです。

点数や売上は大きい順、タイムや順位番号は小さい順にする場面が多いため、第三引数の指定を使い分けます。

この記事では、RANK関数を使ったランキングの作り方から、同点の順位、連番にする応用方法までを順番に解説します。

 

エクセルで順位を付けるRANK関数の基本

それではまず、Excelで数値から順位を付ける基本操作について解説していきます。

氏名 点数 順位
田中 92 1
佐藤 85 2
鈴木 78 3
高橋 66 4

この例では、A列に氏名、B列に点数、C列に順位を表示するものとします。

 

RANK関数の書式

RANK関数は、指定した数値が比較範囲の中で何位になるかを返す関数です。

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

数値には順位を調べたいセルを指定し、参照には比較対象となる数値の範囲を指定します。

順序は大きい順か小さい順かを決める引数で、省略または0なら大きい順、1なら小さい順です。

点数や売上のように数値が大きいほど上位になる項目では、順序を0または省略にします。

たとえばC2セルに順位を表示する場合、B2からB5までの点数を比較対象にする数式を入力します。

=RANK(B2,$B$2:$B$5,0)

B2は田中さんの点数であり、$B$2:$B$5は全員分の点数を固定した比較範囲です。

この数式の結果は1となり、92点が4件の中で最も大きい数値だと判断できます。

 

絶対参照を使う理由

RANK関数を下方向へコピーするときは、比較範囲に$記号を付けた絶対参照を使うことが重要です。

比較範囲をB2:B5のように相対参照で入力したままコピーすると、2行目ではB3:B6、3行目ではB4:B7へと範囲がずれてしまいます。

範囲がずれると、各行で比較する人数が変わり、正しいランキングになりません。

$B$2:$B$5のように列と行の両方を固定すれば、どの行にコピーしても全員の点数を比較できます。

固定したい範囲をドラッグしたあとにF4キーを押すと、絶対参照へ切り替えられます。

ノートパソコンではFnキーとの組み合わせが必要な場合もあるため、数式バーで$記号が付いているか確認しましょう。

 

数式のコピーと順位表示

C2セルに数式を入力したら、セル右下の小さな四角であるフィルハンドルを下へドラッグしてコピーします。

またはC2セルをコピーし、順位を表示したい範囲を選択して貼り付けても構いません。

結果として、92点は1位、85点は2位、78点は3位、66点は4位と表示されます。

RANK関数は元の表を並べ替えずに順位だけを表示できるため、名簿順を保ちたい集計表にも便利です。

順位の後ろに位を付けたい場合は、別の列で文字列を作るか、セルの表示形式を活用します。

ユーザー定義の表示形式に 0″位” と入力すると、数値として扱いながら画面上では1位、2位のように表示できます。

【操作のポイント】

比較範囲は絶対参照にし、数式を入力した最初のセルからオートフィルで下へコピーすると効率的です。

エクセルで順位を付けるRANK関数の基本

 

大きい順と小さい順のランキング指定

続いては、RANK関数で大きい順と小さい順を指定する方法を確認していきます。

選手 記録時間 順位
山田 58.2 2
伊藤 55.8 1
加藤 61.4 3
64.0 4

この例では、B列の記録時間が短い人ほど上位になるため、小さい順の順位を作成します。

 

大きい順にする第三引数

売上金額、得点、アクセス数、評価点などは、一般に数値が大きいほど上位です。

この場合はRANK関数の第三引数に0を指定します。

=RANK(B2,$B$2:$B$5,0)

第三引数を省略した場合も、Excelでは0を指定した場合と同じ大きい順になります。

ただし、数式を見た人が意図を判断しやすいように、0を明記しておくと管理しやすくなります。

大きい順では最大値が1位となり、最小値に近づくほど順位の数字が大きくなります。

たとえば売上が120万円、98万円、75万円なら、それぞれ1位、2位、3位です。

金額に円マークや桁区切りが表示されていても、セルに実際の数値が入っていれば問題なく順位を計算できます。

 

小さい順にする第三引数

タイム、納期までの日数、不良件数、順位番号などでは、小さい数値を上位として扱うことがあります。

この場合は第三引数に1を入力します。

=RANK(B2,$B$2:$B$5,1)

55.8秒、58.2秒、61.4秒、64.0秒の記録なら、55.8秒が1位になります。

小さい順にしたいのに第三引数を省略すると、順位が反対になるため注意が必要です。

日付を使って早い順に順位を付けるときも、Excel内部では日付が連続した数値として保存されているため、第三引数を1にすれば早い日付が1位になります。

ただし、文字列として入力された日付は正しく比較できないことがあるため、表示形式ではなくデータ型も確認しましょう。

 

並べ替えとの使い分け

順位を出す方法には、データタブの並べ替えを使う方法もあります。

並べ替えは一覧を上位順に並べ直したいときに向いており、RANK関数は現在の行順を維持したまま順位列を追加したいときに向いています。

元の入力順や担当者別の並びを残したい表では、並べ替えよりRANK関数が扱いやすいでしょう。

一方で、ランキング表として上位者から見せたい場合は、RANK関数で順位列を作ったあと、その順位列を昇順で並べ替える方法が実用的です。

数式で順位を作成してから並べ替えると、同点の処理や補助列の条件も表に残せます。

【操作のポイント】

売上や点数は0、タイムや日数は1というように、何を上位と見なすかを数式入力前に決めます。

大きい順と小さい順のランキング指定

 

同点と同順位の扱い

続いては、同じ数値がある場合の順位表示について解説していきます。

氏名 売上 順位
小林 500000 1
吉田 420000 2
山本 420000 2
中村 350000 4

同点者を含むランキングでは、RANK関数の標準的な動きを理解しておくと、表示結果に迷いません。

 

RANK関数で同順位になる仕組み

RANK関数では、比較する数値が同じなら同じ順位が返されます。

上の例では、吉田さんと山本さんはともに42万円なので、どちらも2位です。

次の35万円は4位となり、3位は表示されません。

RANK関数は競技順位でよく使われる飛び順位の形式になり、同順位の人数分だけ次の順位が飛びます。

この結果は関数の誤りではなく、同点を同順位として扱う通常のルールです。

社内表彰や試験の成績表などで同点者を同列に扱う場合は、そのまま利用できます。

 

同点を連番にする補助列

同じ数値があっても1位、2位、3位のように必ず連番で表示したいケースもあります。

その場合は、RANK関数だけではなくCOUNTIF関数を組み合わせます。

=RANK(B2,$B$2:$B$5,0)+COUNTIF($B$2:B2,B2)-1

前半のRANK関数で基本順位を出し、後半のCOUNTIF関数で同じ数値が何回目に登場したかを数えます。

最初の42万円は2位のままですが、2人目の42万円には1が加算されて3位になります。

同点を入力順で連番化したいときは、COUNTIFの範囲の開始セルだけを絶対参照にします。

この方法では、データの並び順が同点者の優先順になります。

五十音順、受付順、担当者コード順などを先に整えておけば、意図した順番で連番を付けられます。

 

平均順位を使う場面

ExcelにはRANK.AVG関数もあり、同点者の順位を平均値で表示できます。

=RANK.AVG(B2,$B$2:$B$5,0)

たとえば2位と3位に同点者が並ぶ場合、両者に2.5位を返す形式です。

統計処理や順位相関などで平均順位が必要なときに活用できます。

一般的な売上ランキングや成績一覧ではRANK、統計的な順位処理ではRANK.AVGを検討すると分かりやすいです。

ランキングのルールは、作成者だけでなく表を見る人にも伝わるように、表の近くへ同点時の扱いを記載しておくと親切です。

【操作のポイント】

同点を同順位にするならRANK関数、入力順で連番にするならRANK関数とCOUNTIF関数を組み合わせます。

同点と同順位の扱い

 

RANK関数の入力とオートフィル操作

続いては、数式を入力して下の行までコピーする実際の操作を確認していきます。

商品名 販売数 順位
商品A 125
商品B 98
商品C 146
商品D 87

1行目に見出しがあり、B2からB5に販売数、C2からC5に順位を入力する想定です。

 

先頭セルへの数式入力

まず、順位を表示する先頭のC2セルをクリックします。

数式バーまたはセルに、=RANK(B2,$B$2:$B$5,0)と入力してEnterキーを押します。

C2には、商品Aの販売数125が4商品中で何位かを示す2が表示されます。

数式中の最初のB2は判定対象、$B$2:$B$5は全商品を比べる範囲という役割です。

参照範囲を選択する際は、数式入力中にB2からB5をドラッグして指定することもできます。

その後にF4キーを押して絶対参照へ変更すると、入力ミスを抑えやすくなります。

 

フィルハンドルによるコピー

C2セルを選択すると、右下に小さな四角形のフィルハンドルが表示されます。

この四角形をC5までドラッグすると、数式が各行へコピーされます。

隣接するB列に連続データがある場合は、フィルハンドルをダブルクリックしても、データ末尾まで自動コピーできます。

コピー後はC3以降の最初の参照だけがB3、B4、B5へ変わり、比較範囲は$B$2:$B$5のまま残ることを確認します。

売上ランキング.xlsx – Excel − □ ×
ファイル ホーム 挿入 ページ レイアウト 数式 データ 校閲 表示  数式  太字 罫線 配置
fx =RANK(B2,$B$2:$B$5,0)
A B C
1 商品名 販売数 順位
2 商品A 125 2
3 商品B 98
4 商品C 146
5 商品D 87
C2へ数式を入力

画面ではC2の数式結果を確認してから、フィルハンドルを使って下のセルへ展開します。

 

エラーと空白セルの確認

RANK関数の結果が期待と異なる場合は、数値が文字列として保存されていないか確認します。

セルの左上に緑色の三角があり、数値が文字列として保存されていますと表示される場合は、警告アイコンから数値に変換できます。

空白セルは通常の数値より下位として扱われる場合がありますが、表の範囲やデータ内容によって確認が必要です。

集計対象に空白、エラー値、文字列が混在するとランキングが読み取りにくくなるため、事前にデータを整えることが大切です。

販売数が入力されている行だけに順位を表示したい場合は、IF関数で空白時の表示を制御できます。

=IF(B2=””,””,RANK(B2,$B$2:$B$5,0))

この数式ではB2が空白なら空白を返し、数値があるときだけRANK関数を計算します。

【操作のポイント】

先頭セルで結果と参照範囲を確認してからオートフィルを行うと、複数行の入力ミスを防げます。

 

ランキング表示を見やすくする応用

続いては、順位の数値を見やすいランキング表へ整える応用方法を確認していきます。

部署 目標達成率 順位 表示
営業一課 112% 1 1位
営業二課 104% 2 2位
営業三課 96% 3 3位

順位そのものに加えて、上位者を色分けしたり、順位の表示を整えたりすると、表の情報が伝わりやすくなります。

 

位を付ける表示形式

順位セルに1位や2位と表示したい場合、数式に文字列を追加する方法があります。

=RANK(B2,$B$2:$B$5,0)&”位”

ただし、この方法では結果が文字列になるため、順位を数値として並べ替えたり計算したりする用途には注意が必要です。

数値として順位を保持したいときは、数式を変えずにユーザー定義の表示形式で位を付ける方法が適しています。

セルの書式設定を開き、表示形式のユーザー定義で0″位”を設定すると、計算値は数値のまま画面だけ1位のように表示されます。

順位を別の関数で参照する可能性がある表では、この表示形式が扱いやすいでしょう。

 

条件付き書式による上位者の強調

上位3位までを目立たせたい場合は、条件付き書式を利用します。

順位列を選択してから、ホームタブの条件付き書式で上位10項目を選び、3に変更すると上位3件を強調できます。

色を付ける対象を順位列だけにするか、表全体にするかで見え方が変わります。

ランキング表では、順位の数字だけでなく氏名や商品名まで同じ色で強調すると、上位者を素早く確認できます。

表全体へ書式を適用する場合は、条件付き書式の数式ルールで=$C2<=3のように設定します。

C列が順位列なら、各行のC列が3以下のときに書式を適用できます。

 

複数条件での順位付け

売上が同じ場合は利益率が高い方を上位にするなど、複数条件で順位を決めたいこともあります。

この場合は、補助列を作って比較用の数値を用意する方法が分かりやすいです。

たとえば売上を優先し、同額なら利益率を比較する場合は、売上に十分大きな倍率を掛けてから利益率を加える補助値を作成します。

ただし、単位や小数点の扱いを誤ると意図しない順位になるため、補助値の設計は慎重に行いましょう。

複数条件のランキングでは、元データを並べ替える方法と補助列でRANK関数を使う方法を目的に応じて選びます。

並べ替えで十分な一覧なら、データタブの並べ替えで優先順位を追加する方が分かりやすいこともあります。

【操作のポイント】

順位は数値として残し、表示形式や条件付き書式で見た目を整えると、集計と閲覧の両方に対応できます。

 

まとめ エクセルで順位を付ける方法とランキングの出し方

Excelで順位を付ける基本は、RANK関数を使って比較したい数値と参照範囲を指定する方法です。

点数、売上、販売数のように大きい数値を上位にするなら第三引数は0、タイムや日数のように小さい数値を上位にするなら1を指定します。

比較範囲は$記号を付けた絶対参照にして、オートフィルでコピーしても範囲がずれないようにすることが重要です。

同点がある場合、RANK関数では同順位となり、次の順位が飛ぶ形式になります。

同点でも連番にしたいときは、COUNTIF関数を組み合わせて入力順の順位を作成できます。

表示形式で位を付けたり、条件付き書式で上位者を強調したりすると、ランキング表はさらに見やすくなります。

データの目的に合った順位ルールを決め、RANK関数を活用して正確で分かりやすい集計表を作りましょう。