エラーの有無で処理を変える
次のような表を考えたとき、例えば「20個入のみかんの1個あたりの価格」を計算するには単純に
=B3/C3
とすればよいのですが、数量が未入力のときにはセルD5のように「#DIV/0」(ゼロで割ってます)とエラーが表示されます。このときに入力者に「数量が入っていない」ことをiferror関数を使用して知らせてみましょう。
=iferror(値,エラーが有るときの処理)
エラーがないときは値がそのまま表示されます。エラーが有るときには「エラーが有るときの処理」が行われてその結果がセルに表示されます。今回はセルD3にこの数式を作成し、他の行にもコピーしましょう。
D3に入力する数式 =iferror(B3/C3,”数量が入力されてません”)
するとセルD5はエラーが有るため「数量が入力されていません」と表示されます。文字列を表示させるときは””で表示させる文字列を囲います。その他の計算結果はエラーがないため数式の計算結果が表示されます。
応用です。元の表を少し書き換えます。セルB5に文字列を入れた場合、計算できないのでエラーメッセージ「—」を表示させます。数式を作成したら他の行にコピーします。
D3に入力する数式 =iferror(B3/C3,”—“)
このようにして、作成した表の表示をiferror関数を使ってスッキリさせることができます。
参考:ISERROR関数について
セルの内容に「エラーがあるか否か」だけを判定するにはISERROR関数を使用します。
=iserror(判定内容)
エラーがある場合には「TRUE」を、ない場合には「False」を返します。
エラーが有るかどうかはセルの表示結果を見ればわかるのですが、明らかに入力していないなど原因がわかっているときにまでエラーメッセージが表示されるのも好ましくないため、IF関数などと組み合わせてエラー処理に使用します。
今回はエラーが有るセルに「データに不備があります」という表示をIF関数とISERROR関数を組み合わせて実現します。
=if(iserror(B3/C3),“データに不備があります”,B3/C3)
B3/C3の計算結果にエラーが有る場合は「データに不備があります」と表示、エラーがない場合はそのまま「B3/C3」の計算結果を返します。
セルD3に入力した数式をD4~6にコピーして動作を確認しましょう。
適切なエラー処理で見やすい表作りを
作成した表を利用するときにエラーメッセージが多く表示されている表は見づらく、データの内容よりもエラーが表示されていることが気になったりします。適切なエラー処理を行って「見やすい・使いやすい分析表」を作成しましょう。