エクセルで平均を出そうとしたのに、#DIV/0!と表示されて困っていませんか。
一見むずかしそうに見えるエラーですが、実は多くの場合、平均する範囲に数値が入っていないことや、0の扱いを混同していることが原因です。
とはいえ、ただエラーを消すだけでは、同じところでまたつまずいてしまうこともあります。
大切なのは、#DIV/0!が出る理由を知ったうえで、AVERAGE・IFERROR・AVERAGEIFを目的に合わせて使い分けることです。
この記事では、エクセル初心者の方にもわかりやすいように、平均で#DIV/0!が出る原因から、正しい直し方、0を除外して平均する方法までやさしく整理してご紹介します。
「なぜエラーになるのか」「どう直せばいいのか」がひとつずつ見えてくると、表作成がぐっとラクになりますよ。
| よくある悩み | この記事でわかること |
|---|---|
| 平均を出したら#DIV/0!になった | エラーの原因と基本の直し方 |
| 0を含めずに平均したい | AVERAGEIF関数の使い方 |
| エラー表示を見やすくしたい | IFERRORやCOUNTを使った対処法 |
この記事でわかること
- エクセルの平均で#DIV/0!が出る主な原因
- AVERAGE関数のエラーを解消する具体的な方法
- 0を除外して平均したいときの関数の使い分け
- 平均計算でつまずきやすいポイントと見直し方
エクセルで平均を出したのに#DIV/0!になる原因
エクセルで平均を求めようとして#DIV/0!と表示されると、急に難しく感じてしまいますよね。
ですが、原因は意外とシンプルです。
多くの場合は、平均を計算する対象の中に数値が入っていないことが原因です。
まずはエラーの意味をやさしく整理しながら、どこを見直せばよいのかを確認していきましょう。
#DIV/0!エラーは「平均する数値がない」ときに出やすい
AVERAGE関数は、指定した範囲の数値を合計し、その件数で割って平均を出します。
そのため、対象範囲の中に計算できる数値が1つもないと、割る数が0になってしまい、#DIV/0!が表示されます。
つまり、「0で割っている」というより「平均に使える数値が存在しない」状態だと考えるとわかりやすいです。
たとえば、次のようなケースではエラーが出やすくなります。
| 状態 | 起こりやすい結果 | 確認したいこと |
|---|---|---|
| 対象セルがすべて空白 | #DIV/0! | 本当に数値が入力されているか |
| 数値のつもりで文字列が入っている | #DIV/0!や想定外の結果 | セルの表示形式や先頭の記号 |
| 条件付き平均で該当データがない | #DIV/0! | 条件式が厳しすぎないか |
「ちゃんと入力したはずなのに」と感じる場合でも、実際には空白だったり、文字列として入力されていたりすることは少なくありません。
空白と0は扱いが違うので混同しないことが大切
ここはとても大事なポイントです。
エクセルでは、空白セルと0が入力されたセルは別物として扱われます。
AVERAGE関数は空白を無視して計算しますが、0は数値としてしっかり平均に含めます。
そのため、0があること自体が#DIV/0!の原因になるわけではありません。
むしろ、数値が1件もない状態が問題です。
たとえば、売上が未入力だから空白なのか、実績が0だからゼロを入れているのかで、平均の意味は大きく変わります。
この違いをあいまいにしたまま式を組むと、あとで集計結果がわかりにくくなってしまいます。
まず確認したいセル範囲と入力内容のチェックポイント
エラーが出たときは、いきなり複雑な関数を追加するのではなく、まず基本を確認するのがおすすめです。
特に初心者の方は、数式そのものよりも参照範囲のズレでつまずきやすいです。
次のポイントを順番に見ていくと、原因を見つけやすくなります。
- AVERAGE関数の範囲指定が正しいか
- 対象セルに数値が入っているか
- 数値に見えて文字列になっていないか
- 必要なのに空白のままになっていないか
- 別の関数の結果が空文字になっていないか
たとえば、=AVERAGE(B2:B10)のつもりが、実際には空欄しかない列を参照していた、というのはよくある例です。
まずは落ち着いて、どのセルを平均しているのかを見直してみましょう。
エクセルの平均で#DIV/0!を解消する方法
原因がわかったら、次は具体的な直し方です。
大切なのは、本当に直すべき原因を解消するのか、それとも見た目上エラーを出さないようにするのかを分けて考えることです。
ここでは、実務でも使いやすい順番で対処法をご紹介します。
数値が入っているか確認してAVERAGEの範囲を修正する
いちばん基本で、いちばん大切なのがこの方法です。
#DIV/0!が出たときは、まずAVERAGEの対象範囲に数値が1つ以上入っているかを確認しましょう。
もし空白だけを参照しているなら、式を修正するだけで解決します。
たとえば、次のような式があるとします。
=AVERAGE(B2:B10)
このとき、B2:B10がすべて空白ならエラーになります。
一方で、平均したいデータが実際にはC2:C10に入っていたなら、次のように直せばOKです。
=AVERAGE(C2:C10)
シンプルですが、範囲のズレを直すだけで解決するケースはとても多いです。
IFERROR関数でエラーを非表示にする方法
入力前の表や、まだデータが揃っていない一覧表では、毎回#DIV/0!が見えると少し使いづらいですよね。
そんなときは、IFERROR関数で見た目を整える方法が便利です。
使い方はとても簡単で、AVERAGE関数をIFERRORで包むだけです。
=IFERROR(AVERAGE(B2:B10),””)
この式なら、平均を計算できるときは結果を表示し、エラーのときは空白を表示します。
空白の代わりに「-」や「未入力」などを表示することもできます。
| 式 | 意味 |
|---|---|
| =IFERROR(AVERAGE(B2:B10),””) | エラー時は空白にする |
| =IFERROR(AVERAGE(B2:B10),0) | エラー時は0を表示する |
| =IFERROR(AVERAGE(B2:B10),”未入力”) | エラー時はメッセージを表示する |
ただし、ここで注意したいのは、IFERRORは根本原因を直す関数ではないという点です。
入力漏れや範囲ミスを隠してしまうこともあるため、まず原因を確認したうえで使うと安心です。
COUNT関数と組み合わせて空欄時だけ表示を変える方法
「エラーは消したいけれど、何でもかんでも隠したくない」というときには、COUNT関数と組み合わせる方法も使いやすいです。
COUNT関数は、範囲内にある数値セルの個数を数えます。
そのため、数値が1つでもあれば平均を出し、1つもなければ空白にする、という判定ができます。
式は次のようになります。
=IF(COUNT(B2:B10)>0,AVERAGE(B2:B10),””)
この方法のよいところは、「数値がないから表示しない」という条件が明確なことです。
IFERRORよりも意味が伝わりやすく、表の設計としてもすっきりしやすいです。
実務で共有するファイルなら、こうした読みやすい式にしておくと後から見直すときも安心です。

