「RANK関数で順位を出したいけれど、同じ値があったときの扱いがわからない」とお困りではありませんか。GoogleスプレッドシートのRANK関数は、数値の大きさに応じて順位を自動計算してくれる便利な関数です。しかし、同順位が発生した場合に「次の順位を飛ばす」「小数点以下の順位を表示する」など、結果をどのように調整するか迷うことも多いでしょう。この記事では、RANK関数の基本的な使い方から、同順位を制御するRANK.EQ・RANK.AVGの違い、そして結果を確認するための並べ替えや条件付き書式の活用方法までをわかりやすく解説します。
【要点】RANK関数で同順位を自在に扱うための3つのポイント
- RANK関数の基本構文: 引数に数値、範囲、順序を指定することで、降順または昇順の順位を計算できます。
- RANK.EQとRANK.AVGの使い分け: 同順位を「次の順位を飛ばす(RANK.EQ)」か「平均順位を表示する(RANK.AVG)」かで結果が変わります。
- 結果確認のための並べ替えと条件付き書式: 順位を正しく確認するために、データを並べ替えたり、条件付き書式で色分けする方法が便利です。
ADVERTISEMENT
目次
RANK関数で同順位が発生する仕組みとその問題点
RANK関数は、指定した範囲内で特定の数値が何番目に大きいか(または小さいか)を返す関数です。デフォルトのRANK関数(RANK.EQと同等)では、同じ値が複数ある場合に同じ順位を付け、その次の順位は同順位の数だけ飛ばします。例えば、1位が2人いるとき、次の順位は3位になります。この動作は多くのケースで適切ですが、「同順位の次の順位を詰めたい」「平均順位を表示したい」といった要望には対応できません。そのため、状況に応じてRANK.EQとRANK.AVGを使い分ける必要があります。
RANK関数の基本的な書き方と引数の意味
まずはRANK関数の基本構文を確認しましょう。RANK関数は3つの引数を持ちます。
- 数値(必須): 順位を計算したい対象のセルや数値を指定します。
- 範囲(必須): 順位を計算する対象のデータ全体を指定します。通常は列全体や特定のセル範囲です。
- 順序(省略可): 降順(大きい順)の場合は0または省略、昇順(小さい順)の場合は1を指定します。
例えば、=RANK(A2, A$2:A$10) と入力すると、A2の値がA2〜A10の中で何番目に大きいか(降順)を返します。順序を1に変更すれば、小さい順の順位になります。
同順位をRANK.EQとRANK.AVGで使い分ける方法
Googleスプレッドシートには、RANK関数の進化版としてRANK.EQとRANK.AVGが用意されています。どちらも古いRANK関数と同じ引数を持ちますが、同順位の扱いが異なります。RANK.EQは同順位に同じ順位を付け、次の順位を飛ばします。RANK.AVGは同順位の平均順位を表示します。例えば、1位が2人いる場合、RANK.EQでは両方1位で次は3位、RANK.AVGでは両方1.5位になります。
- RANK.EQを使う手順: セルに =RANK.EQ(数値, 範囲, 順序) と入力します。同順位の扱いはデフォルトのRANK関数と同じです。
- RANK.AVGを使う手順: セルに =RANK.AVG(数値, 範囲, 順序) と入力します。同順位の場合、平均順位(例:1と2の平均で1.5)が返ります。
- 順序引数の指定: 降順の場合は0または省略、昇順の場合は1を忘れずに指定します。間違えると意図しない順位になります。
ADVERTISEMENT
順位の結果を確認するための便利なテクニック
RANK関数で計算した順位を確認するには、以下の方法が役立ちます。
データを並べ替えて視覚的に確認する
順位列を含むデータ全体を選択し、「データ」メニューから「範囲を並べ替え」をクリックします。順位列で昇順または降順に並べ替えることで、順位が正しく反映されているか一目で確認できます。並べ替えの際は、見出し行がある場合は「データに見出し行がある」にチェックを入れてください。
条件付き書式で上位や下位を色分けする
順位に応じてセルの背景色を変えると、直感的に把握しやすくなります。例えば、順位が1位から3位までのセルを緑色にしたい場合、順位列を選択し、「表示形式」→「条件付き書式」を開きます。ルールとして「カスタム数式」を選び、=A2<=3 のような式を設定します(A2は順位列の先頭セル)。書式スタイルで塗りつぶし色を選択して完了です。
重複データをチェックする
同順位が発生しているかどうかを素早く確認するには、COUNTIF関数を使います。例えば、=COUNTIF(範囲, セル) で同じ値の個数を数え、2以上の値があれば同順位が存在します。これにより、RANK.AVGを使うべきか判断する材料になります。
RANK.EQとRANK.AVGの違いを比較
| 項目 | RANK.EQ | RANK.AVG |
|---|---|---|
| 同順位の扱い | 同じ順位を付け、次の順位を飛ばす | 平均順位を返す(小数点あり) |
| 返される値の例(1位2人の場合) | 1位、1位、3位 | 1.5位、1.5位、3位 |
| 使用シーン | 競技の順位など、同順位を認めて次を飛ばす場合 | 平均点や評価点など、順位を連続的に扱いたい場合 |
| 互換性 | 旧RANK関数と同じ動作 | ExcelのRANK.AVGと互換 |
よくあるトラブルと対処法
RANK関数がエラーになる場合
RANK関数がエラーを返す主な原因は、範囲に数値以外のデータが含まれていることです。範囲内に空白セルや文字列があると、正しく計算できません。範囲を数値のみに絞るか、IFERROR関数でエラーを回避してください。
同順位が意図した表示にならない
RANK.EQとRANK.AVGのどちらを使っているか確認してください。目的に合わない場合は、関数を差し替えて再計算します。また、順序引数を間違えると逆順になるので注意しましょう。
順位を更新しても結果が変わらない
スプレッドシートの計算が自動更新になっているか確認します。「ファイル」→「設定」→「計算」で「変更時」に設定されていることを確認してください。手動になっている場合は、再計算のリクエスト(F5キーなど)を実行します。
まとめ
この記事では、RANK関数の基本と同順位の扱い方について解説しました。RANK.EQとRANK.AVGを使い分けることで、目的に応じた順位表示が可能になります。結果の確認には並べ替えや条件付き書式をぜひ活用してください。次は、FILTER関数やSORT関数と組み合わせて、動的なランキング表を作成してみるのもおすすめです。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】数値の連続データを自動入力!オートフィルの活用
- 【Googleスプレッドシート】ダークモードを有効にする!目に優しい配色への切替
- 【Googleスプレッドシート】株価APIで株式データを自動取得!GOOGLEFINANCE超え活用
- 【Googleスプレッドシート】共有相手が編集できない時のチェック!権限と許可状態の確認
- 【Googleスプレッドシート】ページ設定で用紙サイズと向きを調整!印刷レイアウトの基本
- 【Googleスプレッドシート】Excelファイルxlsxをインポートする手順!ドラッグ&ドロップで取り込み
- 【Googleスプレッドシート】条件付き書式をコピーする!書式のみペーストの活用
