Introduction
Ver. all 2013 2016 2019 2021 365
Excel(エクセル)でのIFERROR関数とISERROR関数の違いについて説明します。
両方とも、エラーを非表示にする際によく使用される関数です。どこが違うのでしょうか。
IFERROR関数・・・指定した場所がエラーの場合、設定した値を返す
=IFERROR(値,エラーの場合の値)
- 値・・・エラーでない場合の数式を指定
- エラーの場合の値・・・エラーの場合に返す値を指定
ISERROR関数・・・対象の場所がエラーの場合はTRUE(真)を返す
=ISERROR(テストの対象)
- テストの対象・・・エラーの対象セルを指定
名前がそっくりにゃ
バージョンでの違い
IFERROR関数とISERROR関数を違いを考えるうえで、1番大きなポイントは、
ということでしょう。
エラー時の対応として昔から使用されていたのがISERROR関数です。それを使いやすくパワーアップしたのがIFERROR関数です。
マイクロソフトのページでも、「 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関数の使い方
もしエラーだったら・・・違う場合は・・・