Googleスプレッドシートの「#DIV/0!」を非表示にする方法|IFERROR・IF関数で完全解決

Googleスプレッドシートで割り算の計算式を入れたとき、突然「#DIV/0!」という赤いエラーが表示されて困った経験はないでしょうか。
このエラーは原因を理解して適切な関数を使えば、数式1本で解消できます。
この記事では、#DIV/0!エラーの原因と、状況に応じた3つの非表示方法をわかりやすく解説します。


スポンサーリンク

#DIV/0!エラーとは何か

#DIV/0!(ディバイド・パー・ゼロ)は、「0で割り算をしようとしたときに発生するエラー」です。
数学的に「0で割る」という計算は定義されていないため、スプレッドシートがエラーとして表示します。

#DIV/0!が出る主な原因

以下のいずれかに該当するとエラーが発生します。

  • 分母のセルが「0」になっている(例:=A2/B2 でB2が0)
  • 分母のセルが空白になっている(スプレッドシートは空白を0として扱う)
  • データ入力中でまだ値が入っていない(集計シートの未記入行など)
  • AVERAGE関数を空白範囲に使った(平均を計算するデータがない場合)

データ入力中のシートや、行を事前に用意しておく集計表では特に出やすいエラーです。


方法①:IFERROR関数(最もシンプルで推奨)

IFERROR関数は、数式の結果がエラーだった場合に「代わりに表示する値」を指定できる関数です。

DIV/0!に限らず、あらゆるエラーに対応できるため、最もよく使われる方法です。

基本構文(Google公式ヘルプより)

IFERROR(値, [エラー値])
引数内容
エラーチェックしたい数式や値
エラー値エラー時に表示する値(省略すると空白)

空白にする(最もすっきりする)

=IFERROR(A2/B2,"")

エラーのとき空白を返します。
エラー値の引数を省略して =IFERROR(A2/B2) と書いても同じ動作になります。

0にする(数値として扱いたい場合)

=IFERROR(A2/B2,0)

後続のSUMやAVERAGEなど数値計算に使うセルには0を返す方が扱いやすいケースがあります。
ただし、0が計算結果に混入するため、AVERAGE関数の結果がズレる点には注意が必要です。

任意のテキストにする(状況を明示したい場合)

=IFERROR(A2/B2,"データなし")

テキストを指定するときはダブルクォーテーション(”)で囲むのがルールです。
ダブルクォーテーションなしで文字を入力すると、別のエラー(#NAME?)が発生するため注意してください。

IFERRORの注意点

IFERRORはすべてのエラーをキャッチします。
つまり、#DIV/0! だけでなく #VALUE!(型のミス)や #REF!(参照エラー)も同じように非表示になってしまいます。
本来気づくべきエラーを隠してしまう可能性があるため、データ整合性が重要なシートでは使いすぎに注意しましょう。


方法②:IF関数で分母をチェック(#DIV/0!のみを特定して対処)

IF関数を使って「分母が0または空白のときだけ別の値を返す」という書き方です。
IFERRORより記述は長くなりますが、#DIV/0!だけを対処したい場合に適しています

分母が0のとき空白にする

=IF(B2=0,"",A2/B2)

B2が0ならば空白、そうでなければ割り算を実行します。

分母が空白のとき空白にする

=IF(B2="","",A2/B2)

B2が空白(未入力)ならば空白を返します。

分母が0または空白のどちらにも対応する

=IF(OR(B2=0,B2=""),"",A2/B2)

OR関数を組み合わせることで、0と空白の両方に対応できます。


方法③:IF+ISERROR関数(旧来の方法)

IFERRORが登場する前によく使われていた書き方です。
ISERROR関数はセルの値がエラーかどうかを判定し、TRUEかFALSEを返します。

=IF(ISERROR(A2/B2),"",A2/B2)

同じ計算式(A2/B2)を2回書く必要があり冗長です。
現在はIFERRORのほうがシンプルに同じことができるため、特別な理由がない限りIFERRORを使うほうが一般的です。


3つの方法の使い分け

状況おすすめ方法
とにかくエラーを非表示にしたいIFERROR(空白 or 0)
#DIV/0!だけを特定して対処したいIF関数
IFERRORでは隠したくないエラーがあるIF関数
旧バージョンとの互換性が必要IF+ISERROR

ほとんどのケースでIFERROR関数が最適です。
集計途中で空白行がある表や、データが順次入力される予定のシートには特に有効です。


VLOOKUP・AVERAGEなどでも同じ方法が使える

IFERROR関数はDIV/0!専用ではなく、あらゆる関数のエラー対策に使えます。

VLOOKUPの#N/Aエラーを非表示にする例:

=IFERROR(VLOOKUP(D2,A:B,2,FALSE),"該当なし")

AVERAGEの#DIV/0!を非表示にする例(対象範囲が空のとき):

=IFERROR(AVERAGE(B2:B10),"")

関数が変わっても、IFERROR(元の数式, エラー時の値) という構造は共通です。


まとめ

Googleスプレッドシートの#DIV/0!エラーを非表示にするには、主に以下の方法があります。

  1. IFERROR関数:最もシンプル。空白・0・テキストを指定できる
  2. IF関数:#DIV/0!だけを特定的に防ぎたい場合
  3. IF+ISERROR関数:旧来の方法。現在はIFERRORで代替可能

多くの場合は =IFERROR(A2/B2,"") の一行で解決します。
スプレッドシートをもっと快適に使いたい方は、Googleスプレッドシートの便利なショートカット一覧もあわせてご覧ください。
ExcelとGoogleスプレッドシートの違いが気になる方はExcel vs Googleスプレッドシート比較記事も参考にどうぞ。


参考情報源:

コメント

タイトルとURLをコピーしました