はじめに
Excelで数式を使っていると、次のようなエラーを目にしたことがあると思います。
#N/A(該当データが見つからない)#DIV/0!(0で割った)#VALUE!(文字列を数値として扱った)
これらのエラーは、原因を知るには便利ですが、
実務上は「見た目が悪い」「印刷できない」「報告資料が汚れる」など、困りごとになるケースが多いです。
そんなときに役立つのが IFERROR関数。
そして、特定のエラーだけを処理したいときに使えるのが IFNA関数 です。
この記事では、初心者にもわかりやすく
IFERROR関数の基本・応用・類似関数との違い をまとめて解説します。
IFERROR関数とは?
書式
=IFERROR(値, エラーの場合の値)
意味
- 値:実際に計算したい数式
- エラーの場合の値:エラーが発生したときに表示する内容
基本例
=IFERROR(A1/B1, "エラー")
→ B1が0の場合などでエラーが発生すると「エラー」と表示。
| A | B | C |
|---|---|---|
| 10 | 2 | 5 |
| 5 | 0 | エラー |
| 8 | 4 | 2 |
IFERRORの実務的な使い方
1. VLOOKUPのエラーを見やすくする
=IFERROR(VLOOKUP(A2, 顧客マスタ!A:C, 3, FALSE), "該当なし")
検索値が存在しない場合、#N/A ではなく「該当なし」と表示されます。
ポイント
- 顧客名・商品コードなどの照合に便利
- 空欄や「未登録」と表示することで報告書がすっきり
2. 0除算エラーを防ぐ
=IFERROR(A2/B2, 0)
0で割るときの #DIV/0! を防ぎ、0を返すことで平均値などの集計が崩れない。
3. 文字列変換時のエラー回避
=IFERROR(VALUE(A2), "")
数値に変換できない場合は空白を返す。
データ整形時に便利です。
IFNA関数との違い
書式
=IFNA(値, #N/Aの場合の値)
違い
| 比較項目 | IFERROR | IFNA |
|---|---|---|
| 対応するエラー | すべてのエラー | #N/A のみ |
| 使用目的 | 幅広いエラー処理 | 検索関数での「見つからない」エラー限定 |
| 登場バージョン | Excel 2007~ | Excel 2013~ |
| 代表的な用途 | 計算・参照全般 | VLOOKUP, XLOOKUP など |
例:VLOOKUPと組み合わせる
=IFNA(VLOOKUP(A2, 顧客マスタ!A:B, 2, FALSE), "該当なし")
IFNAの利点
#N/A以外の本当のエラー(例:#DIV/0!)はそのまま表示- 「見つからないだけ」なら丁寧に表示を切り替えられる
まとめると:
安全重視なら IFERROR、
精密制御したいなら IFNA。
IF関数+ISERROR関数との違い(旧バージョン対応)
Excel 2003以前にはIFERROR関数がありませんでした。
その代わりに IF + ISERROR を組み合わせて同様の処理を行っていました。
旧式の書き方
=IF(ISERROR(A1/B1), "エラー", A1/B1)
IFERRORで書くと
=IFERROR(A1/B1, "エラー")
結果は同じですが、短く読みやすい のがIFERRORの大きなメリットです。
実務での使い分けまとめ
| 関数 | 特徴 | 向いている場面 |
|---|---|---|
| IFERROR | すべてのエラーを一括で処理 | 一般的な計算・レポート作成 |
| IFNA | #N/A だけを処理 | VLOOKUP / XLOOKUP など検索関数 |
| IF+ISERROR | 旧Excel互換 | Excel 2003以前を使用する環境 |
注意点
- 本来のエラーを隠しすぎないこと
→ IFERRORで「全部空白にする」と、誤算を見逃す危険があります。 - 空白を返すと集計に影響
→""を返すとSUMやAVERAGEで無視されます。
→ 集計対象なら"0"を返すほうが安全。 - IFNAは新しい関数
→ Excel 2010以前では使えません(#NAME?エラーになります)。
まとめ
- IFERROR関数は 「すべてのエラーを見やすく整える」 便利関数
- IFNA関数は 「#N/Aだけを丁寧に処理する」 関数
- VLOOKUPやXLOOKUPとの相性抜群
- 旧式のIF+ISERRORより短く・読みやすい
実務ではまず IFERROR を使い、
「見つからない場合だけ整形したい」ときに IFNA を選ぶのがベストです。
Excelの見た目と信頼性を同時に高める最強コンビを、ぜひ活用してみてください。


コメント