「平均を出したいのに、データに文字列や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関数との違いです。以下の比較表で整理しておきましょう。
| データ型 | AVERAGEA | AVERAGE |
|---|---|---|
| 数値 | そのまま計算 | そのまま計算 |
| TRUE | 1として計算 | 無視(カウントしない) |
| FALSE | 0として計算 | 無視(カウントしない) |
| 文字列(セル内) | 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点で計算したい」「達成率を出したい」といった場面で活躍します。ぜひ活用してみてください。
