エクセルで関数や数式を使っていると#N/Aや#VALUE!、#REF!、#DIV/0!といったエラー値が表示される事があると思います。
表示されるエラー値はそれぞれきちんとした意味があり、例えば「#DIV/0!」であれば「=A1/A2」となっている計算式に対してセルにデータが入力されていないと表示されるエラーとなります。
求めたい結果が出ない時に表示されるエラー値は解決のヒントになりますが、予めデータが無い事が分かっている場合は数式を入れてしまうとエラー値が表示され、印刷するとエラー値がそのまま印刷されてしまいます。
エクセル使っている人が見る資料であれば理解出来るかもしれませんが、普段からエクセルを使っていない人が印刷した資料を見ると「何だこの文字は」と疑問に思ってしまいますよね。
今回はIF関数とISERROR関数の二つを使ってエラー値が返された時にエラー値を表示させない様にする方法を紹介させていただきます。
目次
エラー値を表示させない方法:エラー値の種類
まずはエラー値の種類について。
エラーの種類 | 数式例 | 意味 |
#DIV/0! | =A5/B5 | 除算時のセルに分母データが無い |
#NAME? | =REI(B6) | 関数の名前が間違っている |
#N/A | =VLOOKUP($F$4:$F$7,1,0) | 検索範囲にデータが無い |
#VALUE! | =D7-1 | 数式の参照先がおかしい |
#REF! | =Sheet4!B1 | 存在しない範囲を選択している |
#NUM! | =100^1000 | エクセル上での処理範囲外 |
#NULL! | =SUM(B5:D11 A5:A11) | ヌルを使った範囲の指定がおかしい |
大きく分けて7種のエラー値が存在します。
計算表を作る上で多いエラーは#DIV/0!と#N/Aの2つで、他のエラー値に関しては使い方が間違っている事がほとんどです。
エラー値を表示させない方法:よく見られるケース
上記は野菜の売上進捗を表にしたもので、2種類のエラーが表示されているのが分かります。
おさらいしておくと
#DIV/0!というエラーは除算時の分母が0もしくは空白の時に返るエラーで、数式を見ると「C8/B8」となっており分母であるB8には0が入力されていますね。よってエラー値が表示されています。
次に#VALUE!というエラーは参照先に問題がある場合に返るエラーで、「C9/B9」という数式に対してB9に入力されているのが数値では無く文字になっています。よってエラー値が返されている訳です。
頭の中でエラー値が返ると分かっていても印刷時にエラー値が表示されているのは美しく無いですね。
そこで今回は計算表を作る上でエラー値を表示させないようにしていきます。
エラー値を表示させない方法:IF関数を使ってエラー値を非表示に
まずはIF関数を使ってエラー値を表示させないようにしてみたいと思います。
IF関数は論理式が●●の場合は▲▲を返し、●●でない場合は■■を返すといった使い方をします。
数式としてはIF(論理式,真の場合,偽の場合)となりますが、よく分からないと思いますので実際に入れた数式を使って見ていきましょう。
=IF(B8=0,"",C8/B8)
入力されている数式は上記の通りで、この数式の意味はB8セルが0だったら空白(””)を表示し、B8セルが0で無ければC8/B8の計算結果を表示させるという意味になります。
上図の場合はB8セルが0なので空白(””)が返され、D8セルが空白になっています。
注意点としてはB8セルが0以外の場合は普通にC8/B8の計算が行われるので、B9セルの様な場合には使用できません。(B9セルは0では無く、”無し”となっている為)
仮にD9に同じような式を入れると「#VALUE!」のエラー値が返ってしまいます。
ところがIF関数は優秀で、複数のIF関数を組み合わせる事が出来るんです。
=IF(B9=0,"",IF(B9="無し","",C9/B9))
入力されている数式は上記の通りで、お気づきの様にIF関数の中に更にIF関数が入っています。
ここでの数式の意味はB9セルが0だったら空白(””)を返し、B9セルが0で無ければ今度はB9セルが”無し”だったら空白(””)を返し、B9セルが”無し”で無ければC9/B9の計算結果を表示させるという意味です。
この様にIF関数を組み合わせる事で、B9セルが0だった場合と無しだった場合の2つを空白で返す事が出来ます。
使い方としては非常に便利で、使う事に慣れてしまえば意外と簡単に使う事が出来ます。
IF関数のデメリットとしては指定した条件(ここでは0と無し)に合致した時しか使えないという点。数字以外の値が入力される可能性があるが、何が入力されるか分からないといった時は使用する事が出来ません。
こんな時に使えるのがISERROR関数です。
エラー値を表示させない方法:ISERROR関数を使ってエラー値を非表示に
今度はISERROR関数を使ってエラー値を非表示にしたいと思います。
ISERROR関数はセルの内容がエラー値(#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?、#NULL!)の場合にTRUEを返すといったもの。
このISERROR関数に先ほどのIF関数を組み合わせて使う事で全てのエラー値に対応して非表示にさせる事が出来るんです。
分かりにくいと思いますので実際に見ていきましょう。
=IF(ISERROR(C8/B8),"",(C8/B8))
入力されている数式は上記の通りで、どういう意味かと言うとC8/B8の計算をした時にエラー値だったら空白(””)を表示し、エラー値で無ければそのままC8/B8の計算結果を表示させるという意味です。
先ほどのIF関数に比べるとエラー値だった場合に空白を返すという事なので応用範囲がかなり広いんですね。
そしてお気づきの方もいるかもしれませんが、上図の場合はD8セルの内容をそのままD9セルにコピーする事が出来るんですね。
以上でエラー値の無い表が完成です。
印刷した際にエラー値が表示されているとそれだけで見にくい資料と化してしまうのでエラー値は非表示にする事をオススメします。
今回はここまで
いかがでしょうか。エクセルを使う上で、このエラー値を消す事が出来れば表も綺麗にまとまり、誰からも見やすい表となります。
この様にエクセルには色々な関数があり、またその関数同士を組み合わせる事で色々な事が出来るので覚えておいて損は無いと思います。
ExcelやWordといったオフィス系のソフトは独学で覚えるケースが多いと思います。独学でもある程度は使いこなせるようになるかもしれませんが、誰かに教えて貰う方がすぐに覚え、活用する事が出来ます。
なぜなら、ExcelやWordの初心者は質問したい内容が分からない事が多いからです。Google先生も優秀ですが、それは質問したい事がハッキリ分かっているという前提があっての話。
無料の説明会や資料請求、オンライン面談といった無料で活用できる事もありますので気になる方はご参考下さい。
エクセルを使っているうちに自分が得意とする関数が出来てくると思いますのでどんどん新しい事にチャレンジし、たくさんの関数を覚える事が出来れば作業の効率化に繋がり、自分自身の負担も減ると思いますよ!
それでは最後までお付き合いいただき、ありがとうございました。