0を含めずに平均を出したいときの対処法
「#DIV/0!を直したい」という悩みと並んで多いのが、0を平均に含めたくないというケースです。
ただ、この2つは似ているようで別の話です。
ここを分けて考えられるようになると、関数選びで迷いにくくなります。
AVERAGE関数では0を除外できない理由
AVERAGE関数は、指定範囲の中にある数値をそのまま平均します。
そのため、0が入力されていれば、0も数値として計算対象に含まれます。
つまり、AVERAGE関数だけでは「0だけ除外する」という指定はできません。
たとえば、5・10・0の3つをAVERAGEで平均すると、0も含めて計算されるため結果は5になります。
もし「未入力の代わりに0を入れている」ような表で平均を出すと、想像より低い数値になってしまうことがあります。
このような場面では、AVERAGE関数ではなく別の関数を使う必要があります。
AVERAGEIF関数で0を除いて平均する方法
0を除外して平均したいときに便利なのが、AVERAGEIF関数です。
たとえば、B2:B10の中で0以外だけを平均したいなら、次の式を使います。
=AVERAGEIF(B2:B10,”<>0″)
この「<>0」は、0ではないという条件です。
平均対象と条件範囲が同じなら、この形で十分使えます。
また、条件をかける範囲と平均する範囲を分けたい場合は、次のように書くこともできます。
=AVERAGEIF(A2:A10,”商品A”,B2:B10)
この式なら、A列が「商品A」の行だけを対象に、B列の数値の平均を出せます。
| やりたいこと | 使う式の例 |
|---|---|
| 0を除いて平均する | =AVERAGEIF(B2:B10,”<>0″) |
| 特定条件に合うデータだけ平均する | =AVERAGEIF(A2:A10,”商品A”,B2:B10) |
| 複数条件で平均する | =AVERAGEIFS(C2:C10,A2:A10,”東京”,B2:B10,”<>0″) |
「平均のエラー対策」と「0の除外」は別のテーマなので、目的に合わせて使い分けることが大切です。
条件に合う値がないときの#DIV/0!対策も覚えておこう
AVERAGEIF関数はとても便利ですが、1つ気をつけたい点があります。
それは、条件に合う数値が1件もないときは、AVERAGEIFでも#DIV/0!が出ることです。
たとえば、すべての値が0で、なおかつ「<>0」で平均しようとすると、平均対象がなくなってしまいます。
この場合は、IFERRORを組み合わせておくと安心です。
=IFERROR(AVERAGEIF(B2:B10,”<>0″),””)
または、結果が空欄だとわかりにくい場合は、次のようにしても見やすいです。
=IFERROR(AVERAGEIF(B2:B10,”<>0″),”該当なし”)
「0を除きたい」のか、「数値がないときのエラーを消したい」のかを切り分けて考えると、式がぐっと整理しやすくなります。

