この記事では、Excelで平均値を求める際に役立つAVERAGEA関数について、基本的な使い方から、混同しやすいAVERAGE関数との違い、実務で役立つ応用例を例題を交えて解説します。
AVERAGEA関数とは?基本的な使い方とAVERAGE関数との違い
指定した範囲内の数値、文字列、論理値(TRUE/FALSE)を含むすべてのセルを対象として、算術平均(相加平均)を計算する関数
AVERAGEA関数の基本的な書式
AVERAGEA関数の書式:
=AVERAGEA(値1, [値2], …)
値1:平均値を計算する対象となるセル範囲、または数値を直接指定します。(必須)
値2以降:必要に応じて、追加のセル範囲や数値を指定します。(省略可能)
AVERAGE関数との決定的な違い
Excelには平均値を計算する関数として、最も一般的なAVERAGE関数があります。
AVERAGEA関数とAVERAGE関数の違いは、「計算に含めるデータの種類」です。
| 比較項目 | AVERAGE関数 | AVERAGEA関数 |
|---|---|---|
| 数値 | 計算に含める | 計算に含める |
| 空白セル | 無視する | 無視する |
| 文字列 | 無視する | 「0」として計算に含める |
| 論理値 (TRUE/FALSE) | 無視する | TRUEを「1」、FALSEを「0」として計算に含める |
AVERAGE関数は、純粋な数値のみを対象として平均を計算します。
AVERAGEA関数は、数値だけでなく文字列や論理値も計算に含めます。
(文字列やFALSEは「0」、TRUEは「1」として扱われます。)
この違いが、AVERAGEA関数の最も重要なポイントです。
【例題で理解】AVERAGEA関数の具体的な使い方
AVERAGEA関数が、AVERAGE関数とどのように違うのかを、具体的なデータで見ていきましょう。
例題:文字列や論理値を含むデータの平均
以下の表は、あるプロジェクトのメンバーごとの評価(点数)を示しています。欠席者は「欠席」という文字列で、ボーナス加算対象者は「TRUE」という論理値で入力されています。

【データ表と計算式】

AVERAGE関数の数式(F2セル):
=AVERAGE(B2:B6)
AVERAGEA関数の数式(F3セル):
=AVERAGEA(B2:B6)
【計算結果】
- AVERAGE関数の結果: 80.0 → (80 + 90 + 70) / 3 = 80
- 「欠席」(文字列)とTRUE(論理値)を無視し、数値の3セルのみで計算されます。
- AVERAGEA関数の結果: 48.2 → (80 + 90 + 0 + 70 + 1) / 5 = 48.2
- 「欠席」を0として、TRUEを1として計算に含め、合計5セルで計算されます。

このように、AVERAGEA関数は「欠席(0点)」や「TRUE(1点)」として計算することで、データの個数自体はすべて含めて平均を計算したい場合に適しています。
AVERAGEA関数と空白セルの扱い
AVERAGEA関数も、AVERAGE関数と同様に空白セルは無視して計算されます。
例題:空白セルを含むデータの平均

【データ表と計算式】

数式:
=AVERAGEA(B2:B4)
【計算結果】
- AVERAGEA関数の結果: 55.0→ (50 + 60) / 2 = 55
- 空白セル(B3)は無視され、数値が入っている2セルのみで計算されます。
もし空白セルを「0」として含めて計算したい場合は、AVERAGEA関数を使うのではなく、空白セルに手動で「0」を入力する必要があります。
応用編:特定の「0」を除外して平均を計算するには
AVERAGEA関数は、「0」を数値としてカウントして計算に含めます。
もし、データの中に「0」が含まれ、その「0」を除外して平均値を求めたい場合は、AVERAGEA関数ではなくAVERAGEIF関数を使う必要があります。
例題:「0」を除外した平均値の計算
以下の表は、社員の売上データです。売上0円の社員(Dさん)を計算から除外して平均を出したいとします。

【データ表と計算式】

AVERAGEA関数の数式(E2セル):
=AVERAGEA(B2:B5)
AVERAGEIF関数の数式(E2セル):
=AVERAGEIF(B2:B5, “>0”)
【計算結果】
- AVERAGEA関数の結果: 67.5→ (100 + 80 + 90 + 0) / 4 = 67.5
- 「0」も含めて4セルで計算されます。
- AVERAGEIF関数の結果: 90.0 → (100 + 80 + 90) / 3 = 90
- “>0”という条件(0より大きい)を指定することで、「0」を除外して3セルのみで計算されます。

このように、特定の条件(この場合は「0より大きい」)を満たすセルのみの平均を計算したい場合は、AVERAGEIF関数を使いましょう。
離れたセル範囲の平均を求める方法
AVERAGEA関数は、引数(値1, 値2, …)を複数指定することで、離れた複数のセル範囲の平均値を計算できます。
例題:離れた複数の部署の平均点を計算
部署A(B2:B4)と部署C(E2:E4)の点数を合算して平均を求めたい場合を考えます。

【データ表と計算式】

【計算結果】
- AVERAGEA関数の結果: 65.8 → (75 + 95 + 80 + 85 + 0 + 60) / 6
- 部署Aの3セルと部署Cの3セル、合計6セルを対象とします。
- 部署Cの「欠席」は0としてカウントされます。
AVERAGEA関数を使う上での注意点
AVERAGEA関数は非常に便利ですが、意図しない計算結果にならないように、以下の点に注意が必要です。
意図しない「0」カウントに注意
AVERAGEA関数を使う最大の注意点は、文字列やFALSEが「0」として計算に含められることです。
- 例:「未入力」や「該当なし」などの文字列が入っている場合、それらを「0」として平均を計算してしまいます。
- 本来、そのデータを除外して平均を出すべき(AVERAGE関数の挙動)なのに、AVERAGEA関数を使ってしまうと、平均値が不当に低くなる可能性があります。
どちらを使うか?
どちらの関数を使うか、データの種類と目的に合わせて使い分けましょう。
エラー値(#DIV/0!など)の扱い
指定した範囲内にエラー値(例:#DIV/0!、#N/A)が含まれている場合、AVERAGEA関数はエラーを返します。
エラー値を無視して平均を計算したい場合は、エラー処理関数(IFERROR)や、エラー値を含まないセルだけを抽出する配列数式など、より高度なテクニックが必要になります。
まとめ
AVERAGEA関数は、文字列や論理値(TRUE/FALSE)を0や1として計算に含めるという、特徴を持っています。
この特徴を理解し、適切に使い分けることで、データの集計・分析をより正確に行うことができます。
| シーン | 使うべき関数 |
|---|---|
| 数値のみで平均を出したいとき | AVERAGE関数 |
| 文字列・論理値も0・1として全データで平均を出したいとき | AVERAGEA関数 |
| 特定の条件(例:「0より大きい」)を満たすセルで平均を出したいとき | AVERAGEIF関数 |
この知識を活かして、AVERAGEA関数を実務に役立ててください!
コメント