エクセルで大量のデータの中から最大値や最小値をすぐに見つけたい、という場面は業務の中でよく発生します。
MAX関数とMIN関数を使えば、どんなに大きなデータでも一瞬で最高値・最低値を取り出すことができます。
条件付きで最大値・最小値を求める応用的な方法も合わせて確認していきましょう。
ポイントは以下の3つです。
・MAX関数で最大値、MIN関数で最小値を求められる
・MAXIFS・MINIFS関数を使うと条件付きの最大値・最小値が取得できる
・LARGE・SMALL関数で2番目・3番目などの順位指定も可能
それでは詳しく見ていきましょう。
MAX関数・MIN関数の基本的な使い方
MAX関数はデータ範囲の中から最大値を返す関数で、書式は「=MAX(範囲)」です。
MIN関数はデータ範囲の中から最小値を返す関数で、書式は「=MIN(範囲)」となります。
どちらも非常にシンプルな構造で、引数に対象のセル範囲を指定するだけで即座に結果が返ってきます。
文字列や空白セルは自動的に無視されるため、数値と文字が混在したデータでも正確に最大値・最小値を求めることができます。
まずは基本的なサンプルデータで使い方を確認しましょう。
サンプルデータで基本構文を確認する
以下のようなサンプルデータを使って説明します。
1行目にはヘッダーがあり、A列に商品名、B列に売上数量が入力されているとします。

このデータの最大値をD2セル、最小値をD3セルに表示したい場合、以下のように入力します。
最大値:=MAX(B2:B7)
最小値:=MIN(B2:B7)
D2セルには「470」、D3セルには「155」が返ります。


範囲を指定するだけで最高値と最低値が瞬時に取得できるのが、この2つの関数の大きな魅力です。
【操作のポイント】MAX・MIN関数の引数には複数の範囲を「,(カンマ)」区切りで指定することもできます。たとえば「=MAX(B2:B7, D2:D7)」のように離れた範囲をまとめて最大値の対象にすることが可能です。
複数条件で最大値・最小値を求めるMAXIFS・MINIFS関数
特定の条件に合うデータの中だけで最大値や最小値を求めたい場面があります。
そのような場合に活躍するのがMAXIFS関数とMINIFS関数です。
これらはExcel 2019以降およびMicrosoft 365で使用できる関数です。
MAXIFS関数の書式と使い方
MAXIFS関数の書式は以下のとおりです。
=MAXIFS(最大値範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, …)
「最大値範囲」は最大値を求めたい数値が入ったセル範囲を指定します。
「条件範囲1」と「条件1」はセットで指定し、その条件に合う行のデータだけを最大値の計算対象にします。
条件は最大で127組まで指定できます。
以下のサンプルデータを使って具体的に確認します。
| 商品名 | カテゴリ | 売上数量 |
|---|---|---|
| 桜餅 | 和菓子 | 320 |
| 柏餅 | 和菓子 | 185 |
| マシュマロ | 洋菓子 | 470 |
| チョコ | 洋菓子 | 390 |
| アボカド | 食材 | 210 |
| カボチャ | 食材 | 155 |
「和菓子」カテゴリの中で最も売上数量が多い値を求める場合は、以下のように入力します。
=MAXIFS(C2:C7, B2:B7, “和菓子”)

この数式では、B2からB7の中で「和菓子」と一致する行のC列の値だけを対象に最大値を返します。
結果は「320」(桜餅)となります。

条件に文字列を指定する場合はダブルクォーテーション(”)で囲む必要があります。
条件をセル参照にすることも可能で、たとえば条件をF2セルに入力しておけば「=MAXIFS(C2:C7, B2:B7, F2)」と書けます。
MINIFS関数の書式と使い方
MINIFS関数の書式はMAXIFS関数と同じ構造です。
=MINIFS(最小値範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, …)
先ほどのサンプルで「洋菓子」カテゴリの最小売上数量を求める場合は以下のとおりです。
=MINIFS(C2:C7, B2:B7, “洋菓子”)

結果は「390」(チョコ)となります。

