IFERRORとIFNAの使い分けは?
IFERROR関数は全てのエラー(#N/A、#VALUE!、#REF!、#DIV/0!など)をキャッチして代替値を返すのに対し、IFNA関数は#N/Aエラーのみをキャッチします。VLOOKUP関数などで該当データが見つからない場合の#N/Aエラーだけを処理したい場合はIFNA関数を使用します。#REF!や#VALUE!などの本当のエラー(数式の誤り)はそのまま表示されるため、バグの発見が容易になります。IFERRORで全エラーを隠してしまうと、予期しない不具合を見逃す可能性があるため、状況に応じて使い分けることが重要です。Excel 2013以降で両方の関数が使用可能です。
📊 バージョン対応
2016
✅
対応
2019
✅
対応
2021
✅
対応
365
✅
対応
📋 実務での使用例
💼 VLOOKUP結果が見つからない場合だけ空白に(IFNA)
VLOOKUPで該当データがない場合のみ空白を表示。#REF!エラー(範囲指定ミス)などはそのまま表示されるため、数式のバグに気付きやすい
=IFNA(VLOOKUP(A2, マスタ!A:B, 2, FALSE), "")💼 全てのエラーを空白に(IFERROR)
全てのエラーを空白にする場合はIFERRORを使用。ただし、数式のミスも隠してしまうため注意が必要
=IFERROR(VLOOKUP(A2, マスタ!A:B, 2, FALSE), "")IFERRORIFNAエラー処理VLOOKUP#N/Aエラー回避
📄
検索関数クイックリファレンス
VLOOKUP / XLOOKUP / INDEX+MATCH の構文・引数・使い分けを1枚にまとめたPDF
準備中※ PDFは現在作成中です。近日公開予定