【Excel関数】ISERROR関数~エラー値を評価して分岐処理する

ISERROR関数は引数がエラー値かどうかを評価してTRUE、FALSEを返す関数です。IF関数と組み合わせて使うことで、エラー値を別の表示にすることができます。IFERROR関数との違いも解説しています。

目次

構文

=ISERROR(引数1:)

引数1:

省略できません。この値がエラー値かどうかを評価し、エラーならTRUE、そうでなければFALSEを返します。

評価値は以下の通りです。

エラー値説明
#NULL!NULL intersection
セル指定の「:(コロン)」や「,(カンマ)」がない
積集合の要素がない
#DIV/0!DIVided by 0
ゼロで割り算をしている
#VALUE!Wrong type VALUE
値が不適切
#REF!REFerence to a cell that does not exist
無効なセルを参照している
#NAME?Unrecognized NAME
関数名が正しくない
符号忘れ
#NUM!An invalid NUMber
数値が指定できる範囲を超えている
#N/ANot Available value
引数が参照範囲内にない

ISERROR関数は単独で使うケースはほとんどありません。大体の場合はIF関数と組み合わせて使うことになります。

ISERROR関数とIF関数を組み合わせてエラー値を表示しない

エラーの時に0を表示する

=IF(ISERROR(B3/C3),0,B3/C3)

C3セルが0なのでB3/C3の評価は#DIV/0!です。よって、ISERROR(B3/C3)TRUEを返します。IF関数により最終的にを返します。

=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関数(またはIFERROR関数)で問題ありません

まとめ

  • ISERROR関数は引数がエラーならTRUE、そうでないならFALSEを返す。
  • IF関数と組み合わせる事でエラーの時とそうでない時の分岐処理ができる。
  • ISERROR関数とIFERROR関数は用途によって使い分ける。

IFERROR関数が実装されてからはあまり出番がない関数です。IFERROR関数で処理ができないケース(引数をそのまま使用したくないケース)があれば、ISERROR関数を使用しましょう。

よかったらブックマークとシェアをお願いします。最後までご高覧いただきありがとうございました。

よかったらシェアしてください
URLをコピーする
URLをコピーしました!
目次
閉じる