Excelで数式を入力したとき、セルに突然「#N/A」や「#DIV/0!」が表示されて困った経験はありませんか?
エラー表示のまま上司に資料を提出するのは、なかなか気まずいものです。実は、IFERROR関数を使うと、こうしたエラーをわずか1行で非表示にしたり、任意のメッセージに置き換えたりできます。
この記事では、IFERROR関数の基本的な書き方から、VLOOKUP・割り算・IFとの組み合わせまで、実務ですぐ使える具体例をまとめました。
「エラーを消したいけど、どう書けばいいかわからない」という方はぜひ最後まで読んでみてください。
IFERROR関数とは?エラー処理の基本を理解しよう
IFERROR関数は、数式がエラーになったときだけ、代わりの値を表示させる関数です。
正常に計算できるときは通常の結果が表示され、エラーのときだけ指定した値に切り替わります。
エラー処理の中でも使用頻度がとくに高く、覚えておくと資料作成のスピードが大きく変わります。
IFERROR関数の構文と引数
書き方はシンプルで、引数は2つだけです。
IFERROR関数が対応しているエラーの種類
IFERROR関数は、Excelで発生するあらゆるエラー値をまとめて処理できます。
個別に条件分岐を書く必要がなく、1つの関数で対応できる点が大きなメリットです。
| エラーの種類 | 主な原因 | よくある場面 |
|---|---|---|
| #N/A | 検索値が見つからない | VLOOKUPでリストに無い時 |
| #DIV/0! | 0(または空白)で割り算している | 達成率・単価計算 |
| #VALUE! | データ型が合っていない | 文字と数値で四則演算した時 |
| #REF! | 参照先のセルが削除された | 参照元の行・列を削除した後 |
| #NAME? | 関数名のスペルが違う | 入力ミス・全角スペースの混入 |
| #NUM! | 計算結果が数値の範囲外 | SQRT関数に負の数を入れた時 |
| #NULL! | 交差しない2つの範囲を指定 | カンマ(,)を忘れてスペースで区切った時 |
エラーの種類ごとに原因や直し方を深掘りしたい場合は、Excel関数エラーの原因と直し方|症状別逆引きもあわせてご覧ください。
【コピペOK】IFERROR関数の基本的な使い方と書き方
まずは、もっともシンプルなIFERROR関数の書き方から見ていきましょう。
エラーが出たとき「どう表示させるか」によって、第2引数の書き方が変わります。自分の用途に合った書き方を選んでみてください。
IFERROR関数のよくある入力ミスと対処法
IFERROR関数でうまく動かないときは、以下の入力ミスが原因であることがほとんどです。
| 症状 | 原因 | 対処法 |
|---|---|---|
| #NAME? が出る | 関数名が全角になっている | 半角で =IFERROR( と入力する |
| エラーが消えない | カッコの数が合っていない | 最後が ) で閉じられているか確認する |
| 文字が「”未登録”」のまま出る | ダブルクォーテーションが全角 | 半角の "" で囲み直す |
| 正常な値もエラー扱いになる | 第1引数の数式が間違っている | IFERRORを外して、元の数式を単体で直す |
IFERROR関数の実務で使える具体例5選
IFERRORの使いどころは「VLOOKUP・割り算・IF・SUM・ネスト」の5パターンに集約されます。
実際の業務シーンを想定しながら、1つずつ確認していきましょう。
① VLOOKUPの#N/AエラーをIFERRORで消す
IFERROR関数との組み合わせでもっとも多いのが、VLOOKUPとの組み合わせです。
商品マスタや従業員名簿を参照するとき、検索値がリストに存在しないと「#N/A」が出てしまいます。
※注意:XLOOKUP関数を使う場合
最新のXLOOKUP関数には、第4引数に「見つからない場合」の処理が標準で組み込まれています。=XLOOKUP(D2, A:A, B:B, "未登録") と書けるため、XLOOKUPをIFERRORで囲む必要はありません。
② 割り算の#DIV/0!をIFERRORで処理する
売上達成率や単価計算など、割り算を使うシートでは「#DIV/0!」がよく発生します。
分母のセルが空欄や0のときに起こるエラーで、シートの見た目が崩れてしまうのが困りものです。
=C2/B2=IFERROR(C2/B2, "−")③ IFとIFERRORを組み合わせる
「エラーのときは空白、値があれば○か×を表示したい」というような場面では、IFとIFERRORを組み合わせます。処理の順番を意識することがポイントです。
=IFERROR(IF(C2>=B2, "達成", "未達"), "−")④ SUMでエラーを除外して合計する正しい方法
範囲内にエラーが含まれていると、SUMの計算結果まで「#N/A」になってしまいます。最新のExcel 365や2021以降(スピル対応)であれば、IFERRORをそのまま噛ませて合計できますが、古いExcelでこれをやると計算が壊れます。
実務では、バージョンを問わず安全にエラーを無視できる「AGGREGATE関数」を使うのが定石です。
=AGGREGATE(9, 6, A1:A10)古いExcelから最新まで、最も安全かつ確実にエラーを飛ばして集計できます。
⑤ IFERRORを2重にネストする(応用)
「VLOOKUPで見つからなければ別の表からVLOOKUPで探す」というような、複数の参照先を順番に試したいケースでは、IFERRORをネスト(入れ子)にする方法が使えます。
=IFERROR(VLOOKUP(D2, A:B, 2, 0), IFERROR(VLOOKUP(D2, E:F, 2, 0), "未登録"))IFERROR関数を使うときの落とし穴と注意点
IFERRORはとても便利な関数ですが、使い方によっては思わぬ落とし穴にはまることも。ここでは実務でよくある注意点を整理します。
本来のエラーが隠れてデバッグしにくくなる
IFERRORを使うと、数式そのものに問題があってもエラーが見えなくなります。たとえば参照先のセルを間違えていても「未登録」と表示されるだけで、ミスに気づけないことがあるでしょう。
数式を作りこんでいる段階では、IFERRORを外した状態でテストするのがおすすめです。完成してから最後にIFERRORで包む、という順番を意識してみてください。
IFERROR関数とISERROR関数の違い
似た関数として「ISERROR」がありますが、役割は異なります。IFERRORは「エラーなら代替値を返す」という一体型の処理に対し、ISERRORは「エラーかどうか」をTRUE/FALSEで返す判定関数です。
| 関数 | 役割 | 使い分け |
|---|---|---|
IFERROR |
エラーなら代替値を表示 | 表の見た目を整える場面 |
ISERROR |
エラーかをTRUE/FALSEで返す | エラー判定を条件分岐に使う場面 |
IFNA |
#N/Aだけを代替値にする | VLOOKUP専用で厳密に処理したい場面 |
#N/Aエラーだけを対象に処理したい場合は、IFNA関数を使うとより意図が明確になります。VLOOKUPで起きるエラーの種類をもっと詳しく知りたい方は、VLOOKUPエラーの原因と直し方|症状別逆引きもあわせてどうぞ。
よくある質問
まとめ|IFERRORを使いこなしてExcelの見た目を整えよう
IFERROR関数のポイントをおさらいします。
- 書き方は
=IFERROR(値, エラーの場合の値)のシンプルな2引数構成 - #N/A・#DIV/0!・#VALUE! など全種類のエラーを一括処理できる
- VLOOKUPや割り算との組み合わせが実務でとくに役立つ
- XLOOKUPには標準でエラー処理が備わっているため併用不要
- 合計時のエラー除外には、IFERRORではなくAGGREGATE関数を使う
- エラーを隠しすぎると数式ミスに気づきにくくなるため注意
一度書き方を覚えてしまえば、あとは応用するだけです。「エラーが出るたびに手動で対処していた」という方は、ぜひ今日からIFERROR関数を取り入れてみてください。資料の見た目がぐっと整い、作業時間も短縮できるはずです。
Excelの関数まわりでまだ気になるエラーがある場合は、Excel関数エラーの原因と直し方|症状別逆引きもあわせてチェックしてみてください。