ExcelのAVERAGEA関数の使い方|文字列・論理値を含む平均の求め方

スポンサーリンク

「平均を出したいのに、データに文字列やTRUE/FALSEが混じっていて困った…」そんな経験はありませんか?

AVERAGE関数だと文字列や論理値はスルーされてしまいます。正確な件数で割った平均にならないこともありますよね。そんなときに活躍するのがAVERAGEA関数です。

この記事では、AVERAGEA関数の基本から実務パターンまで解説します。AVERAGEとの違いもしっかり押さえておきましょう。

ExcelのAVERAGEA関数とは?

AVERAGEA(アベレージ エー)関数は、文字列や論理値を数値に変換したうえで平均を求める関数です。

「A」は「All(すべて)」を意味しています。数値だけでなくすべてのデータ型を計算対象に含めるのが特徴です。

通常のAVERAGE関数は、文字列や論理値を無視します。一方、AVERAGEA関数は次のように変換して計算に含めます。

  • 文字列 → 0として計算
  • TRUE → 1として計算
  • FALSE → 0として計算
  • 空文字列(””) → 0として計算
  • 空白セル → 無視(カウントしない)

NOTE

対応バージョン: Excel 2016 / 2019 / 2021 / 2024 / Microsoft 365

ExcelでのAVERAGEA関数の書き方

基本構文

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

引数は最大255個まで指定できます。値1は必須で、値2以降は省略可能です。

引数の説明

引数必須/省略可説明
値1必須平均を求める最初の値・セル・範囲
値2, …省略可追加の値やセル範囲(最大255個)

「値」にはセル参照・セル範囲・数値・論理値を指定できます。セル範囲内の文字列は0として計算されます。

AVERAGEA関数の基本的な使い方

まずはシンプルな例で動きを確認してみましょう。

数値だけのセル範囲を指定する場合

セルA1:A5に「10, 20, 30, 40, 50」が入っているとします。

=AVERAGEA(A1:A5)

結果は 30 です。数値だけのデータなら、AVERAGE関数と同じ結果になります。

文字列が混じっている場合

セルA1:A5に「10, 20, 欠席, 40, 50」と入っているとします。

=AVERAGEA(A1:A5)

「欠席」は0として扱われます。計算式は (10 + 20 + 0 + 40 + 50) / 5 = 24 です。

一方、AVERAGE関数で同じ範囲を指定するとどうでしょうか。「欠席」は無視されるため、計算式は (10 + 20 + 40 + 50) / 4 = 30 です。文字列の扱いが異なるため、結果も変わってきます。

論理値(TRUE/FALSE)が混じっている場合

セルA1:A5に「10, 7, 9, FALSE, TRUE」と入っているとします。

=AVERAGEA(A1:A5)

TRUEは1、FALSEは0に変換されます。そのため計算式は (10 + 7 + 9 + 0 + 1) / 5 = 5.4 です。

AVERAGE関数との違い

AVERAGEA関数を理解するうえで最も大切なのが、AVERAGE関数との違いです。以下の比較表で整理しておきましょう。

データ型AVERAGEAAVERAGE
数値そのまま計算そのまま計算
TRUE1として計算無視(カウントしない)
FALSE0として計算無視(カウントしない)
文字列(セル内)0として計算無視(カウントしない)
空白セル無視無視
空文字列(””)0として計算無視
エラー値エラーを返すエラーを返す

ポイントは「カウント対象に含まれるかどうか」です。AVERAGEは数値だけをカウントします。一方、AVERAGEAは文字列や論理値もカウントに含めます。そのため分母が変わり、結果が異なるわけです。

どちらを使うべき?

  • 数値だけで平均を出したいAVERAGE関数
  • 未入力や「欠席」なども0として含めたい → AVERAGEA関数
  • 特定の条件に合うデータだけで平均を出したいAVERAGEIF関数AVERAGEIFS関数

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

テストの欠席者を0点として平均を出す

テストで「欠席」と入力されたセルがある場合を考えます。AVERAGEA関数なら欠席者を0点として平均に含められます。

たとえばB2:B10にテストの点数が入っているとします。欠席者のセルには「欠席」と入力されています。

=AVERAGEA(B2:B10)

これで欠席者も0点として計算した全体平均が求められます。出席者だけの平均が必要なときはAVERAGE関数を使いましょう。

アンケートの未回答を0として集計する

5段階評価のアンケートで、未回答のセルに「未回答」と入力されているケースです。

=AVERAGEA(C2:C50)

「未回答」が0として扱われるため、未回答者を含めた全体の平均評価が算出されます。

チェックボックス(TRUE/FALSE)の達成率を求める

チェックボックスはTRUE/FALSEを返します。AVERAGEAならTRUEを1、FALSEを0として計算するので、達成率にも使えます。

=AVERAGEA(D2:D20)

結果が0.6なら「60%の項目が完了」という意味です。表示形式をパーセントに設定すると見やすくなります。

よくあるエラーと対処法

#DIV/0! エラー

指定した範囲にデータが1つもない場合に発生します。すべてのセルが空白だと、割る数が0になるためです。

対処法: データが入っているか確認しましょう。IFERROR関数で囲むとエラー表示を回避できます。

=IFERROR(AVERAGEA(A2:A10), "データなし")

#VALUE! エラー

関数に直接文字列を入力した場合に発生します。セル参照経由の文字列は0として処理されますが、直接入力は変換できません。

対処法: 値を直接入力するのではなく、セル参照で指定しましょう。

=AVERAGEA("テスト", 10, 20)   ← #VALUE! エラー
=AVERAGEA(A1:A3)              ← A1に"テスト"が入っていてもOK(0として計算)

エラー値を含むセルがある場合

範囲内に#N/Aや#REF!などのエラー値があると、結果もエラーになります。

対処法: 事前にエラーを除外する必要があります。AGGREGATE関数の使用がおすすめです。

似た関数との使い分け

AVERAGEA関数と混同しやすい関数を整理しておきましょう。

関数用途文字列の扱い
AVERAGE数値の平均無視する
AVERAGEAすべてのデータの平均0として計算
AVERAGEIF条件付き平均条件に合うセルのみ
AVERAGEIFS複数条件の平均条件に合うセルのみ

カウント系の関数も覚えておくと便利です。COUNT関数は数値セルだけをカウントします。COUNTA関数は空白以外のすべてのセルをカウントします。AVERAGEとAVERAGEAの関係に似ていますね。

まとめ

AVERAGEA関数は、文字列を0、TRUEを1、FALSEを0として計算に含める平均関数です。

使い方のポイントをおさらいしておきましょう。

  • 構文: =AVERAGEA(値1, [値2], ...)
  • 特徴: 文字列→0、TRUE→1、FALSE→0に変換して計算
  • 空白セル: 無視される(0にはならない)
  • AVERAGE関数との違い: AVERAGEは文字列・論理値を無視する

「欠席者を0点で計算したい」「達成率を出したい」といった場面で活躍します。ぜひ活用してみてください。

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