• 作成日 : 2025年8月5日

ExcelのMAX関数の使い方とは?複数条件や文字列の扱い方も解説

Excelで大量の数値データから「最大値」を効率的に抽出したいときに便利なのがMAX関数(マックス関数)です。売上分析や成績評価など、幅広いシーンで活躍します。

本記事では、MAX関数の基本から応用例、よくあるミスまでを初心者向けにわかりやすく解説します。

MAX関数とは?数値データから最大値を瞬時に抽出する基本

MAX関数は、指定した範囲内の数値データの中から最も大きな値、つまり「最大値」を抽出するための関数です。たとえば、テストの点数、商品の売上、気温の記録など、さまざまな数値データの中から、最高の結果や最も高い数値を簡単に特定できます。

この関数は、日常業務におけるデータ分析から、より高度な統計処理まで、幅広い場面で活用されます。手作業で大量のデータから最大値を探す手間を省き、入力ミスや見落としのリスクを軽減することで、作業の効率性と正確性が飛躍的に向上します。

MAX関数の基本的な書式

MAX関数の基本的な書式は以下の通りです。

=MAX(数値1, [数値2], …)
  • 数値1:必須項目です。最大値を求めたい数値、または数値が含まれるセル範囲を指定します。
  • [数値2], …:オプション項目です。さらに最大値を比較したい数値やセル範囲がある場合に指定します。最大255個まで指定可能です。

この書式では、直接数値を入力することもできますし、セル参照や範囲参照を使うこともできます。

MAX関数の使い方:具体的なステップ

それでは、実際にMAX関数を使ってみましょう。ここでは、いくつかの具体的な例を挙げて解説します。

例1:複数の数値の中から最大値を求める

たとえば、10, 25, 5, 30, 15 という数値の中から最大値を求めたい場合、以下のように入力します。

=MAX(10, 25, 5, 30, 15)

この数式を入力すると、「30」が結果として表示されます。

例2:特定のセル範囲から最大値を求める

最も一般的な使い方は、特定のセル範囲から最大値を求める方法です。

たとえば、セルA1からA5に以下の数値が入力されているとします。

  • A1:80
  • A2:95
  • A3:70
  • A4:100
  • A5:85

この場合、セルB1に最大値を表示させたいとすると、B1に以下の数式を入力します。

=MAX(A1:A5)

これにより、セルB1には「100」が表示されます。A1:A5という形式で範囲を指定することで、その範囲に含まれるすべての数値が対象となります。

例3:複数の範囲や数値を組み合わせて最大値を求める

MAX関数は、複数のセル範囲や個別の数値を組み合わせて最大値を求めることも可能です。

たとえば、A1:A5の範囲と、B1:B5の範囲、さらに数値「120」の中から最大値を求めたい場合、以下のように入力します。

=MAX(A1:A5, B1:B5, 120)

この数式は、指定されたすべての要素の中から最も大きな値を返します。

MAX関数と空白セル、文字列、論理値

MAX関数は、以下のようなデータをどのように扱うかを知っておくことも重要です。

  • 空白セル:空白セルは無視されます。
  • 文字列:文字列は無視されます。混乱を避けるため、数値セルには数値のみを入力するようにしましょう。
  • 論理値 (TRUE/FALSE):引数として指定した論理値は、有効です。TRUEは1、FALSEは0として計算されます。ただし、 配列やセル範囲に含まれる論理値は無視されます。

これらの特性を理解しておくことで、予期せぬ結果を防ぎ、より正確なデータ分析を行えます。

ビジネスや日常生活でのMAX関数の利用シーン

MAX関数をビジネスから日常生活まで、具体的な利用シーンをいくつかご紹介します。

1. 売上データの分析

最も一般的な利用シーンの一つが、売上データの分析です。

  • 月間最高売上額の特定
    毎日の売上データから、その月で最も売上が高かった日を特定する。 例:=MAX(C2:C31) (C列に日々の売上額が入力されている場合)
  • 商品別最高売上
    複数ある商品の売上データの中から、最も売上が高かった商品を特定する(商品名自体はMAX関数単体では特定できませんが、INDEX+MATCH関数やXLOOKUP関数など他の関数と組み合わせることで、対応する商品名を特定することも可能です)。
  • 営業担当者ごとの最高売上
    各営業担当者の月間売上の中で、最も実績が高かった担当者の売上額を把握する。

これらの分析により、売上が好調だった要因を分析したり、目標設定の参考にしたりできます。

2. 成績評価とランキング

学校の成績やスポーツの記録など、個人のパフォーマンスを評価する際にもMAX関数は役立ちます。

  • テストの最高点
    クラス全員のテストの点数の中から最高点を割り出す。 例:=MAX(D2:D50) (D列に生徒の点数が入力されている場合)
  • スポーツ記録のベストタイム/ベストスコア
    陸上競技のタイムやゴルフのスコアなど、最も良い記録を特定する。

最高点を把握することで、問題の難易度を判断したり、優秀な生徒を把握したりするのに役立ちます。

3. 在庫管理と発注点の設定

