「せっかく作った関数なのに見栄えが悪くないですか?」
こんな風になぞの「#DIV/0!」とかが表示されていまって、そのままスプレッドシートを印刷しようとしても「#DIV/0!」も一緒に印刷されてしまうんですよね。ただ、ここに書いている関数が正しく動作するものであれば、他のセルに数値を入力することでちゃんとした値が「#DIV/0!」のところに入るんですよね。
さて、この原因とはいったい・・・・?「エラーメッセージです」
実は「#DIV/0!」というのは関数=計算式から割り出されたエラーメッセージなんです。 その他「#N/A」というエラーもあったりします。
- #DIV/0!
- #N/A
- #NAME?
- #NULL!
- #NUM!
- #VALUE!
- #REF!
「今回はエラーを非表示にしてみよう!」
今回紹介するスプレッドシートは、「ここ最近高騰しているガソリン価格のスプレッドシート」を使って説明したいと思います。
最終系はこんなスプレッドシートになっていますが、ガソリン単価と右側にある水色の枠に書かれている3つの項目が関数となっています。 先程記載あるとおり他のセルに値がすべて入力されている為、記載している関数はすべて正常に動いているように見えます。ガソリン量(L)を削除してみましょう。 はい、関数で書かれていたところがすべて「#DIV/0!」となりましたね。 まずガソリン単価の関数を見てみましょう。
=C3/D3
となっています。 関数を日本語化すると ガソリンの支払総額をガソリン量で割ったらガソリンの単価がわかるという意味です。 ってことでガソリン量の値を削除することで割り算ができないよというエラーメッセージが表示されたことになります。「#DIV/0!」というのは割り算ができない!という内容なんですね。 右側の自動計算もエラーになっている理由はガソリン単価の情報を元に計算式が組まれているからなんです。でもこのままだと少し印刷する時や、表を全体で作成した時に見栄えが悪くなるのでエラーはありつつも非表示 or 別の言葉に置き換えてみましょう。
今回使う関数は 「IFERROR関数」です。
日本語で書くと、「もしエラー表示されたらどうしますか?」という動作をする関数になります。 先程の「#DIV/0!」はエラー表示でありこの「IFERROR」と組み合わせることでガソリン単価の関数が少し変わってきます。
最初に「もしエラー表示されたらどうしますか?」「(エラー表示されない場合)ガソリンの支払総額をガソリン量で割ったらガソリンの単価がわかるという意味です」「(エラー表示される場合)""」という意味になります。 (""というのは文字を書く時のおまじないになります) これを関数で表すと
=IFERROR(C3/D3,"")
になります。
この関数をいれることで、支払総額のセルもしくはガソリン量(L)のセルに数字が入力されていなくてもガソリン単価のところには空欄になったままとなります。 この状態であれば表全体を作成し印刷しても見栄えは良いと思います。
エラーが表示されていた場所は ""となり、空のセルとなりエラーメッセージは非表示(別のモノに置き換わっている)になっています。「まとめ」
- 計算ロジックが入っている関数を使う場合は「IFERROR関数」を使ってエラーメッセージを非表示化、もしくはわかりやすい別表現に変えておきましょう。
- おまじないのごとく「IFERROR関数」は毎回入れておきましょう。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
頂いたコメントは大切に読まさせて頂きます。