cellio

ExcelのMIN・MAX関数の使い方:最大値・最小値の取得テクニック

ExcelのMIN関数とMAX関数で最大値や最小値を求める基本から、0を除くMINIFS関数、該当する行の特定、上限・下限を設定する応用技まで分かりやすく解説します。

著者 Ayoub Farid · · 5 分で読めます

MIN関数は指定したセル範囲内の最小値を、MAX関数は最大値を返します。「最高売上を記録した月はいつか?」「最安値の仕入先はどこか?」「クラスの最低点は何点か?」といった疑問を解決する際に役立つ、基本的なExcel関数です。

基本の構文

=MIN(number1, [number2], ...)
=MAX(number1, [number2], ...)

具体例

AB
1月売上
21月4,200
32月3,900
43月4,800
54月5,100
=MAX(B2:B5)   → 5,100
=MIN(B2:B5)   → 3,900

最大値と最小値の差を求めるには、=MAX(B2:B5)-MIN(B2:B5) と入力します(結果:1,200)。

最大値に該当する月を特定する方法

MAX関数単体では売上額しか分からず、それが何月のものかまでは取得できません。該当する項目名を取り出すには、検索関数と組み合わせます。

=XLOOKUP(MAX(B2:B5),B2:B5,A2:A5)

結果は「4月」となります。従来のExcel環境では =INDEX(A2:A5,MATCH(MAX(B2:B5),B2:B5,0)) を使用します。詳しい使い方は INDEX MATCH関数 をご覧ください。なお、最大値が複数ある場合は最初に見つかったデータが返されます。

0や空白セルを除外して最小値を求める

MIN関数は空白セルを無視しますが、数値の「0」は計算対象に含まれます。そのため、入力途中のデータがあると0が最小値として表示されてしまいます。0を除外して最小値を取得したい場合は、MINIFS関数(Excel 2019以降、Microsoft 365、Googleスプレッドシートで利用可能)を活用しましょう。

=MINIFS(B2:B13,B2:B13,">0")

条件付きでMIN・MAXを使う

例えば、「Coffee(コーヒー)」の最高売上額を取得したい場合は、MAXIFS関数を使用します。

=MAXIFS(B2:B50,D2:D50,"Coffee")

上限・下限を設定するテクニック

MIN関数とMAX関数は、数値の上限値や下限値を設定する際にも重宝します。

  • ボーナスの上限を500に制限する:=MIN(B2*10%,500)
  • 計算結果を0未満(マイナス)にしない:=MAX(B2-C2,0)

2番目に大きい値・小さい値を求める

2番目以降の順位の値を取得したい場合は、LARGE関数やSMALL関数を使用します。

=LARGE(B2:B13,2)
=SMALL(B2:B13,2)

全体の順位付けを行いたい場合は、RANK関数 を参照してください。

よくあるミスと注意点

  • 文字列として保存されている数値:計算から除外されます。MAX関数が0を返す場合は、データの表示形式を確認してください。
  • 合計行を含めてしまう:合計行までセル範囲に含めると、MAX関数は当然その合計値を返してしまいます。範囲選択はデータ行のみに限定しましょう。
  • 日付はシリアル値(数値)として扱われる:日付の列にMAX関数を使うと、最も新しい日付が取得できます。例えば =MAX(C2:C50) で「直近の発注日」を調べるといった便利な使い方が可能です。

実際に練習してみましょう

Cellioの「MIN & MAX」レッスンでは、実際の売上スプレッドシートを使って最高売上月と最低売上月を見つける練習ができます。続くレッスンでは他の数式との組み合わせも学べます。アプリ内の基礎ユニットにて配信中です。

よくある質問

Excelで最大値を求めるにはどうすればよいですか?

=MAX(セル範囲) を使用します(例:=MAX(B2:B13))。

0を除外して最小値を求めるにはどうすればよいですか?

=MINIFS(B2:B13,B2:B13,">0") を使用します。

最大値がある行の項目名を取得するにはどうすればよいですか?

MAX関数を組み込んだXLOOKUP関数やINDEX/MATCH関数を使用します(例:=XLOOKUP(MAX(B2:B13),B2:B13,A2:A13))。

日付データに対してもMINやMAXは使えますか?

はい、使えます。MIN関数は最も古い日付、MAX関数は最も新しい日付を返します。

あわせて読みたい