スプレッドシートのMAXA関数の使い方|文字列含む最大値

スポンサーリンク

データの最大値を出したいけど、範囲に「欠席」や「対象外」といった文字列が混ざっていることってありますよね。

MAX関数なら文字列はスキップしてくれます。でも「文字列が入っているセルも考慮して最大値を出したい」場面もあります。

そんなときに使うのがMAXA関数です。文字列やFALSEを0、TRUEを1として計算に含めてくれます。

この記事ではMAXA関数の基本から、MAX関数との違い、実務での使いどころまで紹介します。

MAXA関数とは?

MAXA関数(読み方: マックスエー関数)は、文字列やTRUE/FALSEを含むデータ全体から最大値を返す関数です。

名前は「MAX」に「A(All)」を加えたもので、「すべてのデータを計算対象にする」というイメージです。

MAX関数との最大の違いは、データ型ごとの扱い方です。

セルの内容MAXMAXA
数値計算に含む計算に含む
文字列スキップ0として計算
TRUEスキップ1として計算
FALSEスキップ0として計算
空白セルスキップスキップ

たとえばA1:A3に「80, “欠席”, 60」と入っているとします。

  • =MAX(A1:A3) → 80(数値2つから最大値)
  • =MAXA(A1:A3) → 80(文字列を0として含めても最大値は変わらない)

この例では結果が同じですね。MAXA関数が活きるのは、負の数値を含むケースです。A1:A3に「-10, “欠席”, -20」が入っているとします。

  • =MAX(A1:A3) → -10(数値2つから最大値)
  • =MAXA(A1:A3) → 0(文字列の0が最大値になる)

MAXA関数にできることをまとめると、次のとおりです。

  • 文字列を0として最大値の比較に含める
  • TRUEを1、FALSEを0として比較に含める
  • 空白セルはスキップする(MAX関数と同じ)
  • 数値だけの範囲ではMAX関数と同じ結果になる

NOTE

MAXA関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同名の関数があり、動作もほぼ同じです。

MAXA関数の書き方(構文と引数)

基本構文

=MAXA(値1, [値2], ...)

カッコの中に、最大値を求めたいデータやセル範囲を指定します。

引数の説明

引数必須/任意説明
値1必須最大値を求めたい最初の値、セル参照、またはセル範囲
値2, …任意追加で比較したい値やセル範囲(最大30個まで)

引数が2つ以上ある場合は、カンマ( , )で区切ります。

MAX関数と構文は同じです。違いは「文字列やTRUE/FALSEをどう扱うか」だけです。

TIP

Excelでは引数を最大255個まで指定できますが、Googleスプレッドシートでは最大30個です。セル範囲を使えば実務で困ることはありません。

MAXA関数の基本的な使い方

ここからは、実際にMAXA関数を使う手順を見ていきましょう。

文字列を含むデータの最大値を求める

B2からB6にテストの点数が入っていて、B4に「欠席」という文字列が入っているとします。

=MAXA(B2:B6)

「80, 70, 欠席, 90, 60」の場合、「欠席」は0として扱われます。結果は「90」です。数値の最大値がそのまま返ります。

MAX関数でも「90」になります。この場合は文字列が0として扱われても、最大値には影響しません。

TRUE/FALSEを含むデータの最大値

チェックボックスの列など、TRUE/FALSEが混在するデータにも使えます。

B2からB5に「0.5, TRUE, FALSE, 0.8」が入っているとします。

=MAXA(B2:B5)

TRUEは1、FALSEは0として扱われます。結果は「1」です。TRUEが1に変換されて最大値になります。

MAX関数なら「0.8」になります。TRUEをスキップするからです。

負の数値と文字列が混在する場合

MAXA関数とMAX関数の違いが明確に出るのは、負の数値を含むケースです。

B2からB4に「-5, “計測不能”, -10」が入っているとします。

=MAXA(B2:B4)

文字列が0として扱われるため、結果は「0」です。MAX関数なら「-5」になります。

数値だけの範囲で使った場合

数値だけの範囲ならMAXA関数はMAX関数と同じ結果を返します。

=MAXA(80, 70, 90)

結果は「90」です。文字列やTRUE/FALSEが含まれていなければ、違いはありません。

MAXA関数の実務活用パターン

パターン1: 計測エラーを含むデータの最大値

センサーデータや計測結果で「エラー」や「計測不能」という文字列が入る場面です。B列に計測値が入っているとします。

=MAXA(B2:B100)

文字列セルを0として扱うので、異常値の文字列が含まれていても最大値を求められます。

ただし、計測エラーを無視して数値だけの最大値を出したい場合は、MAX関数のほうが適しています。

パターン2: MAX関数との結果を並べて比較する

同じ範囲に対してMAXとMAXAの両方を出しておくと、データの中身が見えてきます。

=MAX(B2:B20)
=MAXA(B2:B20)

