エクセル迷子案内所
← 学習記事一覧

IFERROR の使い方と落とし穴【エラーを隠す前に読む完全ガイド】

公開: 2026-05-12

「Excelで #N/A#DIV/0! が出るのが見栄え悪い…」 そんなときに使うのが IFERROR 関数です。

ただ、IFERROR使い方を間違えると、本来見えるべき問題まで隠してしまう 危険な関数でもあります。

この記事では、

  • 基本的な使い方
  • よく使う3パターン
  • 絶対に知っておきたい3つの落とし穴
  • いつ使う/いつ使わないの判断基準

をまとめます。読み終わるころには、「とりあえず IFERROR」ではなく、意図して使えるようになる はずです。

💡 関連記事:


IFERROR とは(30秒で分かる)

IFERROR は「もしエラーが出たら、代わりに別の値を表示する」関数です。

=IFERROR(式, エラー時に返す値)

例えば:

=IFERROR(A1/B1, "")

これは「A1/B1 を計算して、エラーが出たら空白を返す」という意味。

適用前: 分母が 0 の行で #DIV/0! エラーが表示されます。

IFERROR適用前。C3に #DIV/0! エラーが表示されている

適用後: =IFERROR(A2/B2, 0) のように包めば、エラーの代わりに 0(または好きな値)が表示されます。

IFERROR適用後。C3が 0% になり、エラー表示が消えている

IFERROR が対応するエラー:

  • #N/A
  • #VALUE!
  • #REF!
  • #DIV/0!
  • #NAME?
  • #NULL!
  • #NUM!

全部 のエラーをまとめて捕まえます。これが便利でもあり、危険でもあります(後述)。


基本構文

