初級

Excel「#DIV/0!」の意味と
表示させない(非表示)方法


(約文字)

2018-04-18 2018-07-24

【Excel】”#DIV/0!”の原因と対策を解説します。

【Excel】”#DIV/0!”の原因と対策を解説します。

エクセルでよく発生する「#DIV/0!」の意味は?その原因と、表示させない(非表示)消す方法を、初心者さんに向けてわかりやすく・詳しく解説します。

又、SUM関数等の計算範囲(引数)に#DIV/0!を含む場合や、グラフに#DIV/0!を反映させない方法、#DIV/0!の理解に役立つサンプルファイルのダウンロードも可能です。

更に、エクセルで発生する”その他エラー”の解説記事へのリンクをページの最後に用意しましたので、どんなエラーあるかだけでもを知っておくと役立つので、一度参照してください。

1.#DIV/0!エラーの基本

#DIV/0!はディブ・ゼロと読みます。元の英語はDivided By Zeroです。#DIV/O!(オー)ではありません。

例えば、何かの割り算をする場合、0で割ると、#DIV/0!エラーが表示されてしまいます。 この#DIV/0!エラーは、印刷時にもそのままプリントされてしまうので厄介な状態です。 この様な厄介や#DIV/0!を表示させずに、画面からも、印刷でも消す方法を解説します。

2.#DIV/0!の意味

#DIV/0!の意味

割り算の除数(割る方の数:例えばB÷CのCのことで、分子÷分母では分母)が"0"や"空セル"なので、パソコンやコンピュータは処理出来ず、エラーメッセージを返してるという意味です。 コンピュータの世界では"ゼロ除算"と言われるエラー処理の状態です。

ちなみに分子と分母を入れ替えると、0÷X=0、""÷X=0となり、#DIV/0!エラーにはなりません。

3.#DIV/0!の解決方法

具体的な方法はいくつかありますが、基本的な考え方は、除数が"0"や"空セル"の場合は答えを空欄で表示し、除数が"0"や"空セル"でない場合は、割り算の答えを表示するのが一般的な方法です。

3-1.最近のエクセルVer.2007以降の場合

最近のエクセル(Ver.2007以降)の場合の#DIV/0!エラー解決方法

=IFERROR(B2/C2, "")

このIFERROR関数における引数の意味は、引数1(B2/C2)を実行した場合、エラーが無ければ引数1(B2/C2)を実行し、エラーがあれば引数2(""(空欄))を実行するという意味になります。

上図のパターンA~Dはエラーがあるので引数2の空欄が表示され、パターンEはエラーがないので引数1のB6/C6の結果が表示されます。

3-2.昔のエクセルVer.2003以前の場合(Ver.2007以降でも可能)

汎用性が高く、様々なエラーに対応出来る記述方法は、

=IF(ISERROR(C2/D2), "", C2/D2)

となり、IF関数の引数1(ISERROR(C2/D2))がTrue(真:エラーがある)の場合は引数2の""(空白)を実行し、False(偽:エラーがない)の場合は引数3のC2/D2を実行します。 引数1のISERROR関数は引数のC2/D2にエラーがあるとTrue(真)を返し、エラーがないとFalse(偽)を返します。

汎用性は低く、除数が0の場合のみに対応出来る書き方としては

=IF(D2=0, "", C2/D2)

となり、IF関数の引数1(D2=0)がTrue(真)の場合は引数2の""(空白)を実行し、False(偽)の場合は引数3のC2/D2を実行します。 引数1のD2=0はD2セルの内容が0の場合True(真)を返し、0以外だとFalse(偽)を返します。

汎用性が低い分、この方がシンプルでわかりやすいです。初心者さんは、こちらの専用の方法を選ぶのをおすすめします。 私も20年以上前に覚えたこの方法を基本的に選択ています。

4.#DIV/0!を含む合計や平均を計算をする方法

合計を計算するSUM関数や、平均を求めるAVERAGE関数でDIV/0エラーを含んだ値を計算するとエラーになりますが、IFERROR関数や、IF関数&ISERROR関数を使用すると、#DIV/0エラーを含んだ計算が可能です。 #DIV/0!エラーの場合、代わりに0を表示させることで計算ができます。

4-1.最近のエクセルVer.2007以降の場合

=IFERROR(C2/D2, 0)

4-2.昔のエクセルVer.2003以前の場合(Ver.2007以降でも可能)

様々なエラーに対応出来る汎用性の高い記述方法は、

=IF(ISERROR(C2/D2),0,C2/D2)

割り算の除数が0の場合のみ対応出来る汎用性が低い書き方は

=IF(D2=0,0,C2/D2)

となります。

5.#DIV/0!をグラフに反映させない

#DIV/0!を折れ線グラフにした場合は0としてプロットされてしまい、トレンドが下がって見えるので、資料を見た方の第一印象は良くありません。

=B2/C2

#DIV/0!を折れ線グラフにした場合は0としてプロットされてしまう

#DIV/0!を0や""空欄に置き換えても、セルには値が入っている事になるので、グラフにした場合は0としてプロットされてしまいます。

=IF(C17="","",B17/C17)

#DIV/0!を0や

データなし(#N/A)を返すNA関数を指定すれば、折れ線グラフでもプロットされないように出来ます。

=IF(C32="",NA(),B32/C32)

#DIV/0!をデータなしを返すNA関数を指定すれば、折れ線グラフでもプロットされないように出来る

表には"#N/A"が表示されますが、#N/A=何もなしが明示されていれば、記入モレでないと認識できるので、慣れればこちらの方が、分かりやすい場合もあります。

どうしても"#N/A"を消したい場合は、[条件付き書式]で#N/Aの文字色を背景色と同色(この場合は白色)に設定すれば、#N/Aの文字を見えなくすることが出来ます。

条件付き書式で#N/Aの文字を見えなくする

6.N/Aについて

N/Aは一般的に該当なし(not applicable)という意味で用いられ、エクセルでは(not available)まだデータが存在しない(未定である)とか、一時的にデータが無い場合に使われます。一部のプログラム言語では"欠損値"という意味で使われる場合もあります。

N/Aについては、以下の記事で詳しく解説しています。ぜひご覧ください。

7.サンプルファイルのダウンロード

DIV/0エラーを含むエクセルファイルのサンプルを提供しますので、ダウンロードしてご自身のパソコンで確認してください。

ダウンロード

8.エクセルで発生するその他のエラー

エクセルで発生するその他のエラーについては、以下の記事で詳しく解説しています。ぜひご覧ください。

この記事は以上です。最後までご覧頂き、ありがとうございました。