AVERAGEは、指定した範囲の平均値を求める関数です。
書き方は単純ですが、空欄と0の扱いを知らないと結果がずれます。この記事ではそこを中心に扱います。
書式
=AVERAGE(範囲1, [範囲2], ...)
基本の使い方
| A | |
|---|---|
| 1 | 80 |
| 2 | 90 |
| 3 | 70 |
=AVERAGE(A1:A3) → 80
離れた範囲もまとめて指定できます。
=AVERAGE(A1:A10, C1:C10)
空欄と0の違い
ここが最も重要です。
| A | |
|---|---|
| 1 | 80 |
| 2 | (空欄) |
| 3 | 70 |
=AVERAGE(A1:A3) → 75
空欄は「無かったこと」として扱われます。 2件で割られて75です。
一方、A2に 0 が入っていると結果が変わります。
(A2 = 0 の場合)
=AVERAGE(A1:A3) → 50
0は1件として数えられます。 3件で割られて50です。
「未回答」を空欄にするか0にするかで、平均が大きく変わります。未入力は空欄のままにしておくのが原則です。0を入れてしまうと、回答した人の平均が下がります。
数式が返した空文字に注意
=IF(A2="", "", A2*1.1)
このような数式の結果は、見た目は空欄ですが文字列です。 AVERAGEは文字列を無視するので、この場合は空欄と同じ扱いになります。
ただし、Excelでは範囲によってエラーになることがあります。安全に書くなら AVERAGEIF を使ってください。
=AVERAGEIF(A:A, "<>")
想定と合わない原因
1. 数値が文字列になっている
最も多い原因です。 文字列は無視されるので、その分だけ件数が減り、平均がずれます。
確認する:
=COUNT(A2:A100)
COUNT が行数より少なければ文字列が混ざっています。セルが左寄せになっていないか見てください。
2. 0が入っている
上で書いた通りです。未入力に0を入れていないか確認してください。
3. 非表示の行も含まれている
AVERAGEはフィルタで隠れた行も計算に入れます。 表示中のデータだけで平均を出したいなら SUBTOTAL を使ってください。
=SUBTOTAL(101, A2:A100)
101 は「平均、非表示の行を除く」という意味です。
4. 外れ値に引っ張られている
平均は外れ値の影響を強く受けます。1件だけ極端な値があると、全体の平均が実感とずれます。
この場合は中央値を見てください。
=MEDIAN(A2:A100)
平均と中央値が大きく離れていたら、分布が偏っているサインです。売上や年収のように偏りが出やすいデータでは、中央値のほうが実態を表すことが多くなります。
両方を並べて出しておくのが実務的です。
条件付きの平均
条件を付けるなら AVERAGEIF / AVERAGEIFS を使います。
=AVERAGEIF(B:B, "東京", C:C)
=AVERAGEIFS(C:C, B:B, "東京", D:D, ">=1000")
エラーが混ざっているとき
範囲内に #N/A などがあると、AVERAGEもエラーになります。元のエラーを潰すのが基本です。
=IFERROR(元の数式, "")
"" を返せばAVERAGEは無視します。0 を返すと平均が下がるので、ここは "" にしてください。
Excelとの違い
AVERAGE・AVERAGEIF・AVERAGEIFS・MEDIAN はすべて共通です。書式も挙動も同じです。
Excelには AGGREGATE(エラーを無視して集計)がありますが、スプレッドシートにはありません。代わりに QUERY や FILTER を使います。
=AVERAGE(FILTER(C:C, B:B="東京"))
まとめ
- – 書式は
=AVERAGE(範囲) - – 空欄は無視、0は1件として数える。未入力に0を入れない
- – 文字列は無視されるので、混ざっていると平均がずれる
- – フィルタ中の平均は SUBTOTAL
- – 平均と中央値を並べて見ると、分布の偏りに気づける
コメントを残す