ExcelのMAXA関数の使い方|論理値や文字列も含めて最大値を求める方法

スポンサーリンク

「MAX関数で最大値を出したら、TRUEやFALSEが入ったセルが無視されてしまった」。こんな経験はありませんか?

MAX関数は論理値や文字列をスキップするので、データの全体像をつかめません。TRUE/FALSEが混在するアンケートや検査結果では困りますよね。

MAXA関数なら、論理値や文字列も含めた最大値を求められます。 この記事ではMAX関数との違いや実務パターン、エラー対処法を解説します。

MAXA関数とは?読み方と基本の仕組み

MAXA関数は、指定した範囲の中から論理値や文字列も含めて最大値を返す関数です。

読み方は「マックスエー関数」です。MAXに「All(すべて)」のAが付いた名前です。すべてのデータ型を含めて最大値を求めるという意味があります。同じパターンの関数にMINA関数(最小値版)があります。

TIP

「A」が付く関数は他にもあります。COUNTA関数はCOUNT関数の「すべてのデータ型をカウントする」版です。MAXA/MINAも同じ命名パターンで、「論理値・文字列も含めて集計する」という意味を持ちます。

Excel 2000以降のすべてのバージョンとMicrosoft 365で使えます。

通常のMAX関数との一番大きな違いは、データ型ごとの扱い方です。

データの種類MAX関数の扱いMAXA関数の扱い
数値比較対象になる比較対象になる
TRUE無視する1として計算
FALSE無視する0として計算
文字列無視する0として計算
空白セル無視する無視する
エラー値エラーが返るエラーが返る

ポイントは「TRUEを1、FALSEと文字列を0として扱う」点です。

たとえばセル範囲に -5, TRUE, "合格" が入っているとします。MAX関数では -5 だけが対象で、結果は -5 です。

MAXA関数は -5, 1, 0 として計算するので、結果は 1 になります。

NOTE

引数に論理値や文字列を直接入力した場合は、MAX関数でもTRUE=1、FALSE=0として計算されます。セル範囲内にある場合の動作が異なるのがMAXA関数の特徴です。

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

基本構文

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

引数の説明

引数必須/任意内容
値1必須最大値を求めたい値、セル参照、またはセル範囲
値2以降任意追加で比較したい値や範囲(最大255個まで指定可能)

MAX関数と構文はまったく同じです。違いはセル範囲内の論理値・文字列の扱いだけです。セル参照、セル範囲、数値の直接入力が指定できます。

MAXA関数の基本的な使い方

結論から言うと、セル範囲を指定するだけです。書き方はMAX関数と同じです。

たとえばA1からA10にデータが入っている場合はこう書きます。

=MAXA(A1:A10)

A1からA10の中で一番大きい値が返ります。このとき、TRUEは1、FALSEと文字列は0として計算に含まれます。

MAX関数と結果が変わるケースを確認しよう

MAXA関数の特徴がよくわかる例を見てみましょう。

セルMAX関数の扱いMAXA関数の扱い
A1-5-5-5
A2-10-10-10
A3TRUE無視1
A4FALSE無視0
A5“テスト”無視0
=MAX(A1:A5)   → 結果: -5
=MAXA(A1:A5)  → 結果: 1

すべて負の数にTRUEが混在するケースでは結果が大きく変わります。MAX関数は -5、MAXA関数は 1 です。「TRUEを含めて比較したいか」で使い分けましょう。

数値だけのデータではMAX関数と同じ結果

データが数値だけの場合は、MAXA関数もMAX関数も同じ結果を返します。

=MAX(80, 95, 72)   → 結果: 95
=MAXA(80, 95, 72)  → 結果: 95

わざわざMAXA関数を使う必要はありません。「論理値や文字列が混在するデータ」に限定して使い分けるのがおすすめです。

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

基本の使い方がわかったところで、実務でMAXA関数が活躍する場面を見ていきましょう。

TRUE/FALSEが混在するアンケートデータの集計

アンケート結果でTRUE/FALSEの回答と数値スコアが混在するシートを扱うことがあります。

たとえばB列に「満足度スコア(1〜5)」が入っているとします。一部のセルにTRUE/FALSEが入っているケースです。

=MAXA(B2:B50)

MAXA関数ならTRUE=1、FALSE=0として計算に含めます。MAX関数ではTRUE/FALSEが無視されるので注意してください。

検査結果の合否データから最大値を求める

品質検査でセルにTRUE(合格)/FALSE(不合格)と数値の測定値が混在するケースです。

=MAXA(C2:C100)

TRUE=1として含めるので、測定値が0以下でもTRUEがあれば 1 が返ります。データ全体を見渡した判断に役立ちます。

MINA関数と組み合わせてデータの振れ幅を求める

MAXA関数と対になるMINA関数を組み合わせると、論理値・文字列を含めたデータの振れ幅が求められます。

=MAXA(A2:A50) - MINA(A2:A50)

MAX-MINではスキップされていたTRUE/FALSEも含めた「本当のレンジ」がわかります。

IF関数と組み合わせて判定に使う

MAXA関数の結果をもとに条件分岐させるパターンです。

=IF(MAXA(B2:B10)>0, "有効データあり", "すべて無効")

TRUE(=1)が1つでもあれば「有効データあり」と判定できます。IF関数との組み合わせはデータの有無チェックにも便利です。

COUNTA関数と組み合わせてデータの概況を把握する

=MAXA(A2:A100) & " / " & COUNTA(A2:A100) & "件"

最大値とデータ件数を1つのセルにまとめる書き方です。COUNTA関数と組み合わせると、データの概況を一目で把握できます。

MAXA関数とMAX関数の違い

MAXA関数とMAX関数の違いを改めて整理しておきましょう。

