今日は「IFERROR関数」について、ご紹介します。
前回、エラー値についてご紹介しました。
今回は、エラー値が発生した時にエラー値でない指定した値(0(ゼロ)、文字列、空白、など)を表示したい場合に使用するIFERROR関数をご紹介します。
IFERROR関数の書式は、IFERROR(値、エラーの場合の値)です。
「値」の部分にはもともと入力したい数式を入力します。この数式がエラーでない場合は、この数式の結果が表示されます。
「エラーの場合の値」には「値」に入力した数式がエラー値となった場合に表示したい値を入力します。
エラー値が発生した場合に空白としたい場合は””(ダブルクォーテーション二つ)を入力します。
具体的に見てみましょう。
以下のように1年目の売上高が0(ゼロ)の場合に、利益率を計算すると、エラー値(#DIV/0!)が表示されます。
そこで、IFERROR関数を用いて、利益率を計算した時にエラー値が発生した場合には、0%と表示するようにしてみましょう。
これで、エラー値の代わりに0%が表示されるようになりました。
ここでさらに、利益率の最小値を求めてみましょう。すると、以下のように、エラー対応で表示している0%を最小値と判断してしまいます(本来表示したいのは、3年目の29%)。
エラー値の代わりに表示するものを数字にしてしまったために、上のようなことが起きてしまいます。
そこで、「エラー値の場合の値」を””(空白)や”N/A”(文字列)とすると、(数字が表示されていない)1年度のエラー値が無視されて、本来求めたかった最小利益率29%を求めることができます。
このように「エラー値の場合の値」を何にするかも実は大事です。
最小利益率を求める場合には、””(空白)や”N/A”(文字列)とすることでできましたが、空白としてしまうと、当たり前かもしれませんが、そこに数式が入力されているのか、入力を忘れていて何も入力されていないのか、見た目には分かりません。
ですので、この場合はN/Aなどの文字列を表示する方が良いと思います。
ちなみに、IFERROR関数はExcel2007から追加された関数です。
それ以前のExcelでは使用できませんが、既にExcel2007ですらマイクロソフトのサポート期間が終了しておりますので、IFERROR関数が使えないということはもうないと思います。
IFERROR関数が追加されるまでは、同じことをするのに、IF関数とISERROR関数を組み合わせて=IF(ISERROR(値)、エラーの場合の値、値)としていました。
もちろん今でもこの方法は使えますし、実際使っている人もいます。
しかし、今回ご紹介したエラー対応に使用する場合、この方法だと本来入力したい数式を二度入力することになりますので、最初にご紹介したIFERROR関数を使う方が良いと思います。
エクセルのスキルアップで働き方改革を!
次回の財務モデリング基礎講座は12月16日(日)です。お申し込みはこちらからどうぞ。