
GoogleスプレッドシートのLARGE関数を使うと、1位、2位、または任意のn位の値を簡単に取得できます。条件と一致するn番目の数値を抽出する方法や、重複を含むデータからn番目に大きい値を抽出する方法についても解説しているので、ぜひ参考にしてみてください。
LARGE関数の使い方

LARGE関数は、指定したデータ範囲内で、n番目に大きい値を返します。
たとえば、C列の範囲から2番目に大きい値を抽出したい場合、数式は次のようになります。
例:=LARGE(C2:C5,2)
もし、LARGE(範囲, 1)とすると、最大値を返すMAX(範囲)とまったく同じ結果になります。
LARGE関数の引数:(データ, n)
LARGE関数に条件を指定する

特定の条件と一致するセルの中からn番目の値を抽出したい場合、LARGE関数とFILTER関数を組み合わせます。
たとえば、「A列が果物」という条件に一致する行の、C列の2番目に大きい値を抽出したい場合、数式は以下のようになります。
例:=LARGE(FILTER(C2:C5,A2:A5="果物"),2)
数式の解説
- まず、FILTER関数が「A列が果物」という条件で絞り込み、C列のデータ
{300; 500; 200}を返します。 - 次に、LARGE関数がFILTER関数の結果
{300; 500; 200}を受け取り、その中から2番目に大きい値(300)を返します。
FILTER関数の引数:(範囲, 条件1, [条件2, …])
重複データから抽出する

重複を無視してn番目に大きい値を抽出したい場合は、LARGE関数とUNIQUE関数を組み合わせます。
たとえば、300, 400, 500,500の中から重複を無視して2番目に大きい値400を抽出したい場合、数式は次のようになります。
例:=LARGE(UNIQUE(C2:C5),2)
UNIQUE関数を使わずに=LARGE(C2:C5, 2)とすると、500が2つあるため、2番目に大きい値は500となります。
数式の解説
- まず、UNIQUE関数が重複を削除し、
{300; 400; 500}という一意の配列を返します。 - 次に、LARGE関数がその配列を受け取り、2番目に大きい値
400を最終的な結果として返します。
UNIQUE関数の引数:(範囲, [列の比較], [回数指定])
n番目に大きい値に色付けする
範囲内のセルに色を付ける

まず、色を付ける範囲を選択し、「表示形式」→「条件付き書式」を開きます。
次に、書式設定の条件を「カスタム数式」に変更し、以下のような数式を入力します。
例:=B2=LARGE($B$2:$B$5,2)
この数式は、指定した範囲内の各セルが、範囲全体で2番目に大きいかどうかを判断します。
数式のポイント
- 数式の左側の検査値には、対象範囲で一番左上のセル(例:
B2)を指定します。 - LARGE関数の範囲には、絶対参照(
$を付ける)を使用します。
行全体に色を付ける

適用範囲を色付けしたい範囲(例:A2:B5)に変更し、「カスタム数式」に以下のような数式を入力します。
例:=$B2=LARGE($B$2:$B$5,2)
数式のポイント
=$B2のように、検査値の列のみを絶対参照($を付ける)にします。これにより、B列の値が2番目に大きい値であるかを基準に、行全体に色が適用されます。- LARGE関数の範囲は、これまで通り絶対参照(
$を付ける)で固定します。