
Googleスプレッドシートで範囲内での数字の順位を求められるRANK関数の基本的な使い方をご紹介します。RANK関数で取得した順位に従ってデータを並び替える方法や、ランキングの上位3つのセルに色を付ける方法も解説しているので、ぜひ参考にしてみてください。
順位を付ける(RANK関数)
同率なら最上位順位を付ける(RANK.EQ)
RANK.EQ関数は、指定した「値」を、「データ範囲」内で比較したときの順位を返します。
🏆大きい順(降順)にランク付けする

数値が大きいほど1位にしたい場合(降順)は、順序の指定を省略するか「0」を指定します。
例:=RANK.EQ(B2,$B$2:$B$5)
【ポイント】
オートフィルで数式をコピーしたときに範囲がずれないように、データ範囲を絶対参照($を付ける)にします。
RANK.EQ関数の引数:(値, データ, [順序])
🏆小さい順(昇順)にランク付けする

数値が小さいほど1位にしたい場合(昇順)は、順序に「1」を指定します。
例:=RANK.EQ(B2,$B$2:$B$5,1)
- 0 (FALSE) または 省略:範囲内の数値を、最大値を1番目として順位付けします。
- 1 (TRUE)昇順:範囲内の数値を、最小値を1番目として順位付けします。
【補足】
RANK関数は、関数の改良に伴い、RANK.EQとRANK.AVGに置き換えられました。
RANK関数も使えますが、これは古いバージョンとの互換性のために残されている非推奨の関数です。現在はRANK.EQとRANK.AVGの使用を推奨しています。
同率なら平均順位を付ける(RANK.AVG)

RANK.EQ関数は、同じ値が複数存在する場合に、同じ最上位順位を返し、次の順位を飛ばします。
順位を飛ばさずに「平均順位」を付けたい場合は、次のようにRANK.AVG関数を使います。
例:=RANK.AVG(B2,$B$2:$B$5)
ランキング順に並び替える(SORT関数)

ランキング付けした順位に従ってデータを並び替えたい場合、SORT関数を使います。
たとえば、A2:C5の範囲を、1列目(A列)の順位の昇順で並び替えたい場合、数式は次のようになります。
例:=SORT(A2:C5,1,TRUE)
SORT関数は、並び替えたい「範囲」を、並び替える「列」に応じて、昇順(TRUE)または降順(FALSE)に並び替えます。
SORT関数の引数:(範囲, 並べ替える列, 昇順, [並べ替える列2, …], [昇順2, …])
ランキング上位のデータを抽出する(SORTN関数)

たとえば、ランキングの上位2つを抽出したい場合、数式は次のようになります。
例:=SORTN(A2:B5,2,1,2,FALSE)
SORTN関数の引数:(範囲, [n], [同等項目の表示モード], [並べ替える列], [昇順], [並べ替える列2, …], [昇順2, …])
【数式の解説】
- 範囲:抽出したい元のデータ範囲。(例:A2:B5)
- n:抽出したい上位の行数。(例:2)
- 同等項目の表示モード:同順位のデータをすべて抽出するかどうかを指定します。
1にすると同順位をすべて抽出します。 - 並べ替える列:順位の基準となる列を指定します。(例:2)
- 昇順:昇順(小さい順=
TRUE)または降順(大きい順=FALSE)を指定します。
もし、抽出数を守って同順位を切り捨てる場合、数式は以下のようになります。
例:=SORTN(A2:B5,2,0,2,FALSE)
ランキング上位に色を付ける

色を付けたい範囲を選択し、「表示形式」→「条件付き書式」を開きます。

書式設定の条件を「カスタム数式」に変更し、以下のような数式を入力します。
例:=RANK.EQ($B2,$B$2:$B$5)<=3
この数式では、数値が大きい方から上位3位のデータ(行)に書式が適用されます。
【ポイント】
- RANK関数の「値」には、順位を計算する列の一番上のセルを、列のみ絶対参照(例:
$B2)で指定します。 - RANK関数の「データ」には、数値の範囲全体を絶対参照(例:
$B$2:$B$5)で指定します。
n位のデータを「抽出」したい場合
指定の順位の値を抽出:n番目に大きい値を求めるLARGE関数や、n番目に小さい値を求めるSMALL関数の使い方は「n番目に大きい値を求める!LARGE関数」をご覧ください。