平均計算でよくあるつまずきと見直しポイント
AVERAGEやAVERAGEIFでつまずくときは、関数名よりも入力データの状態に原因があることがよくあります。
ここでは、初心者の方が見落としやすいポイントをまとめて確認しておきましょう。
数字に見えて文字列になっているケース
見た目は数字でも、エクセルの中では文字列として扱われていることがあります。
たとえば、先頭にシングルクォーテーションが付いていたり、別システムから貼り付けた値に余計な空白が含まれていたりすると、そのセルは数値として認識されないことがあります。
この状態だと、AVERAGEの対象に入れていても平均に使われず、結果として#DIV/0!や想定外の平均値につながることがあります。
セルを選択して、数式バーの表示や配置、表示形式を確認してみましょう。
必要に応じて、VALUE関数や区切り位置機能を使って数値に直すのも有効です。
エラー値が混ざっているケース
平均を出したい範囲の中に、#N/Aや#VALUE!など別のエラーが混ざっているケースもあります。
この場合は、#DIV/0!とは別の理由で平均がうまく表示されないことがあります。
特に、VLOOKUPやXLOOKUPの結果を平均している表では起こりやすいです。
こうした場合は、元のエラーを直すか、必要に応じてIFERRORで整えるのが基本です。
ただし、何でも非表示にしてしまうと不具合に気づきにくくなるため、まずはエラーの発生源を確認することを優先しましょう。
小数点の表示や四捨五入を整える方法
平均が正しく出ても、小数点が長く表示されて見づらいことがあります。
そんなときは、表示形式を変更する方法と、ROUND関数で四捨五入する方法があります。
見た目だけ整えたいなら、ホームタブの小数点表示を調整するだけでも十分です。
計算結果そのものを丸めたいなら、次のようにROUND関数を使います。
=ROUND(AVERAGE(B2:B10),1)
この式なら、小数第1位までで四捨五入した平均が表示されます。
用途によって、見た目だけ整えるのか、値そのものを丸めるのかを使い分けるのがおすすめです。
| 悩み | 対処法 |
|---|---|
| 見た目だけ小数を減らしたい | 表示形式の小数点桁数を調整する |
| 値そのものを四捨五入したい | ROUND関数を使う |
| 0を除いて平均したい | AVERAGEIF関数を使う |
| エラー時だけ空白にしたい | IFERROR関数を使う |
平均の計算はシンプルに見えますが、入力ルールがあいまいだと結果がぶれやすい部分でもあります。
だからこそ、関数だけでなく表の作り方まで意識しておくと、あとからの修正がぐっと楽になります。
まとめ
エクセルで平均を求めたときに#DIV/0!が表示されると焦ってしまいますが、原因を順番に見ていけば難しくありません。
まずは、平均対象の中に数値が1件でも入っているかを確認することが大切です。
そのうえで、必要に応じてIFERRORやCOUNT関数、AVERAGEIF関数を使い分けると、見やすく実用的な表に整えられます。
この記事のポイントをまとめます。
- AVERAGE関数で#DIV/0!が出る主な原因は、平均対象に数値がないこと
- 空白セルと0は別物で、0は平均の計算対象に含まれる
- まずはAVERAGEの参照範囲が正しいか確認することが大切
- 入力漏れや範囲ズレは、エラーのよくある原因になりやすい
- IFERROR関数を使うと、#DIV/0!を空白や任意の文字に置き換えられる
- COUNT関数を組み合わせると、数値があるときだけ平均を表示できる
- 0を除外して平均したいときはAVERAGEではなくAVERAGEIFを使う
- AVERAGEIFでも条件に合う数値がないと#DIV/0!になることがある
- 数字に見える文字列や他のエラー値が混ざっていないかも要確認
- 平均値の見せ方は、表示形式とROUND関数で整えられる
平均のエラーは、関数の知識だけでなく、入力データの状態を見直すことでスムーズに解決しやすくなります。
今回ご紹介した考え方を押さえておけば、ただエラーを消すだけではなく、「なぜそのエラーが出たのか」まで理解したうえで対処できるようになります。
エクセルの集計は毎日の業務で使う場面が多いからこそ、AVERAGE・IFERROR・AVERAGEIFの使い分けを覚えて、見やすくてミスの少ない表づくりに役立ててみてください。

