Excel関数 逆引き集 | エラーを0として扱う → IFERROR(…,0)

Excel
スポンサーリンク

概要

Excel で集計や計算をしていると、
#DIV/0!#N/A#VALUE! などのエラーが混ざってしまい、
合計が計算できない・表が見づらい・後続の式が全部エラーになる
といった問題がよく起こります。

そんなときに便利なのが IFERROR(…,0) です。

=IFERROR(計算式, 0)

この形にするだけで、
「エラーのときは 0 として扱う」 という非常に実務的な動きを実現できます。


IFERROR の基本

IFERROR の書式

=IFERROR(値, エラーのときに返す値)

これを「エラーなら 0」に特化すると、こうなります。

=IFERROR(計算式, 0)

動きは次の通りです。

  • 計算式が正常に計算できる → そのまま結果を返す
  • 計算式がエラーになる → 0 を返す

つまり、「計算不能=0」 として扱えるため、
集計やグラフ作成がとても安定します。


割り算のエラーを 0 にする

分母が 0 のときの #DIV/0! を 0 に置き換える

例:C2 ÷ B2 を計算したいが、B2 が 0 や空白のときにエラーを出したくない。

=IFERROR(C2/B2, 0)

動き:

  • B2 が 0 でなければ → C2/B2 を返す
  • B2 が 0 や空白でエラー → 0 を返す

「エラー率」「単価」「割合」など、分母が 0 になりうる計算で大活躍します。


VLOOKUP の検索失敗を 0 にする

見つからないときの #N/A を 0 にする

=IFERROR(VLOOKUP(A2, $D$2:$E$10, 2, FALSE), 0)

動き:

  • 見つかった → VLOOKUP の結果
  • 見つからない(#N/A) → 0

「在庫がないときは 0」「ポイントが未登録なら 0」など、
数値として扱いたい場面に最適です。


INDEX+MATCH のエラーを 0 にする

MATCH が見つからないときの #N/A を 0 に

=IFERROR(INDEX($E$2:$E$10, MATCH(A2, $D$2:$D$10, 0)), 0)

INDEX+MATCH は検索失敗で #N/A になりやすいので、
IFERROR で 0 にしておくと後続の計算が安定します。


複雑な式を丸ごと「エラーなら 0」にする

長い式の最後に IFERROR をかぶせる

=IFERROR((B2*C2)/D2 + E2 - F2, 0)

どこか一つでもエラーが出ると式全体がエラーになりますが、
IFERROR をかぶせることで 「計算不能=0」 として扱えます。


IFERROR(…,0) を使うメリット

集計が安定する

SUM や AVERAGE がエラーで止まらなくなるのを防げます。

グラフが崩れない

エラーがあるとグラフが途切れたり表示されなかったりしますが、
0 にしておけば問題ありません。

表が見やすくなる

#DIV/0!#N/A が並ぶより、0 のほうが圧倒的に読みやすいです。


注意点

本当に気づくべきエラーまで 0 にしてしまう可能性がある

IFERROR は すべてのエラー を 0 にします。

  • 範囲指定ミス
  • 関数の引数ミス
  • 打ち間違い

こうした「本来は気づくべきエラー」も隠れてしまうことがあります。

「このエラーは想定内」 と分かっている場所にだけ使うのが安全です。


例題

問題1

C2 を B2 で割りたいが、B2 が 0 や空白で計算できないときは 0 を返したい。
IFERROR を使って式を書いてください。

=IFERROR(C2/B2, 0)

問題2

A2 の値を D2:E10 から VLOOKUP し、見つからないときは 0 を返したい。
IFERROR を使った式を書いてください。

=IFERROR(VLOOKUP(A2, $D$2:$E$10, 2, FALSE), 0)

問題3

次の式があります。
=(B2*C2)/D2
D2 が 0 や空白でエラーになるときは 0 を返すように書き直してください。

=IFERROR((B2*C2)/D2, 0)

問題4

INDEX+MATCH の組み合わせで検索しています。
=INDEX($E$2:$E$10, MATCH(A2, $D$2:$D$10, 0))
検索失敗時に 0 を返すように書き直してください。

=IFERROR(INDEX($E$2:$E$10, MATCH(A2, $D$2:$D$10, 0)), 0)

問題5

次の複雑な式があります。
=(B2*C2)/D2 + E2 - F2
何らかの理由でエラーになった場合、0 を返すように書き直してください。

=IFERROR((B2*C2)/D2 + E2 - F2, 0)

まとめ

「エラーを 0 として扱う → IFERROR(…,0)」は、
実務で最もよく使われるエラー処理のひとつです。

型はこれだけ。

=IFERROR(元の式, 0)

エラーが混ざると集計が止まるような表では、
この 1 行をかぶせるだけで安定性が一気に上がります。

あなたのシートの中で「エラーだけど 0 として扱いたい」場所があれば、
ぜひこのパターンを使ってみてください。

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