煩わしいパスワード管理から解放されよう!

【解決】IFERROR関数とISERROR関数の違いは使用する目的

IFERROR関数とISERROR関数の違いについて

IFERROR関数とIFERROR関数の違いがよく分からないという質問を受付ましたので、解説していきます。

エラー処理の「書式が長くなるかどうか」を結論とされているところもありますが、厳密に言うと2つの関数はそもそも使用する目的が違います。

きちんとそれぞれの意味を理解してもらえば悩むこともないと思いますよ。

IFとISの違いは日本語に直したときと同じだよ。

それぞれの意味を理解しよう

まずは日本語に直してからそれぞれの関数の意味を考えてみましょう。

日本語でISERROR関数の意味

英語で「Is This a pen?」というとどのような意味かわかるでしょうか。

そうです。「これはペンですか?」ですよね。

ISERRORはこれと同じく「IS」「ERROR」の二つの意味から成り立っていて、

「これはエラーですか?」と問いかけ判断してもらう関数なんです。

答としては「YES」か「NO」となります。

日本語でIFERROR関数の意味

こちらも同じように英語で考えてもらえばわかりやすいと思います。

もしエラーなら○○する。」という意味になります。

こちらは「YES」か「NO」の答ではなく、「○○する」がメインの答えになりますよね。

意味の違い

こうしてみると、根本的に使用する目的が違うことが分かるのではないでしょうか。

エラーかどうかを判定する関数とエラーならどうするかを指定する関数なんです。

似てはいますが、違いますね。

※ IFERROR関数はエラーかどうかの判定をし、その後の挙動までを指定しています。(ISERROR関数を含んでいる形)

ISERRO関数を単独で使った場合を見てみよう

実際に単独で関数を使ってみると、より違いが分かるかもしれません。

また、本記事にたどり着いた方は、エラー処理の方法でISERROR関数を使ったけど

ISERROR関数のみで使ったことがない人が多いと思います。

ISERROR関数を実際に使ってみましょう。

下の画像のようにB2をC2で割る式をISERROR関数で判定してみましょう。

(数値を0で割ると計算結果はエラーとなります。)

ISERRORの単独使用

B2が1かつC2が1の時は答が1となりエラーではないので、FALSEと表示されます。

B2が1かつC2が0の時は割ることが出来ないのでエラーとなり、TRUEと表示されます。

ISERROR関数は、エラーとなっているか判定する関数なので、ただエラーかどうかだけが結果として表示されます。

違いが分からなくなる原因は?

違いが分からないとなるのは、同じエラー時の対応がそれぞれの関数を用いてできるからではないでしょうか。

ISERROR関数でエラーかどうかの判定の後、エラーならどうするかを指定すればIFERROR関数と同じ意味になりますよね。

それぞれ下記のようなエラー処理の記述が可能です。

VLOOKUPの例で見てみましょう。※VLOOKUPの内容は例として適当な値を設定しています。

ISERROR関数を用いたVLOOKUP関数のエラー処理

=IF(ISERROR(VLOOKUP(A1, B1:C6, 2, FALSE)),”×”,”VLOOKUP(A1, B1:C6, 2, FALSE)”)

この式はエラーですか?もしそうなら”×”を入れてください。違うなら、この値を入れてください。

IF関数の引数の2か所に指定しなければいけないところが面倒ですね。

※ちなみにこちらの式なら、エラーじゃなかった場合に任意の値を入れることが可能です。

IFERROR関数を用いたVLOOKUP関数のエラー処理

=IFERROR(VLOOKUP(A1, B1:C6, 2, FALSE), “×”)

もしこの式がエラーなら”×”を入れてください。

IFERROR関数とISERROR関数を使い分けよう

これまでの説明で、IFERROR関数とISERROR関数の違いは理解できたと思います。

関数の意味をしっかりと理解した上で、正しく使い分けましょう。

ISERROR関数を用いる場合

その式がエラーになるかどうかを判定したい場合はISERROR関数を使用します。

IFERROR関数では余計な動作の指定が必要になってしまいます。

ISERROR関数を用いる場合

その式がエラーとなるか判定した後、エラーならどうするかの指定をする場合。

「VLOOKUP関数などの#N/Aを空白にする」などの場合はこちらを使用するのをおすすめします。

IFERROR関数の注意点

IFERROR関数は古いバージョンでは機能しません。

ISERROR関数は全てのバージョンで動きますが、IFERROR関数はExcel2007以降のバージョンでないと機能しません。

古いバージョンの方はISERROR関数で対応するようにしましょう。

最後に

IFERROR関数とISERROR関数の違いについて解説しました。

エクセル関数は一見難しそうに見えますが、きちんと式の意味さえ理解してしまえば、そこまで難しいものではありません。

関数名に意味がそのまま付いているものが大半なので、意味を推測できるようになりましょう。

コメントを残す