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

この記事は約3分で読むことができます。

2018-04-18 2018-05-08

  • キーワード
  • Excel
  • その他
  • エラー
  • #DIV/0!
  • 意味
  • 原因
  • 表示しない
  • 非表示
  • 消す

エクセルでよく発生する「#DIV/0!」の意味は?その原因と、表示させない(非表示)、消す方法を解説します。

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

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

例えば、毎月の売上金額の達成状況を求める為に年度の始めに年間計画とかを作ると思いますが、達成率を計算する式をあらかじめエクセルのセル入力しておくと、データが入力されるまでエラーが表示されてしまい、格好が悪い状態がおきます。 これは印刷時にもそのままプリントアウトされてしまいとても厄介な状態です。 この様な厄介や#DIV/0!を表示させずに、画面からも、印刷でも消す方法を解説します。 更に、折れ線グラフのトレンドが下がって見えることを回避する方法も解説します。

2.#DIV/0!の意味

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

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

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

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

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

=IFERROR(C2/D2, "")

このIFERROR関数における引数の意味は

=IFERROR(値,エラーの場合)

この方法は、引数1(C2/D2)を実行した場合、エラーが無ければ引数1を実行する(この場合C2/C3を実行する)、エラーがあれば引数2を実行する(この場合""(空欄)を表示する)事になります。

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.SUM関数で#DIV/0!を含む計算をする

合計を計算するSUM関数や、平均を求めるAVERAGE関数でDIV/0エラーを含んだ値を引数にして計算するとエラーになりますが、IFERROR関数や、ISERROR関数&IF関数の組み合わせで#DIV/0エラーを含んだ引数でも計算が可能です。

5.#DIV/0!の変わりに"0"を表示する

上記で説明したエラーの場合空欄を表示するのを0にすればエラー時に0を表示させることが出来ます。

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

=IFERROR(C2/D2, 0)

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

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

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

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

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

となります。

6.空欄や"0"をグラフに反映させない

#DIV/0!を0や""空欄に置き換えたとしても、セルには値が入っている事になるので、グラフにした場合は0としてプロットしてしまします。 棒グラフでは問題がないですが、折れ線グラフだと、トレンドが下がって見えてしまい、説明をしたとしても資料を見た方の第一印象が良くありません。

この場合は、以下のように

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

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

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

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

7.N/Aについて

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

「#N/A」については”「#N/A」の意味と表示させない方法”の記事で詳しく解説していますので、良ければそちらを参照してください。

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

エラーの種類 表示の原因 この記事
#N/A データが存在しない、一時的に無い
#VALUE! 関数の引数の間違え、正しくない
#NUM! 数値がNG(ダメ)
#REF! 参照セルが無効
#DIV/0! 除数が0、空
#NULL! 空で何もない
#NAME? 関数の名前が違う等

同じカテゴリの記事