エクセルで、大きいほうから数えて n 番目の値を取り出すには LARGE関数を使います。たとえば売上の2番目に大きい値は、=LARGE(C3:C10,2) で 150 と分かります。
MAX関数は1番目しか出せませんが、LARGE関数なら2番目・3番目も出せるので、上位3つの合計やランキング表に使えます。この記事では、LARGE関数の基本、同じ値があるときの動き、上位の合計、n番目の人の名前を出す方法、条件付きの n 番目、データが足りないときの対処までを、1つの表で説明します。下の練習ツールで、売上や n を書き換えて結果の変わり方を試せます。
LARGE関数の書き方
| 引数 | 入れるもの | ポイント |
|---|---|---|
| 配列 | 数値の範囲 | 空欄・文字は無視されます。 |
| 順位 | 大きいほうから何番目か | 1 なら最大値(MAX関数と同じ)です。 |
まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
LARGE関数の使い方|やりたいこと別の式
| やりたいこと | 式(例) | 結果 |
|---|---|---|
| いちばん大きい値 | =LARGE(C3:C10,1) | 200 |
| 2番目に大きい値 | =LARGE(C3:C10,2) | 150 |
| セルで指定した n 番目 | =LARGE(C3:C10,F12) | 120 |
| 上位3つの合計 | =SUM(LARGE(C3:C10,{1,2,3})) | 500 |
| 2番目の人の名前 | =INDEX(A3:A10,MATCH(LARGE(C3:C10,2),C3:C10,0)) | 鈴木 |
| 条件付きの2番目 | =LARGE(FILTER(C3:C10,B3:B10=”営業”),2) | 150 |
| データが足りないとき | =IFERROR(LARGE(C3:C10,10),”なし”) | なし |

n番目に大きい値を求める
手順:F4 に LARGE の式を入れて Enter
8 人の売上(C3:C10)から、2 番目に大きい売上を求めます。 F4 に次の式を入力して、Enter キーを押します❶。
=LARGE(C3:C10,2) C3:C102青にデータの範囲、オレンジに何番目かを入れます。例:点数(D 列)の3番目に高い点
=LARGE(D2:D40,3) - 空欄や文字は無視されます。

確認:2番目に大きい売上は 150 だった

答えは 150 になりました❷。式は、次の順に計算しています。
- 売上を大きい順に並べる(空欄は除く)
⇒ 200・150・150・120・95・85・60 - 2番目を取り出す
⇒ 150
=LARGE(C3:C10,3))も 150 になります。▶ この式(F3)を、練習ツールで試す / この式(F4)を、練習ツールで試す
同じ値があるときの動き
鈴木さんと渡辺さんがどちらも 150 です。LARGE関数は同じ値も1つずつ数えるので、=LARGE(C3:C10,3) も 150 になります。4番目は 120 です。
=LARGE(UNIQUE(FILTER(C3:C10,C3:C10<>"")),3) は、重複を除いた3番目の 120 になります。セルで n を指定する
F12 が 4 なので、4番目に大きい 120 です。順位を 1・2・3… と縦に並べておけば、ランキング表を作れます。
上位3つの合計を出す
順位に {1,2,3} のような配列を指定すると、上位3つがまとめて取り出されます。それを SUM関数で合計します。
200+150+150 で、結果は 500 です。平均なら AVERAGE関数で囲みます(AVERAGE関数の使い方)。
n番目に大きい人の名前を出す
LARGE関数で値を求め、MATCH関数でその位置を探し、INDEX関数で名前を取り出します。
2番目の 150 は鈴木さんと渡辺さんの2人ですが、MATCH関数は上の行を先に見つけるので、結果は 鈴木 です。同じ値の人を全員出したいときは FILTER関数を使います(FILTER関数の使い方)。
条件に合う中で n 番目を出す
営業の売上は 120・150・60・200 なので、2番目は 150 です。FILTER関数は Excel 2021 以降・Microsoft 365 で使えます。
データが足りないときの表示を決める
順位がデータの個数より大きいと #NUM! エラーになります。売上の数値は7つなので、10番目はありません。
結果は なし です(IFERROR関数の使い方)。
LARGE関数がうまくいかないときの確認表
| 症状 | 考えられる原因 | 対処 |
|---|---|---|
| 「#NUM!」になる | 順位が0以下、またはデータの個数より大きい | 順位を確かめる。IFERROR関数で表示を決める。 |
| 同じ値が続く | 同じ値も1つずつ数える | 重複を除くなら UNIQUE関数と組み合わせる。 |
| 数値が対象にならない | 数値が文字列として入っている | VALUE関数などで数値に変換する。 |
| 名前が1人しか出ない | MATCH関数は最初の1つだけ見つける | FILTER関数で同じ値の人を全部出す。 |
LARGE関数のよくある質問
小さいほうから n 番目は?
SMALL関数を使います(SMALL関数の使い方)。
順位(何位か)を出すには?
RANK.EQ関数を使います(RANK.EQ関数の使い方)。
あわせて読みたい:順位・並べ替えの関連記事
練習用ファイル:練習用Excelファイル(.xlsx・無料)
最高点の人の名前を出すなら、最大値の名前を表示する方法もあわせてご覧ください。