製造業や小売業において、在庫管理は非常に重要です。MAX関数は、在庫の変動を把握し、適切な発注点を設定するのに役立ちます。

  • 過去の最大消費量
    特定の期間における商品の最大消費量を把握する。これにより、品切れを起こさないための最低在庫量を算出する参考になります。
  • 最大在庫数
    倉庫に保管されている商品の最大在庫数を把握し、保管スペースの最適化に役立てる。

4. プロジェクト管理と進捗状況の把握

プロジェクトの進捗管理においても、MAX関数は有用です。

  • 最長タスク期間の特定
    各タスクに要する期間のデータから、最も時間がかかるタスクを特定する。これにより、プロジェクト全体のスケジュールを見積もる際の参考になります。
  • 最大コストの把握
    各工程で発生した費用のデータから、最もコストがかかった工程を特定する。

5. その他の活用例

  • 気温の最高値
    毎日の最高気温のデータから、観測期間中の最高気温を特定する。
  • 給与計算
    残業時間や手当など、複数の要素の中から最大のものを抽出して計算に組み込む。
  • 金融データの分析
    株価や為替レートの変動の中から、最高値を把握する。

このように、MAX関数はさまざまなデータの中から「一番高い数値」を抽出するという単純な機能ながら、多岐にわたる分野で活用できる汎用性の高い関数です。

MAX関数と他の関数との組み合わせでデータ分析を深める

MAX関数を他のExcel関数と組み合わせることで、より高度なデータ分析や複雑な条件での最大値抽出が可能になります。ここでは、いくつか代表的な応用例をご紹介します。

1. 条件付きで最大値を求める:MAXIFS関数 (Excel 2019以降)

特定の条件を満たすデータの中から最大値を求めたい場合、MAXIFS関数が非常に有効です。MAXIFS関数は、複数の条件を指定して最大値を抽出できます。

MAXIFS関数の書式

=MAXIFS(最大範囲, 条件範囲1, 条件1, [条件範囲2, 条件2], …)
  • 最大範囲:最大値を求めたい数値が含まれる範囲です。
  • 条件範囲1:最初の条件を適用する範囲です。
  • 条件1:最大として評価されるセルを、数値、式、またはテキストの形式で定義します。
  • [条件範囲2, 条件2], …:オプションで、さらに条件のペアを追加する場合に指定します。

例:特定商品の最大売上を求める

たとえば、商品名と売上額が記載されたデータがあり、「リンゴ」の最大売上を求めたい場合、以下のように記述します。

商品名売上額
リンゴ1000
バナナ800
リンゴ1200
ミカン700
リンゴ900

このデータで、セルA列に商品名、B列に売上額が入力されているとすると、以下の数式でリンゴの最大売上を求められます。

=MAXIFS(B:B, A:A, “リンゴ”)

この数式は、A列が「リンゴ」である行のB列の中から最大値を抽出し、「1200」を返します。

2. 配列数式とMAX関数:複雑な条件での最大値抽出 (Excel 2016以前、または複数条件の場合)

MAXIFS関数が利用できないExcelのバージョンや、より複雑な条件設定が必要な場合は、配列数式としてMAX関数とIF関数を組み合わせる方法があります。配列数式は、通常Enterキーではなく、「Ctrl + Shift + Enter」で確定する必要があります(Microsoft 365のExcelなど、動的配列に対応したバージョンではEnterのみで動作することもあります)。

例:複数条件での最大値抽出

「東京支店の売上で、かつ売上額が5000円を超える商品」の最大売上を求めたい場合、以下のような配列数式を使用します。

=MAX(IF((支店列=”東京”)*(売上額列>5000), 売上額列))

この数式は、支店列が「東京」かつ売上額列が5000より大きいという両方の条件を満たす行の売上額列から最大値を抽出します。

重要:配列数式を入力したら、必ずCtrl + Shift + Enterで確定し、数式が{}(波括弧)で囲まれていることを確認してください。

3. LARGE関数との使い分け

MAX関数は「最大値」を抽出しますが、「2番目に大きい値」や「3番目に大きい値」など、N番目に大きい値を抽出したい場合はLARGE関数を使用します。

LARGE関数の書式

=LARGE(範囲, 順位)
  • 範囲:N番目に大きい値を求めたい数値が含まれる範囲です。
  • 順位:何番目に大きい値を求めるかを指定します(例:1で最大値、2で2番目に大きい値)。

MAX関数はLARGE(範囲, 1)と同じ結果を返します。つまり、MAX関数はLARGE関数の特殊な形と言えます。

4. MIN関数との対比

MAX関数が「最大値」を求めるのに対し、MIN関数は「最小値」を求めます。使い方はMAX関数と全く同じで、指定した範囲の中から最も小さな数値を抽出します。

=MIN(数値1, [数値2], …)

データ分析においては、最大値だけでなく最小値も把握することで、データの傾向や外れ値をより詳細に分析できます。

5. MAX関数とSUMPRODUCT関数を組み合わせる(条件付き最大値、より高度な方法)

MAXIFS関数が利用できない古いバージョンや、より複雑な条件で最大値を抽出したい場合に使える手法を紹介します。

