実務で使えるExcel入門セミナー 「IFERROR関数」で関数のエラーメッセージを非表示にする

Excelで入力した関数にエラーがあると、エラーメッセージが表示されます。修正が必要なことを教えてくれるのはありがたいですが、エラーの表示が必要の無いセルにまで表示されてしまうのは、見ていて気持ちの良いものではありません。エラーメッセージが不要なセルについては非表示にしてしまいましょう。

スポンサーリンク

エラーメッセージが不要な場合

実務でVLOOKUP関数を使っていると、このようなエラーメッセージが表示されるケースがよくあります。

 

スクリーンショット 2016 08 29 12 16 18

 

売上数量のデータをVLOOKUP関数で転記するようなケースを考えてもらいたいのですが、日によっては特定商品の売上がないことだってありますよね。

そんな時は、商品のデータが集計表に載ってこないので、VLOOKUP関数で転記すると「#N/A(該当なし)」のエラーメッセージが出てしまうんですよ。
でも、実際には数量がゼロというだけでエラーではないですよね。

ただ、何もせず、エラーメッセージを表示させたままで、売上の金額を集計しようとすると、

 

スクリーンショット 2016 08 29 12 27 56

 

このように、エラーメッセージのセルを含めて作った数式には、
同じようにエラーメッセージが表示されてしまい、正しい集計ができなくなるんです。

これは困った。

このようにエラーメッセージによって、うまくいかなくなることがあるので、
エラーメッセージを非表示にする方法も知っておく必要があります。

 

 

「IF関数」+「ISERROR関数」

「IF関数」+「ISERROR関数」の仕組み

関数のエラーメッセージを非表示にする方法について、当ブログ「近日出荷」では、過去に次のような記事を公開しています。

 

 

この記事では、「IF関数」と「ISERROR関数」を組み合わせて、

 

・条件式:関数にエラーがあった場合

・条件式を満たす時の表示内容:空白セル

 

という式を組むことで、エラーメッセージを非表示にする方法を紹介しました。

図で示すと、次のようなIF関数の式になります。

 

スクリーンショット 2016 08 29 13 02 35

 

この方法は正しい方法ですので、何も問題はないのですが、弱点もあります

 

「IF関数」+「ISERROR関数」の弱点

「IF関数」+「ISERROR関数」を使って、関数「=VLOOKUP (B5,$I:$M,4,0)」にエラーがある場合、セルを空白にする式を作ると次のような式になります。

 

=IF (ISERROR (VLOOKUP (B5,$I:$M,4,0)), “” , VLOOKUP (B5,$I:$M,4,0))

 

見てもらうと分かるように、式が長くなるんですね。

これ、パッと見て、何がどうなっているのかを理解するの、難しいですよね。
理解するのが難しいと言うことは、エラーが出たときに、どの部分にエラーの原因があるかを見つけるのも難しいということなんです。

「IF関数」+「ISERROR関数」を使い慣れていても、何をしようとしているかは分かっても、実際にどこにエラーがあるかを見つけるのは難しかったりします。

つまり、この式の長さが「IF関数」+「ISERROR関数」の弱点。
できれば、もっと短い式で関数のエラーを非表示にしたいところです。

Excelには、より短い数式で、「IF関数」+「ISERROR関数」と同じ役割を果たしてくれる、関数が用意されています。

IFERRO関数」です。

 

 

「IFERRO関数」で関数のエラーを非表示にする

IFERRO関数の機能と仕組み

IFERRO関数」は、文字通り「IF関数」+「ISERROR関数」を組み合わせた関数です。

具体的には、

 

①:入力した関数にエラーがないかどうかを判定する

②−1:エラーがある場合は、指定した内容が表示される

②−2:エラーがない場合は、入力した関数の結果が表示される

 

このような機能を持っています。
これは、先ほど「IF関数」+「ISERROR関数」のところで出てきた、

 

スクリーンショット 2016 08 29 13 02 35

 

この「IF関数」の式と同じ仕組みです。

 

「IFERRO関数」と「IF関数」+「ISERROR関数」との違い

「IFERRO関数」と「IF関数」+「ISERROR関数」は同じ役割を果たしますが、入力しなければいけない要素に違いがあります。

関数「VLOOKUP (B5,$I:$M,4,0)」を判定する場合を例に取ると、
「IF関数」+「ISERROR関数」では、つぎのような要素を入力する必要がありました。

 

=①IF (②ISERROR(③VLOOKUP (B5,$I:$M,4,0)), ④“” , ⑤VLOOKUP (B5,$I:$M,4,0))

 

①IF関数

②ISERROR関数

③②で判定する関数

④②がエラーの時の表示内容

⑤②がエラーでない時の表示内容(判定した関数)

 

この5つの要素です。
特に、

「IF関数」の中に「ISERROR関数」を入力するところ

③と⑤で同じ関数を入力するところ

の2点によって関数が複雑になってしまっています。

 

それに対して、「IFERRO関数」の場合は、

 

=①IFERROR (②VLOOKUP (B5,$I:$M,4,0),③””)

 

①IFERRO関数

②エラーを判定する関数

③②がエラーの時の表示内容

 

これだけです。
非常にシンプルなのが分かると思います。

特に、エラーがない場合は判定した関数の結果を表示させることが、IFERRO関数のなかに組み込まれているため、エラーがない場合の表示内容として、関数を再度入力する必要がないところが、短い式になる大きな理由です。

同じ機能なら、よりシンプルな「IFERROR関数」のほうが
使いやすいですよね。

関数のエラーメッセージを非表示にする場合は、「IFERRO関数」を積極的に使っていきましょう。

 

「IFERRO関数」を使ってみる

では、先ほどの売上の表で「IFERRO関数」を使ってみることにします。

 

スクリーンショット 2016 08 29 13 49 18

 

=①IFERROR (②VLOOKUP (B5,$I:$M,4,0),③0)

 

IFERRO関数の要素

①IFERRO関数

②エラーを判定する関数

③②がエラーの時の表示内容

の3つを入力しました。
非表示にする場合は③を「””」(ダブルクォーテーション2つ)にしましたが、
ここでは、最後に金額の集計があるので、エラーの時(=売上データがない時)の表示を「」にしています。

他のセルについても同じように「IFERRO関数」の式にすると、

 

スクリーンショット 2016 08 29 14 03 49

 

このように、エラーメッセージが「0」に変わり、
最後の集計もエラーメッセージではなく、正しい集計結果に変わりました。

 

 

まとめ

関数のエラーメッセージを非表示もしくは「0」にするには、IFERRO関数を使いましょう。「IF関数」+「ISERROR関数」の組み合わせでも同じことができますが、よりシンプルなIFERRO関数の方が、エラーが出にくく、また、エラーが出ても修正がしやすいので、オススメです。
 

おまけ

毎月開催している「実務で使えるExcel入門セミナー 応用編」でも、関数のエラーメッセージが出た場合の対処を扱っていますが、これまでは、「IF関数」+「ISERROR関数」を使っていました。今後は、「IFERRO関数」に切り替えて説明していきます。

タイトルとURLをコピーしました