ISERROR/ISERR/ISNA関数の違いとエラー判定方法は?
結論
ISERRORは全エラー、ISERRは#N/A以外、ISNAは#N/Aのみを判定します。
詳しい解説
ISERROR関数はすべてのエラー(#N/A、#VALUE!、#REF!など)でTRUEを返します。ISERR関数は#N/Aを除くエラーでTRUEを返し、ISNA関数は#N/Aのみ判定します。VLOOKUP等で「該当なし」の#N/Aと「数式エラー」を区別したい場合にISERRが便利です。`=IF(ISNA(VLOOKUP(...)), "該当なし", IF(ISERR(VLOOKUP(...)), "エラー", VLOOKUP(...)))` のように使い分けることで、エラーの種類に応じた処理ができます。
執筆・検証:田中 けんた|Excel歴15年・MOS資格保持
バージョン対応
| Excel 2016 | Excel 2019 | Excel 2021 | Excel 2024 | Microsoft 365 |
|---|---|---|---|---|
| 対応 | 対応 | 対応 | 対応 | 対応 |
実務での使用例
#N/Aと他のエラーの区別
VLOOKUP結果で該当なしとエラーを分けて表示
=IF(ISNA(VLOOKUP(A2, マスタ!A:B, 2, 0)), "該当なし", IF(ISERR(VLOOKUP(A2, マスタ!A:B, 2, 0)), "数式エラー", VLOOKUP(A2, マスタ!A:B, 2, 0)))エラーの種類判定
エラーの有無とタイプを判定
=IF(ISERROR(A1), IF(ISNA(A1), "#N/A", "その他エラー"), "正常")