こんにちは。開発チームの山本です。
EXCELで管理表やフォーマットを作成する際、必要なセルにはあらかじめ計算式を入力しておくのが一般的ですが、“これから入力していく表”を作成するので、
・参照するセルに何も入力されていない
・算出した数値が「0」になっている
という事になります。
こうした表を作成すると、計算式は正しくても「#DIV/0!」や「#N/A」と言ったエラーが表示されます。
今回は、そうしたエラーを非表示にする二つの方法をご紹介します。
方法1:「IFERROR」関数を使ってエラー表示を回避する
C列には、顧客コードを入力すると別シート(Sheet2)の顧客データベースを参照し、顧客名を反映させる計算式を入力しています。
C6に入力した式:=VLOOKUP(B6,Sheet2!A:B,2,FALSE)
この式の場合、B6のセルに顧客コードが入力されていないと「参照の対象が見つからない」という意味のエラー「#N/A」が表示されます。
式が間違っているわけではないのでこのままでも問題はないのですが、見た目が少し気になりますよね。
そこで、計算式の頭に「IFERROR」関数を付け足してみます。
=IFERROR(VLOOKUP(B6,Sheet2!A:B,2,FALSE),"")
IFERROR関数を使うことで、
最初に入力していた計算式「=VLOOKUP(B6,Sheet2!A:B,2,FALSE)」の結果がエラーの場合、空白(””)にする
という指示をすることができます。
「””」の中を任意の文字に変更すれば、エラーの際に指定した文字列を表示させることも可能です。
ex.
=IFERROR(VLOOKUP(B6,Sheet2!A:B,2,FALSE),"0")
=IFERROR(VLOOKUP(B6,Sheet2!A:B,2,FALSE),"未定")
方法2:「IF」関数を使ってエラー表示を回避する
もう一つはIF関数を使った方法です。
C6に入力した式:=IF(B6="","",VLOOKUP(B6,Sheet2!A:B,2,FALSE))
この式は、計算式の結果ではなくB6のセルがどの状態であるかを参照しています。
「B6のセルが空白の場合、空白を返す」と指示しているので、B6にコードを入力しないとC6には何も表示されないようになっています。
もし、C6の計算式が間違っていると、B6にコードを入力するとC6にエラーが表示されます。
先にご紹介した方法1の場合、すべてのエラーに対して表示しないという指示になるので、計算式自体の間違いに気づきにくいという点があります。
複数人で表を共有する場合は方法2を使用する方が、EXCEL知識の個人差によってエラーに気付かない、というようなリスクを防ぐことができます。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
業務で使用する集計表や管理表の大半は複数の人と共有していることが多いですし、プリントアウトして会議で使用するケースもあるかと思います。
エラー表示が並んでいると大切な情報が目に入りにくいこともありますので、今回ご紹介した関数を活用して「見やすい資料作り」にお役立ていただけると幸いです。