Excelで「#DIV/0!」になる0除算エラー4種類と対処法

Excelで「#div/0!」になる0除算エラー4種類と対処法
Excelの一覧

※ Microsoft365(旧Office365)Excelの画像で解説しています。

DIV/0とは「0除算」を意味する英語「Divide by Zero(読み方:ディバイド‐パイ‐ゼロ)」の略です。「0(ゼロ)除算」とは数値を「0」で割り算することで、これは数学上あり得ない計算であり、Excelでは#DIV/0!エラーが返ります。

Excelで「#DIV/0!」になる0除算エラー1

数値を0で割り算する簡単な数式を入力して、#DIV/0!エラーを表示させています。

1.「0」と「空白」で0除算すると#DIV/0!エラーが表示される

割り算の除数になる範囲に「0」のセルがある場合は「0除算」であり、当然、#div/0!エラーが返りますが、ゼロ以外にも「空白」のセルがあるとExcelでは「0」と見做されて#DIV/0!エラーが返ります。

Excelで「#DIV/0!」になる0除算エラー2

費用の数値を割る人数のセルが空白のため、0除算と判定され、#DIV/0!エラーが返っています。


2.文字列で平均を計算すると#DIV/0!エラーが表示される

AVERAGE関数で文字列だけが入力されたセル範囲の平均を求めると#DIV/0!エラーが返ります。セル範囲の中に1つでも数値が入力されたセルがあれば、平均値が計算されます。これも0除算の一種で、セル範囲全体を「0」と見做して#DIV/0!エラーを表示します。
Excelで「#DIV/0!」になる0除算エラー3

3.未入力データをAVERAGEIF関数で条件に指定すると#DIV/0!エラーになる

AVERAGEIF関数で担当者名を条件にして売上金額の平均を求めています。まだデータのない担当者の結果には#DIV/0!エラーが表示されました。この例のように、AVERAGEIF関数では条件に一致するデータが見つからない場合に「数値の合計=0、データの個数=0」で、「0/0」の0除算エラーになります。
Excelで「#DIV/0!」になる0除算エラー4

4.計算する範囲内に#DIV/0!があると、割り算以外の計算でも0除算エラーになる

上記のAVERAGEIF関数で表示された#DIV/0!を含むセル範囲をSUM関数で合計すると、0除算エラーとなります。

Excelで「#DIV/0!」になる0除算エラー5

割り算に限らず、計算する範囲内に#div/0!が表示したセルが含まれていると0除算と判定されます。


【対処法】#div/0!エラーは避けられないが、IFERROR関数で0や空白にして処理できる

上記の例で、#DIV/0!が表示されていると単純なSUM関数の計算もできないことが分かりました。とは言え、データ入力の過程で未入力のセルが出現するのは避けられません。そこで、IFERROR関数でエラー値「#DIV/0!」に対処する方法を使います。

AVERAGEIF関数の例では=IFERROR(AVERAGEIF($C$2:$C$14,I2,$G$2:$G$14),””)として、#DIV/0!を空白にするか、=IFERROR(AVERAGEIF($C$2:$C$14,I2,$G$2:$G$14),0)として0を表示させます。

#DIV/0!を空白、または0にすることで、SUM関数の計算も支障なくできます。
Excelで「#DIV/0!」になる0除算エラー6

空白は無視され、0はカウントされる。#DIV/0!を処理する時はこの違いに注意!

「合計」ではなく、#DIV/0!の含まれた範囲で「平均」を計算する場合などは、「空白」と「0」の違いに注意しましょう。

Excelの計算では、空白は無視され、0はカウントされます。「平均」を計算する場合、空白と0では割る数が違い、計算結果も変わります。

Excelで「#DIV/0!」になる0除算エラー7

0は計算対象なのでデータ個数は「4」とカウントされます。空白は無視されるのでデータ個数は「3」とカウントされます。

