IFERROR の使い方と落とし穴【エラーを隠す前に読む完全ガイド】
「Excelで #N/A や #DIV/0! が出るのが見栄え悪い…」
そんなときに使うのが IFERROR 関数です。
ただ、IFERROR は 使い方を間違えると、本来見えるべき問題まで隠してしまう 危険な関数でもあります。
この記事では、
- 基本的な使い方
- よく使う3パターン
- 絶対に知っておきたい3つの落とし穴
- いつ使う/いつ使わないの判断基準
をまとめます。読み終わるころには、「とりあえず IFERROR」ではなく、意図して使えるようになる はずです。
💡 関連記事:
- VLOOKUPで#N/Aが出る5つの原因と解決法 ← 根本対処したい人向け
- Excelの主要エラー6種【症状→原因→解決の早見表】
IFERROR とは(30秒で分かる)
IFERROR は「もしエラーが出たら、代わりに別の値を表示する」関数です。
=IFERROR(式, エラー時に返す値)
例えば:
=IFERROR(A1/B1, "")
これは「A1/B1 を計算して、エラーが出たら空白を返す」という意味。
適用前: 分母が 0 の行で #DIV/0! エラーが表示されます。

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

IFERROR が対応するエラー:
#N/A#VALUE!#REF!#DIV/0!#NAME?#NULL!#NUM!
→ 全部 のエラーをまとめて捕まえます。これが便利でもあり、危険でもあります(後述)。
基本構文
=IFERROR(式, エラー時に返す値)
| 引数 | 説明 |
|---|---|
| 式 | チェックしたい計算式(例: A1/B1, VLOOKUP(...)) |
| エラー時に返す値 | 式がエラーだった場合に表示する値(例: "", 0, "未入力") |

📌 ポイント: 第2引数には文字列・数値・別の数式も指定できます。「エラーなら 0 として集計に含める」のような使い方が定番です。
よく使う3パターン
パターン①:VLOOKUPの #N/A を空白に
「マスタにまだ登録されていない商品コード」など、見つからないこと自体は問題ない場合に使います。
=IFERROR(VLOOKUP(A2, 商品マスタ!A:C, 2, FALSE), "")

⚠️ ただし、「本当はマッチすべきなのにマッチしてない」場合まで隠してしまう可能性があります。VLOOKUPの
#N/Aは原因が複数あるので、先に原因切り分けしてから使うのがおすすめ。
パターン②:割り算の #DIV/0! をゼロまたは空白に
集計表で「まだデータが入っていない月だけエラーが出る」ケースで便利。
=IFERROR(A2/B2, 0)

実務でよくあるのは、達成率や前月比のセル がデータ未入力で #DIV/0! になるパターン。IFERROR でゼロにすれば集計に影響しません。
パターン③:複雑な数式のエラー全般を非表示に
ネストした関数や、複数条件の式でエラーが出る可能性をまとめて潰したいとき。
=IFERROR(複雑な式, "確認中")
エラーになったセルだけ「確認中」と表示されるので、原因調査の対象が見つけやすくなります。
⚠️ 3つの落とし穴
ここからが大事です。IFERROR を使う前に 必ず 知っておいてください。
落とし穴①:エラーを「全部」隠してしまう
IFERROR は 全種類のエラーを区別なく 捕まえます。
例えば:
=IFERROR(VLOOKUP(A2, 商品マスタ!A:C, 2, FALSE), "")
これだと、#N/A(見つからなかった)だけでなく、#REF!(参照範囲が壊れている)も #NAME?(関数名のスペルミス)も、全部空白になります。

つまり、本当はバグなのに気づけない という状況が起きます。
📌 対策: 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 | #N/A のみ | VLOOKUP系の「見つからない」だけ非表示にしたい |
📌 VLOOKUP系では
IFNA推奨。他のエラーを握りつぶさないので、後々のトラブルを防げます。
いつ使う/いつ使わない の判断基準
✅ 使ってOKなケース
- エラーになることが想定内(例: 集計表でまだ入力されてない月)
- 見た目を整える必要がある(顧客に見せる帳票など)
- エラー時の挙動を明示的に決めたい(例: 在庫切れなら "ー" と表示)
❌ 使う前に立ち止まるべきケース
- エラーの原因が分かっていない: まず原因を特定しましょう
- データが正しいのにエラーが出ている: 数式や参照の問題なので、根本対処が必要
- 業務クリティカルな計算: 隠したエラーが集計に悪影響を与える可能性
📌 鉄則: 「
IFERRORを貼る前に、なぜエラーが出ているかを1回は確認する」
まとめ:判断フロー
| ステップ | やること |
|---|---|
| 1 | エラーの 種類 を確認(#N/A, #DIV/0!, etc.) |
| 2 | エラーの 原因 を特定する |
| 3 | 根本対処できるなら、それを優先 |
| 4 | 「エラーになって当然」なケースだけ IFERROR / IFNA |
| 5 | VLOOKUP系で見つからないだけを隠すなら IFNA を選ぶ |
よくある質問
Q. IFERROR を使うと処理が重くなる?
A. 軽微です。少数のセルなら気にしなくてOK。数千行に渡る複雑な式の場合は、根本対処(データ側を整える)を優先する方がパフォーマンス的に有利です。
Q. IFERROR の中に IFERROR を入れてもいい?
A. 動作はしますが、可読性が下がります。代わりに IFS や IF で条件分岐したほうが分かりやすいことが多いです。
Q. Excelのバージョンによって使える?
A. IFERROR は Excel 2007 以降で使えます。IFNA は Excel 2013 以降です。
関連記事
- ピボットテーブルが思いどおりに集計できない【合計・個数・比率・更新を症状別に】
- Excelマクロ(VBA)が動かない・エラーが出るときの原因切り分け【症状別】
- 数式が計算されない・=SUMがそのまま表示される【3つの原因で切り分け】
- 絶対参照と相対参照の使い分け【$ と F4 キーで数式コピーがズレない】
- COUNTIF / COUNTIFS が動かない6つの原因と解決法【上から順に試せばOK】
- Excelショートカット厳選20選【明日から作業が倍速になる】
- IF関数の入れ子から卒業する5つの方法【パターン別に使い分け】
- INDEX+MATCH で VLOOKUP の弱点を克服する4つの場面【コピペで使える】
- SUMIF / SUMIFS が動かない6つの原因と解決法【上から順に試せばOK】
- Excelの主要エラー6種【症状→原因→解決の早見表】
- VLOOKUPで#N/Aが出る5つの原因と解決法【上から順に試せばOK】