要点 —
AVERAGEは合計 ÷ 個数ですが、対象は見つけた数値だけです:=AVERAGE(B2:B20)。空白セルと文字列はまるごと飛ばし——合計にも割る数にも 入りません——けれど本物の0は数値として数え、平均を引き下げます。この1点の 違いがすべての罠です。「売上なし」を0と記録するか、セルを空白のままにするかで、 同じ現実の平均が2つの違う値になり、どちらを得たのかを数式は何も教えてくれません。AVERAGEAは文字列とFALSEを0として数える強引な兄弟で——ほぼ使いどころが ありません。素の平均にはAVERAGEを。そして欠損値が何を意味するかは、 データ入力の段階で決めてください。
=AVERAGE(B2:B20) ' 数値だけの平均。空白と文字列は無視される
=AVERAGE(B2:B20, D2:D20) ' 複数範囲もOK — まとめてから平均する
=AVERAGE(3, 5, 7) ' 定数も使える -> 5
=AVERAGEA(B2:B20) ' 文字列とFALSEは0、TRUEは1として数える — たいてい誤り
「AVERAGE 関数 Excel」で検索すれば、=AVERAGE(number1, number2, …) と「算術平均を
返します」という説明が出てきます。まるで難しいのはボタンを見つけることだけ、とでも言う
ように。でも平均が何かは、あなたはもう知っています。本当に噛んでくるのは——2人のアナ
リストが同じ列に AVERAGE を向けて違う数字を得る理由は——算術ではありません。何が
「値」として数えられるかです。空白、ゼロ、文字列はそれぞれ違う扱いを受け、そのルールが
静かにあなたの答えを決めます。本記事はまずそこから始めます。
この記事で学べること
- 考え方の軸:
AVERAGEは合計 ÷ 個数、ただし本物の数値だけが対象 - 空白とゼロの罠:空のセルと
0で平均が変わる理由 - 列全体を参照しても見出しの文字列を安全に飛ばせる理由
AVERAGEAが実際にすること——そしてほぼ正解にならない理由- 平均が間違った問いになるとき:平均の平均、そして百分率
- 空集合のケース:
#DIV/0!とそのガード
考え方の軸:数値の合計 ÷ 個数
AVERAGE がすることは、きっかり2つです。渡されたものの中のすべての数値を足し、その
数値がいくつあったかで割る。この「数値」という言葉が効いています。空白セルは数値では
ないので、合計にも個数にも寄与しません——最初から無いのと同じです。"N/A" のような
文字列も数値ではないので、同じように飛ばされます。平均される対象として生き残るのは、
本物の数値セルだけです。
これはたいてい望みどおりの動きで、=AVERAGE(B:B) と列まるごとを指定しても B1 の
見出しラベルで詰まらないのはこのためです——文字列はただ無視されます。ですが、この同じ
寛容さが次のセクションの罠を隠しています。AVERAGE が飛ばさない「空っぽ」が1種類
だけあるからです。実際に 0 が入っているセルです。
空白とゼロの罠:答えを決めるのはこれ
知っておく価値のある失敗パターンがこれです。ある営業担当が今月まったく売上を上げなかった とします。それを記録する方法は2つあり、両者は入れ替え可能ではありません。
' B列: 10, 20, 0 (「売上なし」をゼロで記録)
=AVERAGE(B2:B4) ' -> 10 (0 を数える: 30 ÷ 3)
' B列: 10, 20, (空白) (「売上なし」を空白のまま)
=AVERAGE(B2:B4) ' -> 15 (空白は飛ばす: 30 ÷ 2)
同じ3人、同じ「売上なし」なのに、平均は 10 から 15 へ——50% もの差——で揺れます。
誰も「判断」だとは思っていないデータ入力の慣習ひとつだけを根拠に、です。本物の 0 は
本物の数値です。合計に加わり(何も足しませんが)、そして肝心なことに個数にも加わって
(割る数を1増やして)、平均を引き下げます。空白はどちらにも加わりません。
どちらの答えも普遍的に「正しい」わけではない——そこが要点です。売上ゼロの月を本当に
「成績ゼロの月」として数えるなら、10 が正しい。その人たちが休暇中で、そもそも分母に
入れるべきでないなら、15 が正しい。危ないのは、どちらの場合も数式がまったく同じに
見えることで、データがたまたま採っている慣習に、あなたを黙って縛りつけます。意図して
決めてください。平均からゼロを外したいなら、入力時にセルを空白のままにするか、
AVERAGEIF で明示的に除きます:
=AVERAGEIF(B2:B4, "<>0")。
AVERAGEA:文字列をゼロと数える兄弟
AVERAGEA は、より徹底した AVERAGE——「平均、ただし全部込み」——のように見えます。
その「全部込み」が実際に意味するのは、非数値を飛ばす代わりに型変換することです。
文字列は 0 に、FALSE は 0 に、TRUE は 1 になり、空白は相変わらず飛ばされます。
' A列: 90, 80, "absent"
=AVERAGE(A2:A4) ' -> 85 ("absent" は飛ばす: 170 ÷ 2)
=AVERAGEA(A2:A4) ' -> 56.7 ("absent" を 0 と数える: 170 ÷ 3)
この 56.7 は、まず誰も欲しかった数字ではありません。得点の列に文字ラベルが1つ紛れ込んだ
だけで、平均は薄められてしまいます——ラベルがゼロとして着地し、平均を強く引き下げるの
です。AVERAGEA の正直な使いどころは狭い。データの中の文字列を本当にゼロとして扱うべき
とき(たとえば "pending" が、いま測ろうとしている目的にとって本当に価値ゼロの案件を
意味する、など)だけです。そんな場面はまれです。既定の前提は AVERAGE にすべきで、
AVERAGEA に手を伸ばすのは、なぜその単語が 0 として数える資格を持つのかを声に出して
言えるときだけにしましょう。
平均が間違った問いになるとき
最も鋭い失敗は、空白や文字列の話ではありません——間違ったものを平均している、という 話です。ほとんどすべてが、次の2パターンから生まれます。
平均の平均。 各地域がすでに平均成約額を報告していて、その地域別平均を AVERAGE すると、
成約3件の地域と300件の地域に等しい重みを与えたことになります。結果は、どんな現実の
問いにも答えない、ただの数字です。それぞれの数字が違う規模のグループを要約しているときは、
素の平均ではなく加重平均が必要です——合計を、合計件数で割る。これは専用のガイドを
持つほどよくある話です:Excelの加重平均 を参照して
ください。
割合と成長率の平均。 百分率を素直に平均するのも、同じ罠です。+50% の年に続いて
−50% の年が来ても、平均は 0% になりません——最終的に 25% のマイナスです——だから
2つの百分率の AVERAGE はあなたに嘘をつきます。複利的な成長には幾何平均が必要で、
これは GEOMEAN・TRIMMEAN・HARMEAN で扱います。
経験則はこうです。AVERAGE は、同じ種類・同じ重みの独立した量のためのもの。数字が
要約値・百分率・割合になった瞬間、そもそも素の平均が正しい道具なのかを問い直してください。
空集合のケース:#DIV/0!
範囲の中に数値がまったくないとき——どのセルも空白か文字列——AVERAGE は個数が
ゼロになり、それで割れないので #DIV/0! を返します。これは、一致する行がないときに
AVERAGEIFS が見せるのと同じ「何も無いものの平均は
未定義」という挙動です。範囲が正当に空になりうるとき(まだ登録のないカテゴリなど)は、
包みます。
=IFERROR(AVERAGE(B2:B20), "—") ' 空のとき #DIV/0! の代わりにダッシュを表示
ダッシュボードに渡す平均や、他のセルが積み上がる土台になる平均には、これを反射にして
ください——たった1つの #DIV/0! が、下流のすべてに連鎖します。
ExcelMaster の使いどころ
平均の危ないところは、入力そのものでは決してありません——記録された 0 と空白が違う
答えを出すこと、AVERAGEA が文字ラベルを静かにゼロに変えること、そして「地域別平均の
平均」がたいてい間違った問いであること、を知っていることです。ExcelMaster に
「なぜ平均が思ったより低いの?」と尋ねれば、範囲の中に空白であるべきゼロや AVERAGEA が
数えている文字列がないかを確かめ、あなたのデータが実際にどの慣習を採っているかを教えます。
「地域別の平均成約額を、成約件数で重みづけして」と言えば、誤解を招く素の平均ではなく、
加重の数式を書きます。
よくある質問
Excel の AVERAGE は空白セルを無視しますか?
はい。AVERAGE は本当に空のセルをまるごと飛ばします——合計にも割る数にも数えません。
ですが 0 が入ったセルは本物の数値なので含まれ、平均を下げます。空白とゼロのこの違いが、
平均が期待どおりにならない最もよくある原因です。
AVERAGE と AVERAGEA の違いは?
AVERAGE は数値だけを平均し、文字列と論理値を飛ばします。AVERAGEA はそれらを型変換して
取り込みます。文字列と FALSE は 0、TRUE は 1 として数えます。文字ラベルが1つ紛れた
得点の列では、AVERAGE がラベルを無視するのに対し、AVERAGEA はそれをゼロと数えて平均を
引き下げます——だから、ほぼ常に欲しいのは AVERAGE です。
AVERAGE が #DIV/0! を返すのはなぜ?
範囲に平均する数値が1つもないからです——どのセルも空白か文字列で、個数がゼロになり、
Excel はそれで割れません。空のケースに備えて包みます:=IFERROR(AVERAGE(B2:B20), "—")。
そこに数値があるはずなら、文字列として保存されていないか(左揃えで、緑の三角形が付いて
いる)を確認してください。
セルを平均しつつゼロを無視するには?
「ゼロと等しくない」条件を付けた AVERAGEIF を使います:=AVERAGEIF(B2:B20, "<>0")。
これは本物のゼロを合計からも個数からも除き、ゼロ以外の値だけの平均を返します——0 が
本当の測定値ではなく「データなし」を意味するときに便利です。
フィルタで絞った(表示中だけの)リストを平均するには?
AVERAGE は非表示の行も含めます。フィルタで表示されている行だけを平均するには、
SUBTOTAL を使います:=SUBTOTAL(101, B2:B20) は
表示中のセルだけを平均し、フィルタを変えるたびに更新されます。
検証環境
検証環境: Excel 365 (Windows 11) — 最終確認 2026-07-27.
関連ガイド: Excelの加重平均 · Excel GEOMEAN・TRIMMEAN・HARMEAN · ExcelのAVERAGEIF & AVERAGEIFS · Excel SUBTOTAL · Excel ROUND
