【スプレッドシート】n番目に大きい値を求める!LARGE関数

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

スポンサーリンク

LARGE関数の使い方

【スプレッドシート】n番目に大きい値を求める!LARGE関数

LARGE関数は、指定したデータ範囲内で、n番目に大きい値を返します

たとえば、C列の範囲から2番目に大きい値を抽出したい場合、数式は次のようになります。

例:=LARGE(C2:C5,2)

もし、LARGE(範囲, 1)とすると、最大値を返すMAX(範囲)とまったく同じ結果になります。

LARGE関数の引数:(データ, n)

スポンサーリンク

LARGE関数に条件を指定する

【スプレッドシート】n番目に大きい値を求める!LARGE関数

特定の条件と一致するセルの中からn番目の値を抽出したい場合、LARGE関数FILTER関数を組み合わせます。

たとえば、「A列が果物」という条件に一致する行の、C列の2番目に大きい値を抽出したい場合、数式は以下のようになります。

例:=LARGE(FILTER(C2:C5,A2:A5="果物"),2)


数式の解説

  1. まず、FILTER関数が「A列が果物」という条件で絞り込み、C列のデータ{300; 500; 200}を返します。
  2. 次に、LARGE関数がFILTER関数の結果{300; 500; 200}を受け取り、その中から2番目に大きい値(300)を返します。

FILTER関数の引数:(範囲, 条件1, [条件2, …])

スポンサーリンク

重複データから抽出する

【スプレッドシート】n番目に大きい値を求める!LARGE関数

重複を無視してn番目に大きい値を抽出したい場合は、LARGE関数UNIQUE関数を組み合わせます。

たとえば、300, 400, 500,500の中から重複を無視して2番目に大きい値400を抽出したい場合、数式は次のようになります。

例:=LARGE(UNIQUE(C2:C5),2)

UNIQUE関数を使わずに=LARGE(C2:C5, 2)とすると、500が2つあるため、2番目に大きい値は500となります。


数式の解説

  1. まず、UNIQUE関数が重複を削除し、{300; 400; 500}という一意の配列を返します。
  2. 次に、LARGE関数がその配列を受け取り、2番目に大きい値400を最終的な結果として返します。

UNIQUE関数の引数:(範囲, [列の比較], [回数指定])

スポンサーリンク

n番目に大きい値に色付けする

範囲内のセルに色を付ける

【スプレッドシート】n番目に大きい値を求める!LARGE関数

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

次に、書式設定の条件を「カスタム数式」に変更し、以下のような数式を入力します。

例:=B2=LARGE($B$2:$B$5,2)

この数式は、指定した範囲内の各セルが、範囲全体で2番目に大きいかどうかを判断します。

数式のポイント

  • 数式の左側の検査値には、対象範囲で一番左上のセル(例:B2)を指定します。
  • LARGE関数の範囲には、絶対参照$を付ける)を使用します。

行全体に色を付ける

【スプレッドシート】n番目に大きい値を求める!LARGE関数

適用範囲を色付けしたい範囲(例:A2:B5)に変更し、「カスタム数式」に以下のような数式を入力します。

例:=$B2=LARGE($B$2:$B$5,2)

数式のポイント

  • =$B2のように、検査値の列のみを絶対参照$を付ける)にします。これにより、B列の値が2番目に大きい値であるかを基準に、行全体に色が適用されます。
  • LARGE関数の範囲は、これまで通り絶対参照$を付ける)で固定します。
タイトルとURLをコピーしました