データ分析や業務効率化に欠かせないGoogleスプレッドシート。数多くある関数の中でも、データセットから最大値と最小値を簡単に見つけられる「MIN関数」と「MAX関数」は基本中の基本です。この記事では、スプレッドシートのMIN/MAX関数の基本から応用まで、実用的な例を交えて解説します。この記事を読めば、あなたもデータから瞬時に最大値・最小値を見つけ出せるようになります。
MIN/MAX関数とは?基本を理解しよう
MIN関数とMAX関数は、スプレッドシートで指定した範囲内の数値から、それぞれ「最小値」と「最大値」を見つけ出してくれる関数です。
MAX関数:最大値を求める
MAX関数は、指定した範囲内の数値のうち、最も大きい値(最大値)を返してくれる関数です。例えば、売上データの中で最高金額を知りたいとき、テストの最高得点を抽出したいときなどに活躍します。
構文:
=MAX(値1, [値2, ...])
- 値1:最大値を求めたい最初の値または範囲(必須)
- 値2以降:追加の値または範囲(省略可能)

MIN関数:最小値を求める
MIN関数は、指定した範囲内の数値のうち、最も小さい値(最小値)を返してくれる関数です。例えば、プロジェクトの中で最も費用が少なかったものを見つけるとき、テストの最低点を確認したいときなどに使います。
構文:
=MIN(値1, [値2, ...])
- 値1:最小値を求めたい最初の値または範囲(必須)
- 値2以降:追加の値または範囲(省略可能)

MIN/MAX関数の基本的な使い方
それでは実際に、MIN関数とMAX関数を使う方法を見ていきましょう。
1. 単一範囲から最大値/最小値を求める
最も一般的な使い方は、連続した範囲から最大値または最小値を抽出することです。
例:A2からA10までの最大値を求める
=MAX(A2:A10)
例:B5からB15までの最小値を求める
=MIN(B5:B15)
2. 複数範囲から最大値/最小値を求める
異なる複数の範囲やセルから、最大値/最小値を求めることもできます。
例:A列とC列から最大値を求める
=MAX(A2:A10,C2:C10)
例:B列、D列、F列から最小値を求める
=MIN(B2:B10,D2:D10,F2:F10)
3. 個別のセルから最大値/最小値を求める
特定のセルを指定して、その中から最大値/最小値を抽出することも可能です。
例:特定のセルから最大値を求める
=MAX(A2,A5,B7,C10)
例:特定のセルから最小値を求める
=MIN(B3,B8,C12,D15)
MIN/MAX関数の活用例
MIN関数とMAX関数の具体的な活用方法を、実践的な例で見ていきましょう。
成績管理での活用
クラスのテスト結果から、各教科の最高点と最低点を求める例です。

上の画像のように、各教科の点数が入力されている表から、教科ごとの最高点と最低点を簡単に計算できます。
例:国語のテスト結果から最高点を求める
=MAX(B2:B10)
例:数学のテスト結果から最低点を求める
=MIN(C2:C10)
在庫管理での活用
複数の店舗や倉庫の在庫数を管理する場合、全体の中で最大/最小の在庫数を把握するために使えます。
例:全店舗の商品Aの在庫数から最大値を求める
=MAX(B2:B8)
例:全店舗の商品Bの在庫数から最小値を求める
=MIN(C2:C8)
売上データの分析
月別や商品別の売上データから、最高売上や最低売上を抽出することができます。
例:1年間の月別売上から最高月を求める
=MAX(B2:M2)
例:全商品の売上から最低売上を求める
=MIN(B2:B50)
発展編:関連関数を使いこなそう
MIN/MAX関数だけでなく、関連する便利な関数も紹介します。これらを使いこなすことで、データ分析の幅が広がります。
MAXA関数とMINA関数
MAXA関数とMINA関数は、それぞれMAX関数とMIN関数に似ていますが、テキストや論理値(TRUE/FALSE)も計算対象に含める点が異なります。
- MAXA関数:テキストや空白セルは0として扱い、TRUE=1、FALSE=0として計算
- MINA関数:テキストや空白セルは0として扱い、TRUE=1、FALSE=0として計算
例:MAXA関数の使い方
=MAXA(A2:A10)
例:MINA関数の使い方
=MINA(B2:B10)
注意点として、通常はMAX関数とMIN関数で十分であり、テキストや論理値を含むデータを扱う特殊なケースでのみ、MAXA/MINA関数を使います。
LARGE関数とSMALL関数
LARGE関数とSMALL関数を使うと、最大値・最小値だけでなく、「2番目に大きい値」「3番目に小さい値」といった順位を指定した値を抽出できます。
構文:
=LARGE(範囲, 順位)
=SMALL(範囲, 順位)
例:2番目に大きい値を求める
=LARGE(A2:A10, 2)
例:3番目に小さい値を求める
=SMALL(B2:B10, 3)
これらの関数は、例えばテストの上位3名の点数を抽出したいときや、売上下位5店舗を把握したいときに便利です。
MAXIFS関数とMINIFS関数
特定の条件に合致するデータの中から、最大値や最小値を求めたいときに使うのがMAXIFS関数とMINIFS関数です。