2つの値に差がある場合、いくつかの可能性があります。

  • 負の数値があり、文字列の0がMAXAの最大値になっている
  • TRUEの1が最大値に影響している

差がなければ、範囲内は数値だけで構成されています。

パターン3: COUNTA関数と組み合わせてデータ件数を確認する

MAXA関数がどのようなデータを対象にしているか確認したいときは、COUNTA関数を使います。

=COUNTA(B2:B20)

COUNTA関数は空白以外のセル数を返します。MAX関数の結果と比べて、文字列や論理値がどの程度含まれているか把握できます。

よくあるエラーと対処法

MAXA関数はシンプルな関数ですが、結果がおかしいと感じる場面もあります。

症状原因対処法
結果が0になるすべて空白、または負の数と文字列が混在データが入っているか確認。文字列が0になる仕様を確認する
MAX関数と結果が違う文字列やTRUE/FALSEが0/1として含まれている意図どおりか確認。不要ならMAX関数に切り替える
MAX関数と結果が同じ範囲内に文字列やTRUE/FALSEがない数値だけの範囲では同じ結果になる
#N/Aエラー引数にエラー値が含まれているIFERROR関数でエラーを除外する

結果が0になるときの確認方法

MAXA関数の結果が0になる場合、2つの原因が考えられます。

1つ目は、範囲内がすべて空白セルのケースです。2つ目は、すべての数値が負の値で、文字列が0として最大値になっているケースです。

MAX関数と結果を比べてみてください。

=MAX(B2:B20)   → 文字列をスキップした最大値
=MAXA(B2:B20)  → 文字列を0として含めた最大値

MAX関数が負の値を返し、MAXA関数が0を返すなら、文字列が影響しています。文字列を0として含める意図がなければ、MAX関数に切り替えましょう。

#N/Aエラーの対処

範囲内にエラー値(#N/A, #VALUE!など)がある場合、MAXA関数もエラーを返します。

=IFERROR(MAXA(B2:B20), "エラーあり")

エラーセルを除外して最大値を求めたい場合は、FILTER関数と組み合わせます。

=MAXA(FILTER(B2:B20, NOT(ISERROR(B2:B20))))

MAX関数との違い・使い分け

MAXA関数とMAX関数は構文が同じで、データ型の扱いだけが異なります。

比較項目MAXMAXA
数値計算に含む計算に含む
文字列スキップ0として計算
TRUEスキップ1として計算
FALSEスキップ0として計算
空白セルスキップスキップ
主な用途数値だけの最大値全データ型を考慮した最大値

どちらを使うべき?

使い分けの判断基準はシンプルです。

  • 数値だけの最大値を出したい → MAX関数
  • 文字列やTRUE/FALSEも考慮して最大値を出したい → MAXA関数

実務ではほとんどの場面でMAX関数が適しています。MAXA関数が必要になるのは、負の数値と文字列が混在するデータで「文字列セルを0として含めたい」場面です。正の数値だけのデータなら、文字列を0として含めても最大値は変わりません。

似た関数との違い・使い分け

MAXA関数と関連する関数をまとめました。

関数動作文字列の扱い使いどころ
MAXA全データ型を含む最大値0として計算文字列も考慮して最大値を求めたい
MAX数値の最大値スキップ数値だけの最大値
MAXIFS条件付き最大値スキップ条件に合うデータの最大値
AVERAGEA全データ型を含む平均0として計算文字列も含めた平均
MINA全データ型を含む最小値0として計算文字列も考慮して最小値を求めたい

条件付きで最大値を出したい場合は、MAXIFS関数を使いましょう。

Excelとの違い

MAXA関数はExcelとGoogleスプレッドシートでほぼ同じ動作です。

項目ExcelGoogleスプレッドシート
構文=MAXA(値1, …)=MAXA(値1, …)
文字列の扱い0として計算0として計算
TRUEの扱い1として計算1として計算
FALSEの扱い0として計算0として計算
空白セルスキップスキップ
引数上限最大255個最大30個

引数の上限数が異なりますが、セル範囲を使えば問題ありません。Excelと同じ感覚で使えますよ。

まとめ

MAXA関数は、文字列やTRUE/FALSEを含むデータから最大値を求める関数です。

ポイントを整理します。

  • 構文は =MAXA(値1, [値2], ...) で全データ型を含む最大値を返す
  • 文字列は0、TRUEは1、FALSEは0として計算に含める
  • 空白セルはスキップされる(MAX関数と同じ)
  • 数値だけの範囲ではMAX関数と同じ結果になる
  • 負の数値と文字列が混在するデータで違いが出る
  • 通常の最大値はMAX関数がおすすめ

まずは =MAXA(範囲)=MAX(範囲) を並べて、結果の違いを確認してみてください。


この記事で紹介した関数・関連記事

タイトルとURLをコピーしました