Excelで数式がたくさん入ったシートを作成していると、エラーがところどころ発生してしまうことがあります。それを見えないようにするには、IFERROR関数が役に立ちます。
エラーが見えてしまう
以下の例では#DIV/0と表示されています。意味はわからなくとも、視界に入るとなんとなく気持ちが悪いと思います。
このような現象は、初めから数式が埋め込まれているシートに対して、後で他人に値を投入してもらい、その値を数式が参照して自動計算するように設計されている場合に頻発します。
例えば上の例では、販売価格目標(C列)と販売数量目標(D列)を絶対値で投入し、想定単価(E列)には初めから数式が投入されています。数式を表示すると以下のようになっています。
この場合、バナナのケースのように販売価格目標(C列)と販売数量目標(D列)が既に投入されていれば、C列の値をD列の値で割って十の位を四捨五入した値がE列に入るようになっているわけです。
ところが、イチゴとチョコレートの情報はまだ投入が完了しておらず、割り算に”0”が使われることになってしまい、結果エラー#DIV/0が出てしまっています。
IFERROR関数
このような数式のエラーを見えなくするには、IFERROR関数が便利です。使い方は以下の通りです。
=IFERROR(セル範囲,エラー時に表示するデータ)
この関数を感覚的に説明すると、”エラーが起きたらXXとしておいてね。エラーがなかったら普通に計算してね”という感じでしょうか。
今回で言えば、”エラーが起きたら空欄にしておいてね。エラーがなかったらROUND(C/D,-2)で計算してね”としたい。数式としては以下のようになります。
E3=IFERROR(ROUND(C3/D3,-2),””)
E4=IFERROR(ROUND(C4/D4,-2),””)
E5=IFERROR(ROUND(C5/D5,-2),””)
文字列は“”で括る必要があります。””の中身に何もないということは、つまり空白ということになります。これを実際に先程のシートに投入してみましょう。
上のように、まだ投入が完了されていないせいでエラーが発生してしまうE4とE5のセルを空白で表示することができました。こちらの方がスッキリして見えますね。
そして、全てのセルに投入が完了すれば、以下のように問題なく単価が計算されます。
コメント