MAXIFS・MINIFS関数を使いこなすことで、カテゴリ別や担当者別など、さまざまな切り口での分析が可能になります。
【操作のポイント】MAXIFS・MINIFS関数はExcel 2016以前では使用できません。古いバージョンを使っている場合はIF関数と組み合わせた配列数式で代替する方法があります。バージョンを確認してから使用しましょう。
LARGE関数・SMALL関数で順位を指定して値を取得する
「最大値ではなく2番目に大きい値が知りたい」「下から3番目の値を取り出したい」という場面もあります。
そのような場合に使えるのがLARGE関数とSMALL関数です。
LARGE関数の書式と使い方
LARGE関数の書式は以下のとおりです。
=LARGE(範囲, 順位)
「範囲」は対象のセル範囲、「順位」は大きい方から何番目かを数値で指定します。
先ほどのサンプルデータで2番目に大きい売上数量を求めるには以下のように入力します。
=LARGE(C2:C7, 2)
結果は「390」(チョコ)が返ります。
順位に「1」を指定するとMAX関数と同じ結果になります。
トップ3を並べて表示したい場合は、順位部分を1・2・3と変えた数式を3行並べると見やすい一覧が作れます。
SMALL関数の書式と使い方
SMALL関数の書式はLARGE関数と同じ構造です。
=SMALL(範囲, 順位)
「順位」は小さい方から何番目かを指定します。
同じサンプルで2番目に小さい売上数量を求める場合は以下のとおりです。
=SMALL(C2:C7, 2)
結果は「185」(柏餅)となります。
ワースト順位の確認や、上位・下位の一定件数を抽出する分析にも活用できます。
【【ここに図を入れる】】
【操作のポイント】LARGE・SMALL関数の順位引数にROW関数を組み合わせると、連続した順位の値を自動的に並べることができます。たとえば「=LARGE($C$2:$C$7, ROW(A1))」を下にコピーすると1位・2位・3位の値が順番に表示されます。
MAX・MIN関数と組み合わせて使える便利テクニック
MAX・MIN関数は他の関数と組み合わせることで、さらに活用の幅が広がります。
実務でよく使われる組み合わせを確認しておきましょう。
最大値・最小値のセルを強調表示する
最大値や最小値が入ったセルを視覚的に目立たせたい場合は、条件付き書式を活用します。
対象の範囲を選択した状態で「ホーム」タブの「条件付き書式」→「新しいルール」を選択します。
「数式を使用して、書式設定するセルを決定」を選び、以下の数式を入力します。
最大値のセルを強調:=B2=MAX($B$2:$B$7)
最小値のセルを強調:=B2=MIN($B$2:$B$7)
書式として背景色や文字色を設定すれば、最大値・最小値のセルが一目でわかるように色付けされます。
条件付き書式の数式では、対象セルへの参照(B2)は相対参照、範囲全体($B$2:$B$7)は絶対参照にするのがポイントです。
MATCH関数と組み合わせて最大値の行番号を取得する
最大値がデータの何行目にあるかを調べたい場合は、MATCH関数と組み合わせます。
=MATCH(MAX(B2:B7), B2:B7, 0)
この数式は、B2からB7の範囲で最大値が何番目にあるかを返します。
さらにINDEX関数と組み合わせれば、最大値に対応する商品名を取り出すことも可能です。
=INDEX(A2:A7, MATCH(MAX(B2:B7), B2:B7, 0))
この数式ではA列の商品名の中から、B列の最大値に対応する商品名を返します。
サンプルデータの場合は「マシュマロ」が結果として返ります。
最大値の数値だけでなく、その値に紐づくラベルや情報を同時に取得できる便利な組み合わせです。
【操作のポイント】INDEX+MATCH+MAX(MIN)の組み合わせは、最大値・最小値に対応する別列の情報を取得する定番パターンです。VLOOKUPでは対応できないケースでも活用できるため、ぜひ覚えておきましょう。
まとめ エクセルで最大値・最小値の出し方(MAX・MIN関数・最高値・最低値の求め方)
エクセルで最大値・最小値を求める方法をまとめます。
基本はMAX関数とMIN関数で、書式はそれぞれ「=MAX(範囲)」「=MIN(範囲)」です。
条件付きで最大値・最小値を求めたい場合はMAXIFS・MINIFS関数を活用しましょう。
2番目・3番目などの順位を指定して取得したい場合はLARGE関数・SMALL関数が便利です。
条件付き書式と組み合わせれば最大値・最小値のセルを視覚的に強調表示することもできます。
INDEX・MATCH関数と組み合わせることで、最大値に対応する商品名などの関連情報も取得できます。
今回紹介した方法を活用することで、データ分析の幅が大きく広がります。
ぜひ実際のデータで試しながら使い方を身につけていきましょう。


コメント