【Excel関数】IFERROR関数~エラー値を表示しない

アイキャッチ

IFERROR関数は、引数1がエラー値の場合、引数2を返します。エラーではない場合、そのまま引数1を返します。要はエラーハンドリング用の関数です。サンプルを用意しているので参考にして下さい。

エラーハンドリングとは?

エラーが起こる前提であらかじめそのエラーを回避する策を用意しておくことです。

目次

IFERROR関数の使い方

=IFERROR(,エラーの場合の値)

IFERROR関数は、がエラー値だった場合、エラーの場合の値を返します。

省略できません。この値がエラー値かどうかを評価します。

エラーの場合の値

省略できません。値がエラー値を返した場合、指定した値を返します。

この関数に対して少なすぎる引数が入力されていますのエラーが出る理由は?

省略不可の引数を省略した場合に発生するエラーです。引数を正しく指定すればエラーは出ません。

例:IFERROR関数は引数2つ[=IFERROR(値,エラーの場合の値)]とも省略不可です。

  • =IFERROR(A1)…この関数に対して少なすぎる引数が入力されていますのメッセージが表示される。
  • =IFERROR(A1,”エラーです”)…A1セルがエラーの場合、”エラーです”が返ります。

この関数に対して少なすぎる引数が入力されていますの翻訳:この関数に対して入力されている引数が不足しています。

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

エラー値説明
#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
引数が参照範囲内にない

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

=IFERROR(値,0)でエラーの時に0が表示されます。

Sample
IFERROR関数でエラーの時に0を表示

=IFERROR(B3/C3,0)

C3セルが0なのでの評価は#DIV/0!です。よって、エラーの場合の値0を返します。

IFERROR関数用のサンプルシート画像。エラー値が表示されずに「0」が表示されている。
  • =IF(ISERROR(B3/C3),0,B3/C3)でも同じ戻り値を返します。IFERROR関数は評価値がエラー値ではない場合、第一引数のしか返せません。IF関数とISERROR関数を組み合わせた場合は別のが返せます(エラーではない場合も返すを指定できる)。用途によって使い分けましょう。

=IFERROR(値,)でも数式が成立し、値がエラー値だと0を返します。が、可読性が悪いのでおすすめしません。

エラーの時に空白を表示する

=IFERROR(値,“”)でエラーの時に空白が表示されます。

Sample
IFERROR関数でエラーの時に空白を表示

=IFERROR(B3/C3,””)

エラー値を空白にしたい場合は、エラーの場合の値“”を指定してください。C3セルが0なのでの評価は#DIV/0!です。よって空白“”を返します。

IFERROR関数とVLOOKUP関数をセットで使う

VLOOKUP関数と組み合わせるには=IFERROR(VLOOKUP関数,エラーの場合の値)とします。

Sample
IFERROR関数とVLOOKUP関数のセット

=IFERROR(VLOOKUP($H$1,$A$2:$E$5,3,FALSE),”値なし”)

検索値$H$1が参照範囲内にないため、の評価は#N/Aです。よって、エラーの場合の値値なしが返ります。

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

エラー値を表示したくなかったらIFERROR関数を使う

  • 構文は=IFERROR(,エラーの場合の値)
  • エラー値を表示したくない場合にIFERROR関数を使う。
  • IFERROR関数ISERROR関数は用途によって使い分ける。
  • セルを空白表示にするならエラーの場合の値“”を指定する。

IFERROR関数の主な用途はエラー表示の見栄え対策です。資料にエラー表示があると、読む側は「?」となります。#DIV/0!#N/Aは、テーブルの構成によっては不可避のエラー(データによってはどうしてもエラーが出てしまう)になるのでエラーハンドリングでエラー値を表示しないようにしましょう。

逆に#NAME?#NUM!はほとんどの場合修正可能です。IFERROR関数で回避せずに、必ずエラーを修正するようにしましょう。

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