比較項目MAXA関数MAX関数
機能論理値・文字列を含めた最大値数値のみの最大値
構文=MAXA(範囲)=MAX(範囲)
TRUEの扱い1として計算無視する
FALSEの扱い0として計算無視する
文字列の扱い0として計算無視する
空白セルの扱い無視する無視する
引数に直接入力TRUE=1、FALSE=0TRUE=1、FALSE=0
数値のみのとき同じ結果同じ結果
対になる関数MINA関数MIN関数
使いどころTRUE/FALSE混在データ通常の数値データ

迷ったらMAX関数を使いましょう。 大半の業務データは数値だけなのでMAX関数で十分です。「TRUE/FALSEも計算に含めたい」ときだけMAXA関数の出番です。

TIP

引数に論理値を直接入力した場合(=MAX(TRUE, 3, 5) など)は、MAX関数でもTRUE=1として計算します。セル範囲を指定した場合のみ動作が異なります。

よくあるエラーと対処法

MAXA関数自体がエラーを出すことは少ないですが、意図しない結果になるケースがあります。

症状原因解決策
結果が 0 になる範囲内がすべて文字列やFALSE数値データが含まれているか確認
結果が 0 になる範囲の指定ミス数式バーで範囲をクリックして色付き枠を確認
#N/A が返る範囲内にエラーセルがあるIFERROR関数でエラーを処理
#VALUE! が返る範囲内にエラーセルがあるAGGREGATE関数(後述)で回避
MAX関数と結果が違うTRUE/FALSE・文字列の扱いの差意図どおりの動作。使い分けを確認

結果が「0」になるときの対処法

MAXA関数で0が返る場合、範囲内のデータがすべて文字列(=0扱い)やFALSE(=0扱い)の可能性があります。

まずISNUMBER関数でセルの中身をチェックしてみてください。

=ISNUMBER(A1)

FALSE なら文字列です。CSVから取り込んだデータは文字列になりがちです。データタブの「区切り位置」やVALUE関数で変換できます。

範囲内にエラーがあるときの対処法

範囲に #N/A#VALUE! が含まれていると、MAXA関数もエラーになります。AGGREGATE関数で対処できます。

=AGGREGATE(4, 6, A1:A100)

第1引数 4 は「最大値」、第2引数 6 は「エラー値を無視」です。ただしAGGREGATE関数はMAX関数と同じ動作です。論理値・文字列は無視されます。MAXA関数の動作でエラーも無視したい場合はこちらです。

=MAXA(IFERROR(A1:A100, ""))

NOTE

この式はMicrosoft 365またはExcel 2021以降のスピル対応環境で動作します。それ以前のバージョンではCtrl+Shift+Enterで確定してください。

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

MAXA関数に関連する関数をまとめて比較します。

関数機能使い分けのポイント
MAXA論理値・文字列を含めた最大値TRUE/FALSE混在データの最大値
MAX数値のみの最大値通常の最大値はこれでOK
MINA論理値・文字列を含めた最小値TRUE/FALSE混在データの最小値
MIN数値のみの最小値通常の最小値はこれでOK
MAXIFS条件付きの最大値部署別・月別で絞りたいとき
LARGEN番目に大きい値2位・3位の値を取得したいとき
SMALLN番目に小さい値下から数えたいとき
COUNTA空白以外のセル数データ件数を数えたいとき

MINA関数との関係

MAXA関数の対になる関数がMINA関数です。構文も引数もまったく同じで、取得する方向が逆です。

比較項目MAXA関数MINA関数
機能論理値・文字列を含めた最大値論理値・文字列を含めた最小値
TRUEの扱い1として計算1として計算
FALSEの扱い0として計算0として計算
文字列の扱い0として計算0として計算
=MAXA(A1:A10)  → 一番大きい値
=MINA(A1:A10)  → 一番小さい値

セットで覚えておくと便利ですよ。

MAX関数とMAXA関数の選び方フロー

どちらを使うか迷ったら、次の基準で判断してください。

  1. データが数値だけ → MAX関数でOK
  2. TRUE/FALSEが混在していて計算に含めたい → MAXA関数
  3. TRUE/FALSEが混在しているが無視したい → MAX関数

ほとんどの場合はMAX関数で事足ります。MAXA関数はTRUE/FALSEを含めたいときの特殊用途と覚えておきましょう。

「A」付き関数の命名パターン

Excelには「A」が付くことで論理値・文字列もカウント対象に含める関数がいくつかあります。パターンを知っておくと覚えやすいですよ。

通常版A付き版違い
MAXMAXA最大値の計算にTRUE/FALSE・文字列を含めるか
MINMINA最小値の計算にTRUE/FALSE・文字列を含めるか
COUNTCOUNTA数値だけ数えるか、空白以外すべて数えるか
AVERAGEAVERAGEA平均の計算にTRUE/FALSE・文字列を含めるか

いずれも「A = All data types」で、通常版が無視するデータ型を計算に含めるのが共通ルールです。MAXA関数を覚えれば、MINA・AVERAGEAも同じ感覚で使えます。

まとめ

  • MAXA関数は論理値や文字列も含めて最大値を返す関数
  • TRUE=1、FALSE=0、文字列=0として計算に含める
  • 書き方は =MAXA(範囲) で、MAX関数と構文は同じ
  • 数値だけのデータならMAX関数と結果は変わらない
  • 対になる関数はMINA関数(論理値を含めた最小値)
  • 「0が返る」ときはISNUMBER関数でデータ型を確認
  • 迷ったらMAX関数。TRUE/FALSEを含めたいときだけMAXA関数

MAXA関数は使いどころが限定的ですが、TRUE/FALSEが混在するデータでは頼りになります。まずはMAX関数の使い方を押さえて、必要に応じて使い分けてください。


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

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