エラーの種類ごとに異なるメッセージを表示する方法は?
結論
ERROR.TYPE関数でエラー種類を判別し、SWITCH/IFS関数で種類ごとのメッセージを設定できます。
詳しい解説
ERROR.TYPE関数でエラーの種類を判別し、SWITCH関数やIFS関数で種類ごとに異なるメッセージを表示できます。例えば `=IFERROR(数式, SWITCH(ERROR.TYPE(数式), 2, "DIV/0エラー", 7, "該当なし", 15, "計算中", "その他エラー"))` とすると、ゼロ除算なら「DIV/0エラー」、検索失敗なら「該当なし」のように適切なメッセージが表示されます。エラーコードは、#DIV/0!=2、#N/A=7、#VALUE!=3、#REF!=4などです。ユーザーフレンドリーなエラーメッセージを提供する際に便利です。
執筆・検証:田中 けんた|Excel歴15年・MOS資格保持
バージョン対応
| Excel 2016 | Excel 2019 | Excel 2021 | Excel 2024 | Microsoft 365 |
|---|---|---|---|---|
| SWITCH関数は2019以降 | 対応 | 対応 | 対応 | 対応 |
実務での使用例
VLOOKUP結果の詳細エラーメッセージ
VLOOKUP失敗時にエラー種類に応じたメッセージを表示
=IFERROR(VLOOKUP(A2, マスタ!A:B, 2, 0), SWITCH(ERROR.TYPE(VLOOKUP(A2, マスタ!A:B, 2, 0)), 7, "商品コードが見つかりません", 4, "マスタ範囲エラー", "不明なエラー"))計算式の詳細エラー表示
割り算を含む計算式でエラー種類を判別
=IFERROR(B2/C2, IF(ISERROR(B2/C2), SWITCH(ERROR.TYPE(B2/C2), 2, "分母がゼロです", 3, "数値以外が入力されています", 1, "NULL参照", "計算エラー"), B2/C2))- B2/C2の計算を実行
- エラーならERROR.TYPEで種類を判別
- SWITCH関数で種類ごとのメッセージ
- ユーザーに分かりやすいエラー説明を提供