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では
「=A1/B1」
ではなく、
「=IF(ISERROR(A1/B1), "", A1/B1)」
という、IF関数とISERROR関数を組み合わせた数式を入力していました。

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

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

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), "")」と
「=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関数の役割を確認しておくことをおすすめします。

[スポンサードリンク]

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

TrackBack:0

TrackBack URL
[スポンサードリンク]

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

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

検索

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

.