Excel(エクセル)でのIFERROR関数とISERROR関数の違い

スポンサーリンク
スポンサーリンク
スポンサーリンク

Introduction

Ver. all 2013 2016 2019 365

Excel(エクセル)でのIFERROR関数とISERROR関数の違いについて説明します。

両方とも、エラーを非表示にする際によく使用される関数です。どこが違うのでしょうか。


IFERROR関数・・・指定した場所がエラーの場合、設定した値を返す

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

  • 値・・・エラーでない場合の数式を指定
  • エラーの場合の値・・・エラーの場合に返す値を指定

 


ISERROR関数・・・対象の場所がエラーの場合はTRUE(真)を返す

=ISERROR(テストの対象)

  • テストの対象・・・エラーの対象セルを指定

 

名前がそっくりにゃ

スポンサーリンク

バージョンでの違い

IFERROR関数とISERROR関数を違いを考えるうえで、1番大きなポイントは、

IFERROR関数はExcel2007から導入された

ということでしょう。

エラー時の対応として昔から使用されていたのがISERROR関数です。それを使いやすくパワーアップしたのがIFERROR関数です。

マイクロソフトの「IF 関数の #VALUE! エラーを修正する方法」のページでも、「 ISERROR または ISERR には、式を重複して構築する必要がないため、はるかに適しています。」と説明されています。ということは、

バージョン2007以降を使用している場合はIFERROR関数を使用すべき

ということになりますね。

しかし、ファイルを送付する相手が昔のバージョンのエクセルを使用している可能性がある場合は、 ISERROR関数を使用しておいた方が良いかもしれませんよ。

スポンサーリンク

使い方の違い

では使い方の違いを見てみましょう。

下の表の「D4」のエラーを非表示にする例でみてみます。

「金額」の場所には、「単価」×「数量」の単純な数式が入っており、その式が下にコピーされています。

エラー表示の場所は、「B4」×「C4」の式になり、「1300」×「未発注」という文字との計算になるため、エラーが表示されています。

では、このエラー表示を空欄(非表示)にする場合を考えてみましょう。

現在一般的に使用されるIFERROR関数から。

関数の引数は二か所入れるだけです。


IFERROR関数・・・指定した場所がエラーの場合、設定した値を返す

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

  • 値・・・エラーでない場合の数式を指定
  • エラーの場合の値・・・エラーの場合に返す値を指定

簡単に説明すると、[値]の場所には、元の数式を入れて、[エラーの場合の値]には、そのままエラーの時に設定したい空欄指定や文字などを入力します

先ほどの「D2」に入れる式は下のようになります。

=IFERROR(B2*C2,””)

 

次に、ISERROR関数です。

ISERROR関数の引数は、なんと1つだけ。


ISERROR関数・・・対象の場所がエラーの場合はTRUE(真)を返す

=ISERROR(テストの対象)

  • テストの対象・・・エラーの対象セルを指定

「ん?こっちの方が簡単で使いやすそう」と思う方もいるかもしれません。

しかし、ISERROR関数を使用する場合は、通常IF関数で、元の数式がエラーかどうか判断して結果を分岐させます

完成イメージは下のようになります。

=IF(ISERROR( 元の数式 ) , エラー時の処理 , 元の数式 )

やはりちょっと面倒ですね。

先ほどの例での完成は下のようになります。

=IF(ISERROR(B2*C2),””,B2*C2)

 

2つを並べてみましょう。

=IFERROR(B2*C2,””)

=IF(ISERROR(B2*C2),””,B2*C2)

やはり、IFERROR関数を使用した方がスッキリしますね。

まとめ

昔エクセルを使用していた方にとっては、ISERROR関数は普段使用する身近な関数だったのではないでしょうか。

しばらく触らず、久しぶりにエクセルを始めた方は、IFERROR関数の便利さに驚くかもしれませんね。

 

【関連】

Excel(エクセル)でエラーを表示しないように(非表示)する方法|IFERROR関数の使い方

Excel(エクセル)でエラー表示の場所を空欄にする方法|ISERROR関数の使い方

 

もしエラーだったら・・・違う場合は・・・