概要
集計表やレポートを作っていると、ところどころに
#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(元の計算式, "")
あとは、あなたのシートの中で
「エラーだけど、これは想定内。空白にしておきたい」という列に、
そっとかぶせてあげてください。
数式の中身はそのままに、表の印象がかなり整います。

