Home » Excel(エクセル)の関数・数式の使い方 » 論理・情報 » IFERROR関数とISERROR関数の違い

IFERROR関数とISERROR関数の違い

対象:Excel2007, Excel2010, Excel2013

「iferror iserror 違い」
「エクセル iserrorとiferrorの違い」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが時折あることに気が付きました。

数式のエラーを表示させたくないときに利用する、
  IFERROR(イフエラー)関数
  ISERROR(イズエラー)関数
の違いについて調べている方による検索です。

[スポンサードリンク]

特に2007以降のバージョンからExcelを使いはじめたという方の場合、エラーを回避するという同じ目的で使われる関数がなぜ複数存在するのか、といった疑問がわいてしまうかもしれません。

IFERROR関数とISERROR関数の歴史

まず知っておくべきなのは歴史です。
▼IFERROR関数とISERROR関数の違い
IFERROR関数は2007で登場した新しい関数
ISERROR関数は2003以前から存在する古い関数

ISERROR関数は昔から存在していて、エラーをセルに表示させたくないときに、よく使われてきた関数です。

これに対してIFERROR関数は、ISERROR関数を使う数式の不便さを解消するために、Excel 2007で登場した新しい関数なのです。

ですから、サポート期間の終了している2003以前のExcelを未だに使っている場合は、IFERROR関数を使えないため、ISERROR関数を使わざるを得ません。

2007以降のExcelを使っているなら、IFERROR関数を使うほうが、数式がシンプルになって便利です。

ISERROR関数でエラーを回避する

あらためて、昔から存在するISERROR関数を使ってエラーを回避する数式を確認しておきましょう。

例えば、C1セルに
  =A1/B1
という割り算を行う計算式が入力されているときに、B1セルにデータが入力されていないときや「0」(ゼロ)の場合には、「#DIV/0!」エラーが発生します。

これらのエラーを回避するために、2003以前のExcelでは
  =IF(ISERROR(A1/B1), "", A1/B1)
という、IF関数とISERROR関数を組み合わせた数式を入力する必要がありました。

ISERROR関数の引数に「A1/B1」を指定することで、
  =IF(ISERROR(A1/B1), "", A1/B1)
「A1/B1」がエラーかどうかを判定して、もしも「A1/B1」がエラーだったときには、IF関数の第2引数に指定されている「""」が表示され(つまり空白が表示され)、
  =IF(ISERROR(A1/B1), "", A1/B1)
「A1/B1」がエラーでなければ「A1/B1」の結果を表示しています。
  =IF(ISERROR(A1/B1), "", A1/B1)

関数を入れ子にしている点と、「A1/B1」というまったく同じ式をISERROR関数の引数と、IF関数の引数の2か所に指定しなければいけないところが厄介です。
  =IF(ISERROR(A1/B1), "", A1/B1)

IFERROR関数でエラーを回避する

これを解決するためにExcel 2007で登場したのがIFERROR関数です。

先の、
  =IF(ISERROR(A1/B1), "", A1/B1)
という数式は、IFERROR関数を使うと
  =IFERROR(A1/B1, "")
とシンプルに書くことができます。

IFERROR関数を使うときとISERROR関数を使うときの違い

「A1/B1」のような短い式の場合、IFERROR関数とISERROR関数を使った数式の差はあまり感じられないかもしれませんが、引数を4つ指定するVLOOKUP関数であれば、その差がハッキリします。

例えば、IFERROR関数を使えば、
  =IFERROR(VLOOKUP(A1, A:B, 2, FALSE), "")
と書ける計算式も、ISERROR関数とIF関数を組み合わせるならば、
  =IF(ISERROR(VLOOKUP(A1, A:B, 2, FALSE), "", VLOOKUP(A1, A:B, 2, FALSE))
と書かなければいけないのです。

IFERROR関数では「VLOOKUP(A1, A:B, 2, FALSE)」は1箇所だけですけれど、
ISERROR関数を使った計算式ではISERROR関数の引数とIF関数の第3引数の、2箇所に書かなければなりません。
  =IF(ISERROR(VLOOKUP(A1, A:B, 2, FALSE), "", VLOOKUP(A1, A:B, 2, FALSE)

この違いを意識してIFERROR関数の便利さを感じてください。

ISERROR関数を単独で使った数式を入力してみましょう

「iferror iserror 違い」
「エクセル iserrorとiferrorの違い」
という検索をした方は、ISERROR関数を、単独で入力した経験がないのではないか、という気がしています。

ISERROR関数は、上記のとおりIF関数と組み合わせて使うことが多い関数ですが、もちろん単独で使うこともできます。

ISERROR関数は、引数に指定されたものが、エラーかどうかをチェックして、エラーであればTRUE、エラーでなければFALSEを返す関数です。

ISERROR関数を単独で使ったことのない方は、
  =ISERROR(A1/B1)
という数式を入力して、B1セルに「0」が入力したときには、エラーなので「FALSE」、「0」以外の数値が入力したときにはエラーではないので「TRUE」が返される結果をしっかりと見て、ISERROR関数の役割を確認しておくことをおすすめします。

最終更新日時:2018-10-04 15:49

[スポンサードリンク]

Home » Excel(エクセル)の関数・数式の使い方 » 論理・情報 » IFERROR関数とISERROR関数の違い

「論理・情報」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.