IFERROR関数の引数「エラーの場合の値」には空白の代わりに文字列で「値を入力して下さい」などのエラーメッセージを入れることもできます。この場合は空白と同じく無視され、データ個数にカウントされません。
Excelで「#DIV/0!」になる0除算エラー8

【対処法】Excel2003以前のバージョンではISERRORとIF関数を使って#DIV/0!エラーを消す

IFERROR関数はExcel2007から追加されたので、2003以前のExcelバージョンでは使用できません。その代わり、エラーを判定できるISERROR関数をIF関数にネストして0除算エラーに対処することができます。

以下の例では「B2/C2」の計算結果で表示された#DIV/0!をISERROR関数をIF関数にネストして空白にしています。
数式: =IF(ISERROR(B2/C2),””,B2/C2)
Excelで「#DIV/0!」になる0除算エラー9

【対処法】条件付き書式で#DIV/0!エラーを非表示にして隠す

表の見た目をカバーするために#DIV/0!を非表示にして隠してしまうだけなら、条件付き書式が使えます。但し、0除算エラーは隠されているだけで計算対象に置き換えられてはいないので、他の数式でこの範囲を参照すると#DIV/0!が表示されます。

  1. #div/0!のセルがある範囲を選択して、「ホーム」タブ➔「条件付き書式」➔「新しいルール」をクリック
  2. ルールの種類のプルダウンで「指定の値を含むセルだけを書式設定」を選択
  3. 「次のセルのみを書式設定」のプルダウンで「エラー」を選択
  4. 「書式」をクリック、文字色と背景色で同じ色を指定
  5. 「OK」をクリック
  6. Excelで「#DIV/0!」になる0除算エラー10

エラーインジケータ(緑の三角)が邪魔なら、アイコンをクリックして「エラーを無視する」をクリックして消します。
Excelで「#DIV/0!」になる0除算エラー11

Excelのエラー一覧

エラー値を知って、Excelを使いこなそう!
エラー表示 読み方 エラーの意味と原因
#DIV/0! ディバイド‐パイ‐ゼロ 0除算エラー。ある数値を0で割り算した時に表示されるエラー。Excelでは0、空白が除数になると#DIV/0!が返る
#VALUE! バリュー 数式に入力した(または参照した)値の形式が間違っている時に表示されるエラー
#N/A ノー・アサイン VLOOKUP・XLOOKUPなどの検索関数で検索値が見つからない時に表示されるエラー
#REF! リファレンス 数式での参照が正しくない、参照するセル範囲が無効である時に表示されるエラー
#NAME? ネーム 関数名や参照したセルやセル範囲に定義された名前が無効である時に表示されるエラー
#NUM! ナンバー 数式に入力(または参照)されている数値が無効である時に表示されるエラー
#NULL! ヌル 半角スペース(参照演算子)で指定した複数の範囲に共通部分がない時に表示されるエラー
#スピル!(#SPILL!) スピル 複数の結果を一括で表示できるスピル機能を妨げる不具合がある時に表示されるエラー ※Microsoft365(旧Office365)、Excel2019、2021対応
記号文字 読み方 詳細
#### ナンバーサイン 日付のセルにマイナスの数値を入力、または桁数の多い数値を入力した時に表示される。俗にシャープシャープとも呼ばれる
nE+n n掛ける10のn乗 Excelで大きすぎる・小さすぎる数値を入力、または12桁以上の数値を入力した時に表示される。指数表示
エラー処理の関数 読み方 詳細
IFNA関数 イフ・エヌ・エー VLOOKUP・XLOOKUPなどの検索関数で検索値が未入力の場合に#N/Aエラーを指定した値に置き換える
IFERROR関数 イフ・エラー 未入力から発生するようなエラーを指定した値に置き換える
ISERROR関数 イズ・エラー エラー値かどうかを判定し、論理値(TRUE・FALSE)で返す ※Excel2003以前のバージョンでIFERRORの代替で使われる事が多い
\ この記事をシェアする /
タイトルとURLをコピーしました