Excel関数 逆引き集 | 最大値を求めたい → MAX

Excel
スポンサーリンク

概要

MAXは「指定した範囲や数値の中で最も大きい値(最大値)」を返すExcelの基本関数です。空白や文字列は無視され、0は数値として含まれます。エラー値が混ざると結果がエラーになるため、必要に応じて前処理(IFERRORなど)を使います。条件付きで最大値を取りたい場合はMAXIFS、フィルタ後に見えている行だけならSUBTOTALを使います。


基本の使い方

  • 書式:
=MAX(数値1, [数値2], …)

範囲、離れたセル、直接数値を混ぜて指定できます。

  • 単一範囲の最大値:
=MAX(A1:A10)

A1〜A10の中で最も大きい値を返します(空白や文字列は除外、0は含まれる)。

  • 複数範囲・離れたセルの最大値:
=MAX(A1:A10, C1:C5, F3)

連続・非連続をまとめて比較できます。

  • 日付・時刻の最大値:
=MAX(D2:D100)

Excelの日付や時刻は数値なので「最新日付」「最も遅い時刻」を返せます。


具体例

例1: テスト点数の最大値

A2:A11に点数が入っているとします。

  • 目的: クラスの最高点をA12に表示
=MAX(A2:A11)
  • ポイント:
    • 空欄: 空白セルは無視されるためそのままでOK。
    • 0: 0点は数値として最大値の候補に含まれます。

例2: 売上の最大値(横方向)

B2:E2に「1月〜4月の売上」が並ぶとします。

  • 目的: その行の最大月をF2に表示
=MAX(B2:E2)
  • ポイント:
    • コピー: F2の式を下へコピーして各行の最大値を求められます。

例3: 離れたセルの最大値

B2, B5, B9の中で最大を取りたい。

  • 目的: 離れたセルを指定
=MAX(B2, B5, B9)
  • ポイント:
    • カンマ: 個別セルはカンマ区切りで並べます。

例4: テーブル(構造化参照)の最大値

テーブル「売上」に列「金額」がある場合。

  • 目的: 金額列の最大値
=MAX(売上[金額])
  • ポイント:
    • 自動拡張: 行追加に追従します。

よくあるつまずきと対策

  • 文字列が混ざって最大値が期待通りにならない:
    見た目が数値でも文字列扱いだと比較対象から除外されます。
    • 対策:
      • データの統一: 全角/半角、カンマ、先頭アポストロフィを除去。
      • 数値化: 必要ならVALUEで前処理し別列を参照。
  • エラー値が含まれてMAXがエラーになる:
    #DIV/0! などが範囲にあるとMAXはエラーになります。
    • 対策: IFERRORでエラーを空白に置換してから最大値を計算。
=MAX(IFERROR(A2:A100, ""))

動作が不安定なら、まず別列でIFERRORを使ってクレンジングしてからMAXを参照すると確実です。

  • フィルタ後、非表示行も含まれてしまう:
    MAXは非表示行も評価します。
    • 対策: 表示中だけの最大値ならSUBTOTAL(最大値は104)。
=SUBTOTAL(104, A2:A100)
  • 条件付きで最大値を取りたい:
    「地域が東京の中で最大」など条件が必要な場合。
    • 対策: MAXIFSを使う(Excel 2019以降)。
=MAXIFS(B2:B100, A2:A100, "東京")

複数条件も追加可能です。

  • TRUE/FALSEや文字列も含めて評価したい:
    その場合はMAXAを検討(TRUE=1、FALSE=0、文字列は0として扱われます)。
=MAXA(A2:A100)

数値混在では誤解を招きやすいので用途を限定しましょう。


応用テンプレート

  • 複数シートをまたぐ最大値:
=MAX(Jan!B2:B100, Feb!B2:B100, Mar!B2:B100)
  • 条件が複数の最大値(MAXIFS): 月が「12月」、地域が「東京」の金額最大
=MAXIFS(売上[金額], 売上[月], "12月", 売上[地域], "東京")
  • トップN(最大上位N件)を取得(LARGE): 金額列の上位3件
=LARGE(売上[金額], 1)   // 最大
=LARGE(売上[金額], 2)   // 2番目
=LARGE(売上[金額], 3)   // 3番目
  • 最大値の行を特定(MATCHとINDEX): 金額の最大値がある行の商品名
=INDEX(売上[商品], MATCH(MAX(売上[金額]), 売上[金額], 0))
  • 時刻データの最も遅い時間:
=MAX(TimeLog[開始時刻])

練習問題

  • 問題1: A2:A12にテスト点があり、最高点をA13に表示してください。
    • 解答例:
=MAX(A2:A12)
  • 問題2: B2:E10に各月の売上があり、各行の最大値をF列に表示してください(F2に式を入れてF10までコピー)。
    • 解答例:
=MAX(B2:E2)
  • 問題3: フィルタで表示中の行だけの最大値をG2に表示してください(対象: A2:A200)。
    • 解答例:
=SUBTOTAL(104, A2:A200)
  • 問題4: テーブル「売上」で、地域が「東京」の金額最大をH2に表示してください。
    • 解答例:
=MAXIFS(売上[金額], 売上[地域], "東京")

Excel
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました