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

アイキャッチ

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

目次

ISERROR関数の使い方

=ISERROR()

省略できません。この値がエラー値かどうかを評価し、エラーなら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を表示/非表示にする

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

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

IF関数用のサンプルシート画像。エラー値が表示されずに「0」が表示されている。

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),”エラーです“,エラーではありません”)

STEP
エラーの時に非表示にする

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

IF関数用のサンプルシート画像。エラー値が非表示になっている。
  • エラーを非表示にしたい場合は、引数“”を指定してください。

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関数を使う

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

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

よかったらシェアしてね!
  • URLをコピーしました!
目次