【Excel】#DIV/0!の原因と対処|未入力・分母0を分けるIFとIFERROR

【Excel】#DIV/0!の原因と対処|未入力・分母0を分けるIFとIFERROR
🛡️ 超解決

Excelの#DIV/0!は、0または空のセルで割り算したときなどに出ます。入力待ちの表ではよく起きますが、IFERRORで空欄にする前に、分母が「未入力」なのか「実際に0」なのかを確認すると、誤った集計を防げます。

【要点】分母を確認し、未入力と算出不可を分けて表示します。IFERRORは表示を整える仕組みで、計算条件や元データを修正するものではありません。

ADVERTISEMENT

1. まず割り算の分母を確認する

たとえばA2が売上、B2が来客数なら、=A2/B2で客単価を求められます。ただしB2が0のとき、客単価を0円と決めることはできません。来客数が未入力なのか、売上と来客数の対象期間が違うのかも調べます。

売上A2 来客数B2 読み取り方
12,000 40 客単価は300円。
12,000 空欄 来客数の入力が必要。
12,000 0 この条件では割れない。対象期間や入力値を照合する。
0 40 計算結果は0円。分母が0の場合とは異なる。
※ お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

2. 未入力と0を分けるIF関数の例

上の表で、分母が空欄なら「未入力」、0なら「算出不可」と表示する式です。

=IF(B2="","未入力",IF(B2=0,"算出不可",A2/B2))

この例はA2・B2に正しい数値を入れることが前提です。B2に空文字を返す数式が入っている場合も「未入力」になります。「空欄に見えるセル」にはスペースや文字が入っていることもあるため、想定と違う結果なら数式バーを確認します。

表示用の文字を返すと、そのセルは数値ではなくなります。後続の集計には元の売上・来客数を使い、未入力件数を別に確認する設計にすると扱いやすくなります。

3. IFERRORを使う場合は隠す範囲を理解する

=IFERROR(A2/B2,"")はエラーのときに空文字を返します。見た目は空白でも、セルの内容がなくなったわけではありません。また、#DIV/0!だけでなく、参照切れの#REF!や文字混入による#VALUE!なども隠します。

入力済みの正常なデータで計算を確かめてから表示用の式に使ってください。管理用にはエラー件数や未入力の行を残し、報告用の表示だけを簡潔にするほうが、原因を追跡できます。

4. AVERAGEや集計表で出る場合

AVERAGEの対象に数値が一つもない場合も#DIV/0!になります。「0が入力された行」と「数値が未入力の行」は同じではありません。対象範囲が文字列だけになっていないか、集計条件で全件が除外されていないかを調べます。

エラー行を除外して計算した値を、全件を含む平均として扱わないでください。客単価をまとめる例なら、各行の単価を単純平均するのか、売上合計を来客数合計で割るのかでも答えが変わります。どちらが必要かを先に決めます。

5. 入力待ちの表で確認しておくこと

  1. 未入力・分母0・正常値の3ケースを試します。
  2. 分母に文字を入れたケースで、誤入力が見落とされないか確認します。
  3. 数式を下へコピーした後も、同じ行の分母を参照しているか点検します。
  4. 未入力が残る場合は、帳票に対象件数や集計時点を明示します。

数値入力の列には入力規則も利用できますが、貼り付けや外部取り込みを含めた完全な検査の代わりにはなりません。集計前に元データも確認します。

まとめ:0円と計算できない状態を混同しない

#DIV/0!は、計算に必要な条件がそろっていないことを知らせます。空欄にしたい場合も、まず未入力と0の意味を決めてから式を選んでください。Microsoftの数式確認手順とエラー表示の変更方法も参照できます。

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。
この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】