EXCELのエラーメッセージとは
EXCELで資料を作成していると”#DIV/0!,#NUM!,#N/A”などのエラーメッセージが表示されることがあります。これらのメッセージはセルに入力した数式に対して値が求められない場合などに表示されます。自分だけで使う資料なら問題ないのですが、自分以外の人に見てもらう資料などにこれらのエラーメッセージが表示されているとみにくい資料になってしまいます。
お客様や他部門へのプレゼン資料にこうしたエラーメッセージが表示されているとプレゼンの評価にも影響を与えてしまう可能性もあります。
ここでは見づらい資料をつくらないためにエラーメッセージがどうして表示されるのか、そのエラーメッセージを表示しないようにする対応方法を説明しています。
エラーメッセージの種類と意味
エラーメッセージを表示しないようにする前に何故そのようなメッセージが表示されるのかを理解しておく必要がありますので、EXECLで表示されるエラーメッセージの一覧とその原因を下記に記載します。
- #DIV/0!:割り算で分母がゼロ
- #N/A:関数や数式に使用できる値がない
- #NAME?:関数名や範囲名が間違っている
- #NULL!:指定した2つのセル範囲に共通部分がない
- #NUM!:大きすぎる数値又は小さすぎる数値
- #REF!:セルの参照がおかしい
- #VALUE!:引数の種類が正しくない
- ######:時間の計算がマイナスなど
エラーの対処法
エラー表示を消すためにはセルに入力している数式(関数)がエラーになっているか否かを判断し、判断結果に応じた数式や値をセルに入力します。
エラーを判断するときはIF関数,IFERROR関数,ISERROR関数,ERROR.TYPE関数などを使用します。
エラーメッセージが表示されたままになっている資料で多いのは”#DIV/0!”です。その他のエラーメッセージが表示されている場合はその資料の完成度が100%でないことになると思いますので、この”#DIV/0!”エラーメッセージを表示しない方法について説明します。
よくある事例
上記の表はよくある営業所別年間売上実績、計画、前年実績をまとめた表になります。こうした表には必ず計画比、前年比を入れますが、福岡は今年度に立ち上げた新規営業所のため前年実績がないという表になります。この場合、単純に今年度実績を前年実績で除算すると上図のようにエラーメッセージが表示されます。(黄色の部分)
エラー発生条件に基づいてエラーメッセージを表示しない方法
セルF8の数式を “=B8/E8” から “=IF(E8=0,””,B8/E8)” に変更します。
(もしセルE8がゼロならばセルF8を””(NULL)にして、そうでないときはセルF8に割り算の結果を表示します)
どんなエラーが発生してもエラーメッセージを表示しない方法1
セルF8の数式を “=B8/E8” から “=IFERROR(B8/E8,””)” に変更します。
(もしB8をE8で割り算した結果がエラーであればセルF8を””(NULL)にして、そうでないときはセルF8に割り算の結果を表示します)
#N/Aも同じように記述すればOKです。具体例は以下のページをご覧ください。
どんなエラーが発生してもエラーメッセージを表示しない方法2
セルF8の数式を “=B8/E8” から “=IF(ISERROR(B8/E8,””,B8/E8) に変更します。
(もしB8をE8で割り算した結果がエラーであればセルF8を””(NULL)にして、そうでないときはセルF8に割り算の結果を表示します)
エラーの原因別にエラーメッセージを変える方法
EXCELは発生したエラー原因別に戻り値を返してきます。この戻り値を扱う場合はERROR.TYPEを使用します。
ERROR.TYPEの戻り値は以下のようになります。
- #NULL!の場合:1
- #DIV/0!の場合:2
- #VALUE!の場合:3
- #REF!の場合:4
- #NAME?の場合:5
- #NUM!の場合:6
- #N/Aの場合:7
- それ以外:7
エラー原因別戻り値で判断する場合はセルF8の数式を “=B8/E8” から “=IF(ERROR.TYPE(B8/E8)=2,””,B8/E8) に変更します。
(もしB8をE8で割り算した結果の戻り値”2”(#DIV/0!)であればセルF8を””(NULL)にして、そうでないときはセルF8に割り算の結果を表示します)