例:複数条件での最大値抽出

条件付き最大値の抽出にはMAXとIFの組み合わせがより汎用的な手法ですが、複数条件にマッチした件数の合計によく利用されるSUMPRODUCT関数を使う方法もあります。

「A列(支店)が「東京」かつB列(売上)が5000より大きいC列(評価点)」の最大値を求めたい場合、以下のような配列数式を使用します。

=MAX(SUMPRODUCT(A2:A7=”東京”)*(B2:B7>5000)*C2:C7)

この数式は、支店列が「東京」かつ売上額列が5000より大きいという両方の条件を満たす行の評価点から最大値を抽出します。

TRUEは1、FALSEは0に変換された上で、C2:C7の値と乗算されます。 結果として、たとえば{85; 0; 0; 92; 0; 88} のような配列が生成され、MAXがその中から最大値を選びます。ただし条件に合わない行は0になるため、MIN関数には適用できません。

MAX関数使用時の注意点とトラブルシューティング

MAX関数は非常にシンプルで使いやすい関数ですが、正しく結果を得るためにはいくつか注意しておくべき点があります。また、予期せぬ結果が出た場合のトラブルシューティングについても知っておきましょう。

1. 数値以外のデータに注意する

前述の通り、MAX関数は数値以外のデータ(配列やセル範囲に含まれる文字列、空白セルなど)を無視します。しかし、これが意図しない結果につながることもあります。

例:数値と見なせる文字列

セルに「’123」(アポストロフィ付きの数値)のように、見かけは数値だが実際には文字列として入力されている場合、MAX関数はこれを無視します。

解決策:
  • 入力されているデータが本当に数値であるかを確認します。
  • 文字列として入力されている数値を、数値に変換します。これには、「データ」タブの「区切り位置」機能や、VALUE関数などが利用できます。

2. 負の数と0の扱い

MAX関数は、負の数や0も数値として扱います。

例:すべて負の数である場合

もし範囲内のすべての数値が負の数だった場合、MAX関数は最も0に近い負の数を最大値として返します。

例:=MAX(-10, -5, -20) の結果は -5 になります。

例:範囲に数値がない場合

指定した範囲に数値が全く含まれていない場合、MAX関数は#NUM!エラーまたは0を返します。もし数値が含まれることを期待していたのにエラーが返された場合は、入力ミスやデータの欠落を確認しましょう。

解決策:
  • データ範囲が正しいことを確認します。
  • 範囲内に期待する数値が入力されているか確認します。

3. エラー値の扱い

指定した範囲に#DIV/0!や#VALUE!などのエラー値が含まれている場合、MAX関数はエラー値を返します。

例:エラー値が含まれる場合

=MAX(10, 20, #DIV/0!, 30) の結果は #DIV/0! になります。

解決策:
  • エラー値が発生している原因を特定し、修正します。
  • エラー値を無視して最大値を求めたい場合は、AGGREGATE関数や、IFERROR関数と配列数式を組み合わせる方法があります。 例 (AGGREGATE関数):=AGGREGATE(4, 6, A1:A10) 4はMAX関数を表し、6はエラー値を無視するオプションです。

4. 複数シートやブックからの最大値抽出

MAX関数は、同一シート内の範囲だけでなく、他のシートや他のExcelブックのデータから最大値を抽出することも可能です。

例:別シートからの参照

=MAX(Sheet2!A1:A10)

例:別ブックからの参照

=MAX(‘[売上データ.xlsx]Sheet1’!$A$1:$A$10)

参照が複雑になると、数式が長くなり見づらくなることがあります。また、参照先のファイルが移動したり名前が変わったりするとエラーになる可能性があるので注意が必要です。

5. MAX関数がうまく動作しない場合のチェックリスト

もしMAX関数が期待通りに動作しない場合、以下の点をチェックしてみてください。

  • 参照範囲は正しいか?:最大値を求めたいデータがすべて含まれるように範囲が正しく指定されていますか?
  • データ型は正しいか?:数値として認識されるデータが入力されていますか?文字列として入力されていませんか?
  • エラー値が含まれていないか?:範囲内にエラー値があると、MAX関数もエラーを返します。
  • 配列数式の場合、Ctrl + Shift + Enterで確定したか?:通常のEnterで確定すると正しく計算されない場合があります。
  • セルの書式設定は関係ない:セルの表示形式(通貨、パーセンテージなど)はMAX関数の計算結果に影響しません。計算はあくまでそのセルが持つ実際の数値で行われます。

これらの注意点とトラブルシューティングを理解しておくことで、MAX関数をより安定して、かつ正確に活用できます。

MAX関数をマスターしてデータ分析の効率を上げよう

MAX関数は、データの中から最大値を簡単に抽出できる便利なExcel関数です。売上や成績、在庫管理などあらゆる場面で活用され、MAXIFS関数や配列数式との併用でさらに応用が広がります。MIN関数やLARGE関数と組み合わせれば、より多角的な分析も可能になります。日々の業務で積極的に活用し、作業効率と分析精度を高めましょう。


※ 掲載している情報は記事更新時点のものです。

※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。

関連記事