構文:
=MAXIFS(最大値を求める範囲, 条件範囲1, 条件1, [条件範囲2, 条件2, ...])
=MINIFS(最小値を求める範囲, 条件範囲1, 条件1, [条件範囲2, 条件2, ...])
例:「電子機器」カテゴリーの商品の中で最大売上を求める
=MAXIFS(C2:C20, A2:A20, "電子機器")
例:「北エリア」の商品の中で最小売上を求める
=MINIFS(C2:C20, B2:B20, "北")
これらの関数は、大量のデータから特定条件に合致するものだけを対象に最大値・最小値を求められるので、より詳細な分析が可能になります。
よくあるエラーとその対処法
MIN/MAX関数を使っていて遭遇しやすいエラーと、その解決方法を紹介します。

#VALUE!エラー
原因: 計算対象の範囲に数値以外のデータ(テキストなど)が含まれている
解決方法:
- 数値データのみを含む範囲を指定する
- テキストデータも含めて計算したい場合は、MAXA/MINA関数を使用する
#NAME?エラー
原因: 関数名のスペルミスや、全角での入力
解決方法:
- 関数名を正しく入力(半角英数字で、大文字小文字は区別されない)
- 関数ウィザードを使う(「fx」ボタンをクリック)
#NULL!エラー
原因: 範囲の指定方法が間違っている
解決方法:
- コロン(:)で範囲を正しく指定する(例:A1:A10)
- カンマ(,)で別々の範囲を区切る(例:A1:A10,C1:C10)
MIN/MAX関数の便利な使い方テクニック
より実践的なテクニックをいくつか紹介します。
1. 条件付き書式と組み合わせる
MAX関数とMIN関数で得た結果を条件付き書式に利用すると、視覚的にデータの最大値・最小値を把握できます。
手順:
- データ範囲を選択
- 「フォーマット」→「条件付き書式」を選択
- 「カスタム数式」を選択
- 「=セル=MAX($A$1:$A$10)」などと入力
- 書式を設定(背景色など)
これにより、最大値や最小値のセルが自動的に色付けされます。
2. 複数シート間のデータを比較する
異なるシートのデータから最大値・最小値を抽出することもできます。
例:シート1とシート2から最大値を抽出
=MAX(シート1!A1:A10,シート2!A1:A10)
3. フィルタと組み合わせる
MAX/MIN関数で抽出した値に対して、フィルタを使って該当するデータ行を表示することも可能です。
手順:
- MAX/MIN関数で値を求める
- データ範囲にフィルタをかける
- フィルタのオプションで「指定した値に等しい」を選び、MAX/MIN関数のセルを参照する
まとめ:MIN/MAX関数活用のポイント
スプレッドシートのMIN/MAX関数は、シンプルながらも非常に強力なツールです。これらを使いこなすことで、データ分析の効率が大きく向上します。
- 基本を押さえる: MIN/MAX関数の基本的な使い方をマスターしよう
- 関連関数も活用: MINA/MAXA、LARGE/SMALL、MAXIFS/MINIFSなど関連関数も使いこなそう
- 実用的な組み合わせ: 条件付き書式やフィルタと組み合わせて、より視覚的で使いやすい分析環境を作ろう
- エラーに対処: よくあるエラーを理解し、適切に対処できるようにしよう
MIN/MAX関数を使いこなせば、大量のデータからすばやく価値ある情報を見つけ出すことができます。