ISERROR関数 は引数がエラー値かどうかを評価してTRUE、FALSEを返す関数です。IF関数と組み合わせて使うことで、エラー値を別の表示にすることができます。ISERR関数 やIFERROR関数 との違いも解説しています。
ISERROR関数の使い方
=ISERROR(値)
- 値
省略できません。この値がエラー値かどうかを評価し、エラーならTRUE、そうでなければFALSEを返します。
評価値は以下の通りです。
- ISERROR関数 は単独で使うケースはほとんどありません。大体の場合はIF関数 と組み合わせて使うことになります。
ISERROR関数とIF関数を組み合わせてエラー値を表示しない
サンプル~エラーの時に0を表示/非表示にする
=IF(ISERROR(B3/C3),0,B3/C3)
C3セルが0なのでB3/C3の評価は#DIV/0!です。よって、ISERROR(B3/C3)はTRUEを返します。IF関数 により最終的に0を返します。
- IFERROR関数との違い
=IFERROR(B3/C3,0)でも同じ戻り値を返します。IFERROR関数は評価値がエラー値ではない場合、引数1しか返せません。IF関数 とISERROR関数 を組み合わせた場合は別の値が返せます(エラーではない場合も返す値を指定できる)。用途によって使い分けましょう。
例:=IF(ISERROR(B3/C3),”エラーです“,“エラーではありません”)
=IF(ISERROR(B3/C3),””,B3/C3)
- エラーを非表示にしたい場合は、引数 に“”を指定してください。
ISERR関数との違い
ISERR関数 は評価値の中に#N/Aが含まれません(#N/Aの場合、FALSEを返す)。#N/Aはある意味不可避のエラーでもあるので、ひょっとしたらその他のエラーと区別したいケースがあるかも知れません。#N/Aだけ評価したくない場合はISERR関数 を使用しましょう。
- 逆に#N/Aだけ評価したい場合はISNA関数 を使用します。
#N/Aと#DIV/0!は表の構成上避けがたいエラーであることが多々ありますが、その他のエラーはほとんどの場合、発生させるべきではありません。#N/Aと#DIV/0!を区別してエラーハンドリングしたい場合はISERR関数 やISNA関数 を使用します。
エラー値を評価して分岐処理したいときはISERROR関数を使う
- ISERROR関数 は引数がエラーならTRUE、そうでないならFALSEを返す。
- IF関数 と組み合わせる事でエラーの時とそうでない時の分岐処理ができる。
- ISERROR関数 + IF関数 とIFERROR関数 は用途によって使い分ける。
IFERROR関数 が実装されてからはあまり出番がない関数です。IFERROR関数 で処理ができないケース(引数 をそのまま使用したくないケース)があれば、ISERROR関数 + IF関数 を使用しましょう。