・#N/Aなどのエラーを表示させず、代替え文を表示させる

使用関数:ISERROR、IF、IFERROR
例:=ISERROR(値)、=IFERROR(値,エラー時の値)

よく、VLOOKUPなどで探す文字が見つからず、#N/Aのようなエラーが表示される事ってありますよね。



今回は、IFとISERRORを使って、そういったエラーを表示させず、
エラーであった場合に代替え文を表示させる方法を紹介します。

まず、ISERROR関数とはどういう物なのか。
ISERROR関数とは、指定したセルや条件式がエラーの場合はTRUE、正常ならFALSEを返す関数です。



このISERRORとIFを下記のように組み合わせる事で、#N/Aなどのエラーを表示しないようにできます。
=IF(ISERROR(条件式),エラーの場合,正常の場合)
これでエラーの場合の箇所に、"エラーでした"などの代替え文を置けばOKです。

先ほどのVLOOKUPを使った表で試してみましょう。




このように、#N/Aになるはずの牛肉の金額が、見つからないという代替え文になっています。


しかしこの組み合わせ、式が非常に長くなるんですよね・・・。
それに、ISERRORの条件式と、正常時に表示させる内容で、全く同じVLOOKUPの式を使ってるせいか、
無駄な事をしている感じがして、どうにもモヤモヤします。

大丈夫です、それを解決した新関数、IFERRORがエクセル2007より登場しました。

使い方も簡潔で、下記のようになります。

=IFERROR(値,エラー時の値)

IFとISERRORで組み合わせた時の、IFの条件式と、正常時の式がまとめられた感じですね。
試しに、先ほどの表で使っていたIFとISERRORを、IFERRORに置き換えてみましょう。



どれくらい簡潔になったか比べてみましょう。

=IF(ISERROR(VLOOKUP(E3,B:C,2,FALSE)),"見つからない",VLOOKUP(E3,B:C,2,FALSE))

=IFERROR(VLOOKUP(E3,B:C,2,FALSE),"見つからない")


式の長さでいえば、半分ほどになりました。
非常に便利なのですが、IFERRORの登場はエクセル2007からですので、
それより前のエクセルでは使えないという事はご注意ください。









inserted by FC2 system