はじめに
エラーのセルは表示させたくない
仕事でEXCELの表を作って計算式を入れていると、まだ数字が入ってないから計算出来なくてエラーの表示になっちゃうことがありますよね。数字入れたら計算式入れてみたいにすればいいんだけど、なんかそれってスマートじゃない。。。計算できるようになったら計算される。そうじゃなければ何もしないみたいにできる関数が用意されています。
IFERROR関数
IFERROR(エラーじゃ無いとき,エラーの時)
この関数を使うことによって、エラーが出たときに表示させる値を指定することが出来ます。
やってみましょう。
C4セルに「=IFERROR(C3/C9,”エラー”)」と入力します。「C3/C9」部分はエラーじゃ無い時の表示です。C3÷C9ですね。”エラー”は、そのC3÷C9がエラーだった時に表示されるものです。今回は”エラー”と文字列で設定していますが、計算式でも大丈夫です。12月まで計算式をコピーするとこうなります。
このようにして、最初からエラーが出ることが分かっている場合などは表をきれいにすることが出来ます。”エラー”部分を””(空白)にしてみましょう。
計算式が入っているのに空白に表示させることが出来ました。スマートですね。
IF関数で分岐させる
この調子で、「合計」の欄の「0」表示もなくしてやりたいですが、ここはちょっと勝手が違います。SUM関数で合計しているのですが、これはエラーじゃ無いんですね。なのでIFERROR関数が使えません。。。
こんな場合は、表を良く眺めます。どんな時に計算されるかというと、3行目と6行目と7行目に数字が入った時ですね。条件が分かればIF関数を使えます。やってみましょう。
次の図のように、C9セルに
=IF(C3<>””,IF(C5<>””,IF(C7<>””,SUM(C3,C5,C7),””),””),””)
と入力します。
「は???」ってなりますよね。条件3つのIF関数を入れ子にするともう意味わかりません。入れ子上等の方はこれでガンガン突き進んでくれればそれでいいですが、もう少しスマートにして見ましょう。IF関数をスマートにするためには「AND関数」を使います。
AND(条件1, 条件2, 条件3,・・・・)
AND関数は引数に指定した条件が全てTRUE(合ってる)になればTRUEを返します。なのでIF関数などで条件が複数になる時に使うと、数式がスッキリと分かりやすくなりますよ。
IF関数だけで書いた時
=IF(C3<>””,IF(C5<>””,IF(C7<>””,SUM(C3,C5,C7),””),””),””)
AND関数使った時
=IF(AND(C3<>””,C5<>””,C7<>””),SUM(C3,C5,C7),””)
AND関数の中に、条件を整理して入れつることが出来たのでスッキリ分かりやすいですね!さっきの意味わからんやつは一回消して、これに書き換えて、12月まで計算式をコピーしてみます。
後は、売上データを入力するだけで計算がされていくというスッキリ表の出来上がりです!
ISERROR関数
IFERROR関数に似た名前の関数で「ISERROR」という関数があります。実は「IFERROR関数」はEXCEL2007以降で登場した新しい関数で、それ以前のEXCELでは「ISERROR関数」を使っていました。EXCEL2007以降をお使いの方は、「IFERROR関数」の方が使いやすいのでそれで全く問題ありません。ちなみに「ISOERROR関数」はエラーかどうかを検知する関数です。IF関数と組み合わせて「IFERROR関数」のような処理をしていました。興味のある方はやってみてください。
ISERROR(検査対象)
※検査対象が #N/A 以外のエラーの場合にTRUEを返す
IFERROR関数と同じように使うには以下のようにします。
=IF(ISERROR(検査対象),エラーの時,エラーじゃ無い時)
面倒くさいですね(笑)
まとめ
割合欄も、IF関数を使って「9行目のセルが空白じゃなければ計算する」などの回避方法もあります。やりたいことを実現させるためには、いろいろなアプローチがあるので、アイデア次第ですよ!
おまけ エラーの種類
ちなみにエラーはこんなんがあります。
エラー値 | 意味 |
---|---|
#DIV/0! | 数式とか関数が「0」とか「空白セル」で除算されると出る。 |
#N/A | 計算とか処理の対象となるデータがないときやちゃんとした結果が得られないとき出る。 |
#NAME? | 関数の名前が間違ってるか数式に使った名前が定義されていないとき出る。 |
#NULL! | 半角空白で空けた参照演算子の共通部分がないとき出る。 |
#NUM! | 数値の指定が違うかちゃんとした結果が得られないとき出る。 |
#REF! | 数式内で無効なセルが参照されているとき出る。 |
#VALUE! | 関数の引数の形式が間違っている時に出る。 |
コメント