Excel関数 逆引き集 | 計算不能時の空白表示 → IFERROR(“”)

Excel
スポンサーリンク

概要

集計表やレポートを作っていると、ところどころに

#DIV/0!
#N/A
#VALUE!

といったエラーが並んで、見た目がガタガタになることがあります。

でも、そこは「まだ入力途中」「条件的にたまたま計算できないだけ」で、
ロジックとしては正しい ことが多いはずです。

そういうときに便利なのが、

=IFERROR(計算式, "")

という書き方です。
「計算不能(エラー)のときだけ“空白”を返す」ことで、表をきれいに整えられます。


IFERROR で空白を返す基本形

IFERROR の書式

IFERROR の基本形は次の通りです。

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

これを「エラーのときは空白にしたい」場合に特化すると、こうなります。

=IFERROR(計算式, "")

動きはとてもシンプルです。

計算式が正常に計算できる場合
その結果をそのまま表示

計算式がエラーになる場合(#DIV/0!, #N/A, #VALUE! など)
代わりに ""(見た目は空白)を表示

エラーを「なかったことにする」のではなく、
「見た目だけ空白に置き換える」と考えるとイメージしやすいです。


0除算などの計算不能を空白で隠す

割り算で #DIV/0! を出したくない

C2 を B2 で割る式があるとします。

=C2/B2

B2 が 0 や空白だと #DIV/0! になります。

これを「計算不能なら空白」にしたければ、こう書きます。

=IFERROR(C2/B2, "")

正常なケース
C2/B2 を計算して表示

分母が 0 などでエラーになるケース
""(空白)を表示

「まだ分母のデータが揃っていない段階」や
「分母が 0 になるケースも想定内」の場面でよく使います。


VLOOKUP などの検索失敗を空白にする

見つからないときの #N/A を空白に

A2 の値を、D2:E10 の表から VLOOKUP する例を考えます。

通常の式はこうです。

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

A2 に該当データがないと #N/A になります。

これを「見つからないときは空白」にしたい場合、

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

とします。

見つかったとき
通常どおり VLOOKUP の結果を表示

見つからないとき(#N/A)
空白を表示

マスタにまだ登録されていないコードが混ざる可能性があるとき、
一覧をきれいに見せたい場合に定番の使い方です。


長い計算式に「最後のひと押し」としてかぶせる

複雑な式を一括でエラー→空白にする

例えば、こんな複雑な式があるとします。

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

どこか一つでも問題があると、#DIV/0!#VALUE! になる可能性があります。

そこに IFERROR(“”) をかぶせると、

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

となり、「計算不能なときだけ空白」にできます。

ポイントは、

普段は普通に計算結果を返す
何かの事情で式がエラーになったときだけ空白

という「最後の見た目調整用フィルター」として使うイメージです。


IF で判定を書く代わりに IFERROR(“”) で簡略化する

IF で 0 や空白を事前にチェックする形との違い

例えば「分母が 0 なら空白、それ以外なら割り算」を IF で書くと、こうなります。

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

これでも正しいのですが、
B2 が空白だったり、文字列が入っていたり、
他の理由でエラーになる場合まではケアしきれないことがあります。

IFERROR(“”) なら、

=IFERROR(C2/B2, "")

で、「原因は何であれエラーなら空白」というふるまいになります。

「細かい原因までは区別しなくていい、とにかくエラーを空白にしたい」
というときは IFERROR(“”) のほうが簡潔です。


IFERROR(“”) を使うときの注意点

本当に気づきたいエラーまで“見えなくなる”可能性

IFERROR は、「すべてのエラー」を空白にしてしまいます。

テーブル設計の段階で、

セル参照の範囲ミス
打ち間違い
関数の引数の間違い

といった本来気づくべきエラーも、
空白に隠れて見えなくなってしまう可能性があります。

安全に使うコツは、

まずは IFERROR を付けずに式を作り、
エラーの出方を理解する
「このエラーは想定内」と分かってから、
最後に IFERROR(“”) をかぶせる

という順番を守ることです。


例題

問題1

C2 を B2 で割った結果を表示したいが、
分母 B2 が 0 や空白などで計算できないときは空白(””)を表示したいです。
IFERROR を使って式を書いてください。

=IFERROR(C2/B2, "")

問題2

A2 の値を D2:E10 の表から VLOOKUP しています。
見つからないと #N/A になりますが、その場合は空白を表示したいです。
IFERROR を使って書き直してください。

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

問題3

次の式があります。

=(B2*C2)/D2

D2 が 0 や空白などで計算不能になったときに、
空白(””)を返すように IFERROR を使って書き直してください。

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

問題4

=INDEX($E$2:$E$10, MATCH(A2, $D$2:$D$10, 0))
という式を使っています。
A2 がリストに存在しないときなどでエラーになった場合、空白を返したいです。
IFERROR を使った式を書いてください。

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

問題5

次のような複雑な式があります。

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

何らかの理由でこの式がエラーになった場合、空白(””)を表示したいです。
IFERROR を使って式を書き直してください。

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

まとめ

「計算不能時の空白表示 → IFERROR(“”)」は、
表の見た目と安定感を一気に上げてくれる、実務で非常によく使うパターンです。

型としては、この 1 行だけ覚えれば十分です。

=IFERROR(元の計算式, "")

あとは、あなたのシートの中で
「エラーだけど、これは想定内。空白にしておきたい」という列に、
そっとかぶせてあげてください。
数式の中身はそのままに、表の印象がかなり整います。

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