=IFERROR(式, エラー時に返す値)
引数説明
チェックしたい計算式(例: A1/B1, VLOOKUP(...)
エラー時に返す値式がエラーだった場合に表示する値(例: "", 0, "未入力"

C1セルに =IFERROR(A1/B1, "") を入力している様子。数式バーに引数が色分けで表示されている

📌 ポイント: 第2引数には文字列・数値・別の数式も指定できます。「エラーなら 0 として集計に含める」のような使い方が定番です。


よく使う3パターン

パターン①:VLOOKUPの #N/A を空白に

「マスタにまだ登録されていない商品コード」など、見つからないこと自体は問題ない場合に使います。

=IFERROR(VLOOKUP(A2, 商品マスタ!A:C, 2, FALSE), "")

左の商品マスタを右側でVLOOKUP検索。D3の9999はマスタにないため、E3がIFERRORで空白になっている

⚠️ ただし、「本当はマッチすべきなのにマッチしてない」場合まで隠してしまう可能性があります。VLOOKUPの#N/Aは原因が複数あるので、先に原因切り分けしてから使うのがおすすめ。


パターン②:割り算の #DIV/0! をゼロまたは空白に

集計表で「まだデータが入っていない月だけエラーが出る」ケースで便利。

=IFERROR(A2/B2, 0)

月次集計表。データ未入力の4月・5月で #DIV/0! が出ているが、IFERRORで包むと 0% になる

実務でよくあるのは、達成率や前月比のセル がデータ未入力で #DIV/0! になるパターン。IFERROR でゼロにすれば集計に影響しません。


パターン③:複雑な数式のエラー全般を非表示に

ネストした関数や、複数条件の式でエラーが出る可能性をまとめて潰したいとき。

=IFERROR(複雑な式, "確認中")

エラーになったセルだけ「確認中」と表示されるので、原因調査の対象が見つけやすくなります。


⚠️ 3つの落とし穴

ここからが大事です。IFERROR を使う前に 必ず 知っておいてください。

落とし穴①:エラーを「全部」隠してしまう

IFERROR全種類のエラーを区別なく 捕まえます。

例えば:

=IFERROR(VLOOKUP(A2, 商品マスタ!A:C, 2, FALSE), "")

これだと、#N/A(見つからなかった)だけでなく、#REF!(参照範囲が壊れている)も #NAME?(関数名のスペルミス)も、全部空白になります

E4セルは画面上は空白に見えるが、数式バーを見ると VLOKUP(スペルミス)が原因で #NAME? が IFERROR に隠されている

つまり、本当はバグなのに気づけない という状況が起きます。

📌 対策: VLOOKUP系で「見つからない」だけを隠したいなら、IFNA のほうが安全(後述)。


落とし穴②:デバッグできなくなる

IFERROR で包んだ式は、エラーが出ても 画面上は正常に見えます

本来なら:

「あれ?このセルに#REF!が出てる…どこの参照が壊れたんだろう?」

と気づくところを、

「なぜか集計が合わない…どこが原因か分からない…」

という、もっと厄介な状況に変わります。

特に他人に渡すブックや、長く使う管理表では要注意です。

📌 対策: 開発中は IFERROR外して エラーを目視で確認 → 動作確定後に IFERROR で包む、の順番が安全。


落とし穴③:IFNA のほうが良いケースがある

VLOOKUP・XLOOKUP系で「見つからない場合だけ」非表示にしたいなら、IFERROR ではなく IFNA を使いましょう。

=IFNA(VLOOKUP(A2, 商品マスタ!A:C, 2, FALSE), "")

IFNA#N/A だけ を捕まえます。他のエラー(#REF!, #NAME? など)はそのまま表示されるので、本来のバグに気づけます。

💡 VLOOKUP の代わりに INDEX+MATCH を使っている場合も同じで、IFNA(INDEX(...), "") のように包めば「見つからない」だけを安全に隠せます。

IFERROR と IFNA の比較。#REF! が含まれる行で、IFERRORは空白/IFNAはエラーがそのまま表示される

関数捕まえるエラー用途
IFERROR全部エラーの種類を問わず非表示にしたい
IFNA#N/A のみVLOOKUP系の「見つからない」だけ非表示にしたい

📌 VLOOKUP系では IFNA 推奨。他のエラーを握りつぶさないので、後々のトラブルを防げます。


いつ使う/いつ使わない の判断基準

✅ 使ってOKなケース

  • エラーになることが想定内(例: 集計表でまだ入力されてない月)
  • 見た目を整える必要がある(顧客に見せる帳票など)
  • エラー時の挙動を明示的に決めたい(例: 在庫切れなら "ー" と表示)

❌ 使う前に立ち止まるべきケース

  • エラーの原因が分かっていない: まず原因を特定しましょう
  • データが正しいのにエラーが出ている: 数式や参照の問題なので、根本対処が必要
  • 業務クリティカルな計算: 隠したエラーが集計に悪影響を与える可能性

📌 鉄則: 「IFERROR を貼る前に、なぜエラーが出ているかを1回は確認する」


まとめ:判断フロー

ステップやること
1エラーの 種類 を確認(#N/A, #DIV/0!, etc.)
2エラーの 原因 を特定する
3根本対処できるなら、それを優先
4「エラーになって当然」なケースだけ IFERROR / IFNA
5VLOOKUP系で見つからないだけを隠すなら IFNA を選ぶ

よくある質問

Q. IFERROR を使うと処理が重くなる?

A. 軽微です。少数のセルなら気にしなくてOK。数千行に渡る複雑な式の場合は、根本対処(データ側を整える)を優先する方がパフォーマンス的に有利です。

Q. IFERROR の中に IFERROR を入れてもいい?

A. 動作はしますが、可読性が下がります。代わりに IFSIF で条件分岐したほうが分かりやすいことが多いです。

Q. Excelのバージョンによって使える?

A. IFERROR は Excel 2007 以降で使えます。IFNA は Excel 2013 以降です。

関連記事

それでも解決しないときは

記事の手順を試しても直らない場合、特定の構成だけで起きるレアケースかもしれません。対話で原因を1つずつ切り分けるのが最短です。

AI案内人に相談する(無料・登録不要)→