スプレッドシートのLARGE関数の使い方|k番目に大きい値を取り出す方法

スポンサーリンク

スプレッドシートのLARGE関数の使い方|k番目に大きい値を取り出す方法

「売上トップ3を取り出したいのに、MAX関数だと1位しかわからない」。そんな経験はありませんか?

2番目、3番目に大きい値を手作業で探すのは面倒ですよね。データが増えるほどミスのリスクも上がります。

LARGE関数を使えば、k番目に大きい値を一発で取り出せます。この記事では基本の書き方から実務パターン、エラー対処法まで丁寧に解説します。

LARGE関数とは?k番目に大きい値を返す関数

LARGE関数は、データの中からk番目に大きい値を返す関数です。読み方は「ラージ」で、英語の「Large(大きい)」がそのまま名前になっています。

たとえばk=1なら最大値、k=2なら2番目に大きい値を返します。「上位N番目の値を取り出す」ときに使う関数です。

MAX関数は常に1番目(最大値)しか返せません。「2番目以降も取り出したい」ときにLARGE関数の出番です。

基本構文

=LARGE(データ, k)

引数の説明

引数必須/任意説明
データ必須値を取り出す対象のセル範囲や配列
k必須何番目に大きい値を取り出すか(1=最大値)

引数はたった2つです。シンプルなので、すぐに覚えられますよ。

基本的な使い方

実際にLARGE関数を使ってみましょう。

B2:B8に「85, 92, 78, 95, 88, 70, 100」の7個の数値が入っているとします。

=LARGE(B2:B8, 1)  → 100(1番目に大きい値)
=LARGE(B2:B8, 2)  → 95(2番目に大きい値)
=LARGE(B2:B8, 3)  → 92(3番目に大きい値)

kの値を変えるだけで、好きな順位の値を取り出せます。k=1のときはMAX関数と同じ結果です。

NOTE

LARGE関数は数値だけを対象にします。文字列・空白セル・論理値は無視されます。

LARGE関数の実務活用パターン4選

基本を押さえたところで、実務での使いどころを紹介します。

売上トップ3を取り出す

月次売上の一覧から、上位3件の金額を取り出すケースです。

=LARGE(C2:C13, 1)  → 1位の売上額
=LARGE(C2:C13, 2)  → 2位の売上額
=LARGE(C2:C13, 3)  → 3位の売上額

C列に12か月分の売上金額が入っていれば、トップ3が一発で表示されます。上司への報告資料で「上位3か月の実績」を見せたいときに便利です。

2番目に高い点数を取得する(外れ値の除外)

テスト結果で「最高点は満点で参考にならない」という場面があります。そんなときはk=2を指定して、2番目に高い点数を取り出しましょう。

=LARGE(D2:D50, 2)

最高点を除いた実質的なトップスコアが確認できます。データ分析で外れ値を除外したいときにも使えるテクニックです。

上位N件の合計を求める(LARGE + SUM)

「売上トップ3の合計」を求めたい場合は、SUM関数と組み合わせます。

=SUM(LARGE(C2:C13, {1,2,3}))

{1,2,3} は配列定数です。LARGE関数が1位・2位・3位の値をそれぞれ返し、SUM関数で合計します。

上位5件にしたい場合は {1,2,3,4,5} に変えるだけです。手軽に上位N件の合計が出せますよ。

2番目に大きい値の担当者名を取得する

「2番目に高い売上の担当者は誰?」を調べるには、INDEX関数とMATCH関数を組み合わせます。

=INDEX(A2:A10, MATCH(LARGE(B2:B10, 2), B2:B10, 0))

処理の流れはこうです。

  1. LARGE(B2:B10, 2) → 2番目に大きい売上額を取得
  2. MATCH(…, B2:B10, 0) → その値のある行番号を検索
  3. INDEX(A2:A10, …) → 対応する担当者名を取得

ちょっと長い数式に見えますが、やっていることはシンプルです。LARGE関数で値を特定し、MATCHで位置を探し、INDEXで名前を取る3ステップです。

よくあるエラーと対処法

LARGE関数で発生するエラーを2つ紹介します。

#NUM! エラー(kがデータ数を超えている)

これが最も多いエラーです。データが7個しかないのにk=10を指定すると、#NUM!エラーになります。

=LARGE(B2:B8, 10)  → #NUM!

B2:B8は7セルなので、kは1から7までしか指定できません。k=0やマイナスの値でもエラーになります。

対処法:

  • kの値がデータ数を超えていないか確認する
  • データ数が変動する場合は COUNT(B2:B8) で件数を把握する
  • kの上限チェックには次の数式が使えます
=IF(E1<=COUNT(B2:B8), LARGE(B2:B8, E1), "データ不足")

#VALUE! エラー(kに数値以外を指定)

kに文字列やセル参照の文字列型を指定するとエラーです。

=LARGE(B2:B8, "二")  → #VALUE!

kには必ず数値を指定してください。セル参照を使う場合は、参照先が数値型か確認しましょう。

MAX関数との使い分け

LARGE関数とMAX関数の関係はシンプルです。

場面使う関数書き方
1番目に大きい値(最大値)MAX=MAX(B2:B8)
2番目以降に大きい値LARGE=LARGE(B2:B8, 2)

1番目だけ必要ならMAX関数で十分です。2番目以降が必要になったらLARGE関数に切り替えてください。

ちなみに =LARGE(B2:B8, 1)=MAX(B2:B8) は同じ結果を返します。ただし可読性を考えると、最大値にはMAX関数を使うほうが意図が伝わりやすいです。

SMALLとの対比・RANK関数との違い

LARGE関数と混同しやすい関数が2つあります。

SMALL関数(k番目に小さい値)

SMALL関数はLARGE関数の逆で、k番目に小さい値を返します。構文は完全に同じ構造です。

=LARGE(B2:B8, 1)  → 100(最大値)
=SMALL(B2:B8, 1)  → 70(最小値)
関数返す値k=1のとき
LARGEk番目に大きい値MAX関数と同じ
SMALLk番目に小さい値MIN関数と同じ

「上位の値ならLARGE、下位の値ならSMALL」と覚えてください。

RANK関数(順位を求める関数)

RANK関数はLARGE関数と逆方向の操作をします。

  • LARGE関数: 順位を指定 → 値を返す(「2番目に大きい値は?」)
  • RANK関数: 値を指定 → 順位を返す(「95点は何番目?」)
=LARGE(B2:B8, 2)       → 95(2番目に大きい値)
=RANK(95, B2:B8)        → 2(95は2番目)

「値を取り出したい」ならLARGE関数を使います。「順位を知りたい」ならRANK関数を使います。目的に応じて使い分けてください。

まとめ

LARGE関数は「k番目に大きい値を取り出す」関数です。MAX関数では対応できない「2番目以降の値」を簡単に取得できます。

この記事のポイント

  • 構文は =LARGE(データ, k) のたった2引数
  • k=1なら最大値(MAXと同じ)、k=2以降で真価を発揮
  • SUM関数と組み合わせれば上位N件の合計も出せる
  • #NUM!エラーはkがデータ数を超えているのが原因
  • SMALLは逆方向(k番目に小さい値)、RANKは逆操作(値→順位)

次のステップ:関連する集計関数

LARGE関数の使い方がわかったら、以下の関数もあわせて覚えてみてください。データの分析力がぐっと上がりますよ。

タイトルとURLをコピーしました