8/29/2014

Excel。IFERROR関数じゃダメな時ってどんな時?後編


Excel。IFERROR関数じゃダメな時ってどんな時?後編

IFERROR関数とIF関数


前回は、IFERROR関数を中心に、使い方のご紹介をしていきました。
それによって、エラー表示を回避して、空白に表示することができるようになりました。
仕事でつかえるExcel講座でも、お話ししますが、
今回は、IFERROR関数では都合が悪いケースを、ご紹介していきます。

要するに、IFERROR関数では対応できない時は、
IF関数のネストを使って対応する方法をご紹介していきます。

まず、下記のような表があります。

これからF21にSUM関数を設定して小計を算出してみたいと思います。
では、F21をクリックして、オートSUMボタンをクリックしてSUM関数の数式を作っていきましょう。

計算式は、=SUM(F13:F20)

問題なく計算されましたね。問題になるのはココからです。
B列の商品番号とE列の数量を全部消去してみましょう。要するに、空の状態にするわけです。
さて、どうなったのかというと、当然B列とE列は空欄になったのと、
商品名や単価、そして金額はエラーが出ないで、空欄のままです。

しかし、F21の小計には0(ゼロ)と表示されていますね。ついでに、F23の合計金額も。
このままでもいいかもしれませんが、用紙を空白にしたいはずなのに、
小計には0(ゼロ)と表示されているのは、ちょっとカッコ悪いですね。

では、ここで、IFERROR関数を使えば、OKなのでしょうか?
F21をクリックして、数式をいったん削除しておきます。

それでは、IFERROR関数ダイアログボックスを表示しましょう。

値には、先程の計算式を作っていきます。SUM(F13:F20)ですね。
名前ボックスの▼をクリックして、

その中から、SUM関数を選びます。SUM関数のダイアログボックスが表示されますね。

数値1には、F13:F20を範囲選択します。
そして、ここで、OKボタンを押してはいけませんね。
まだ、IFERROR関数を作っている最中でした。よくやってしまうのですが、
関数のネストの時には、上の関数が作成途中の場合戻る必要が生じます。

では、数式バーのIFERRORという文字をクリックすると、
IFERROR関数ダイアログボックスに戻ります。

エラーの場合の値には、0(ゼロ)を表示させたくないので、空白を意味する、
””を入力してOKボタンをクリックします。

さて、どうなったでしょうか?

結局、0(ゼロ)が消せませんでした。
要するに、そもそも、F21は、エラーではないからです。

このような時には、IFERROR関数では対応できないわけです。
エラーじゃないですからね。
となると、この0(ゼロ)を表示しないようにするには、
IF関数のネストでないと0(ゼロ)を表示しないように出来ないわけです。

IF関数の空白にする方程式

ではありませんが、ご存知の方も多いかと思いますが、やってみましょう。
F21を削除して、IF関数のダイアログボックスを表示しましょう。
まず、論理式ですが、B13の商品番号が入力されているか、
いないかを判断に浸かってみようと思いますので、

論理式は、B13=""
真の場合は、””
偽の場合は、SUM(F13:F20)

これで、OKボタンをクリックすると、

小計のF21は、空白になりましたね。
このように、IFERROR関数は、あくまでもエラーが発生した時はどうするの?
という時に使いますので、注意が必要です。

それに、IFERROR関数は、Excel2007以降で登場した関数ですので、
昔のExcelにはありませんので、IF関数での処理方法を知っているのは、
決して無駄ではありませんね。