関数のエラー値とは
セルに入力した関数が「計算できない」などといった理由でエラーがすると、セルにエラー値が表示されます。たとえば、割り算を行うとき、ゼロで割ること(ゼロ除算)はできないため、下図のようなゼロ除算を表す「#DIV/0!」が表示されます。ゼロ除算の例
1人でデータを作成している場合、内容や入力した関数について把握できているわけですから、こういったエラーが発生しても対処できるでしょう。しかし、複数の人とブックを共有して使用する場合など、作成者と使用者が違うこともあります。すると、想定していないデータが入力されたり、データを入力すべきところが空白のままだったりして、エラーが発生してしまう可能性が十分にあります。その上、セルに表示されるエラー値はわかりにくいため、ユーザーには何が起きているのかわかりづらいでしょう。
そのようなとき、エラー値をそのまま表示させずに、状況に合わせて、ユーザーにとって理解しやすい文字列などを表示した方がわかりやすくなります。
エラー値の代わりにわかりやすい文字列を表示
Excel2007から追加されたIFERROR関数
そこで、Excel2007からIFERROR関数という新しい関数が追加されました。IFERROR関数では、1つめの引数に「エラーが発生したかどうかを判定したい数式」を指定し、2つめの引数に「エラーが発生したときに表示させたいデータ」を指定します。IFERROR関数の入力
エラーが発生しなければ、1つめの引数に指定した数式の結果が表示され、エラーが発生したら、2つめの引数に指定したデータが表示されるわけです。これなら、関数のエラー値が表示されるよりも何が起きているのかがわかりやすくなります。
IFERROR関数の機能
Excel2003では、ISERROR関数とIF関数の組み合わせで代用できる
パソコンに「Microsoft Office 互換機能パック」がインストールされている場合、Excel2007で作成したブックをExcel2003で開くことができますが、IFERROR関数が入力されているブックをExcel2003で開いて再計算を実行すると、「#NAME?」エラーが表示されてしまいます。このような場合は、ISERROR関数とIF関数を組み合わせて、IFERROR関数と同じような機能を実現しましょう。「#NAME?」エラーが表示されてしまう
ISERROR関数は、引数に指定した数式でエラーが発生した場合にTRUE、発生していない場合にFALSEを返す関数です。そこで、引数に「エラーが発生したかどうかを判定したい数式」を指定し、ISERROR関数がTRUEの場合にわかりやすいエラーメッセージ、そうでない場合(FALSEの場合)に数式の結果を表示させるように数式を作成します。
ISERROR関数とIF関数を組み合わせ方
下図は、ISERROR関数とIF関数を組み合わせて、IFERROR関数で紹介したサンプルと同じ内容を作成したものです。IFERROR関数を使用したサンプルと同じ結果が出ていますね。
ISERROR関数とIF関数を組み合わせて代用