Tips

【IFERROR、ISERROR】IFERRORとISERRORの違いは?
2017.07.13

【IFERROR、ISERROR】IFERRORとISERRORの違いは?

前回この記事を記載しました。
「IFERRORじゃなくてISERROR?どっちを使うのが正解なの?」
と思った方がいるかもしれません。

また、「IFERRORって何?聞いたことない」という方もいると思うので
書式なども含め違いを解説していきます。

エクセルを入れている環境・バージョン


Windows7
Excel2016

結論から言いますと


先に結論を言っちゃいます。
・エラー処理をする際に記述する書式が長くなるかどうか
・Excel2003以前のバージョンでも使用することができるかどうか
違いはこの2点です!

サンプルデータ


今回は以下の表を使ってやっていきます。

VLOOKUPを使い検索を行うロジックですがさっそくエラーがでています。
これは商品名(E3)が空だからエラーがでています。
このエラー処理をISERRORとIFERRORを使いやっていきます。

IFERRORの書式


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

①値
エラーかどうかを判定する値

②エラーの場合の値
エラーの場合に表示する値

ISERRORの書式


=ISERROR(①テストの対象)

①テストの対象
エラーかどうかを判定する対象
範囲指定をしたセルではなく単体のセルを指定する
返り値はTRUEかFALSEとなり、エラーになる場合はTRUE、エラーにならない場合はFALSE

エラー処理の記述


IFERRORとISERRORのそれぞれのエラー処理を以下に記載します。

◎IFERRORの場合
サンプルデータに当てはめるとこういう感じになります。

=IFERROR(VLOOKUP(E3, A2:C6, 3, FALSE), "在庫なし")

◎ISERRORの場合
サンプルデータに当てはめるとこういう感じになります。

=IF(ISERROR(VLOOKUP(E3, A2:C6, 3, FALSE)), "在庫なし", VLOOKUP(E3, A2:C6, 3, FALSE))

どちらも商品名(E3)が空の場合、「在庫なし」と表示されていますね。

ISERRORとIFERRORの違いに「エラー処理をする際に記述する書式が長くなるかどうか」をあげましたが、
上記を見ていただければ一目瞭然ですね。
IFERRORのが書式が短くスッキリしています。

IFERRORとISERROR、どっちを使えば良いの?


エラー処理を記述するエクセルが古いバージョンでも使うのか、を基準に考えると良いでしょう。
ISERRORは全てのバージョンで動きますが、IFERRORはExcel2007以降のバージョンでないと動きません。
「古いバージョンで使うかは分からないよ!」という方は諦めて頑張ってISERRORを使って記述しましょう。
書式の記述が長くなってしまっても動かないよりはマシです。

まとめ

・IFERROR、ISERRORは「エラー処理をする際に記述する書式が長くなるかどうか」「Excel2003以前のバージョンでも使用することができるかどうか」の2点
・IFERRORの書式は「=IFERROR(値, エラーの場合の値)」、ISERRORの書式は「=ISERROR(テストの対象)」
・ISERRORは全てのバージョンで動くが、IFERRORはExcel2007以降のバージョンでないと動かない

エラー処理…それはエクセルを作り込む場合、避けて通れない道となることが多いと思います。
他にも何種類かエラー処理の関数があるのですがそれはまた今度記載していきます。

excel_VBAを学んで業務効率化!

excel-vba入門 連載

Recent News

Recent Tips

Tag Search