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関数での処理方法を知っているのは、
決して無駄ではありませんね。