エクセルで#N/Aを表示しない方法をお探しですね。
広告
エクセルで「#N/A」「#VALUE!」が出たときの対処法
エクセルで資料を作っていると、突然セルに「#N/A」や「#VALUE!」といった変な文字が出てきて、「え、何これ!?」と焦ったことはありませんか? これらはエクセルからの「うまく計算できないよ!」というSOSのサインなんです。
でも、原因がわからないまま放っておくと、表全体の合計までエラーになってしまって、仕事に支障が出ることも。
この記事では、よく見かける「#N/A」と「#VALUE!」エラーの意味や原因、そしてエラーを消したりゼロにしたりする便利な解決方法を、わかりやすく説明していきます。
「#N/A」エラーってどういう意味?
「#N/A」というエラーは、「Not Available(ノット・アベイラブル)」の略で、日本語にすると「該当するデータが見つかりません」という意味です。
エクセルが「探したけど見つからなかったよ」と教えてくれている状態なんですね。
数式自体は間違っていないけれど、参照したいデータがどこにもない、というときに出てきます。
このエラーが一番よく出るのは、VLOOKUP関数やMATCH関数を使って、別の表からデータを引っ張ってくるときです。
たとえば、商品コードを入力すると商品名が自動で表示される仕組みを作ったとします。
このとき、入力した商品コードがマスターデータ(一覧表)にまだ登録されていなかったり、コードを間違えて入力したりすると、「#N/A」エラーが出てしまうんです。
また、データがあるはずなのに「#N/A」が出てしまう場合は、見えない問題が隠れていることがあります。
よくあるのが、文字の後ろに見えないスペース(空白)が入っているパターン。
エクセルはスペースも1文字として認識するので、余計なスペースがあるだけで「別のデータだ」と判断してしまうんです。
あとは、片方が「数値」で、もう片方が「文字列」になっているような形式の違いも、エラーの原因としてよくあります。
「#VALUE!」エラーってどういう意味?
「#VALUE!」エラーは、「値の種類が間違っているので、正しく処理できません」という意味です。
エクセルには数値、文字列、日付などいろいろなデータの種類がありますが、やろうとしている計算に合わないデータを入れてしまったときに出てきます。
エクセルが「このデータじゃ計算できないよ」と困っている状態ですね。
このエラーが一番よく出るのは、足し算や掛け算をするときに、計算するセルに「文字」が入っている場合です。
たとえば、「=A1+B1」という数式で、A1に「1000」という数字が入っていても、B1に「未定」という文字が入っていたらどうなるでしょう? 人間なら「未定だから足さなくていいな」と判断できますが、エクセルは数字と文字を直接足すことができないので、「#VALUE!」エラーを出してしまいます。
関数を使うときも、引数(関数に渡す情報)の指定を間違えると「#VALUE!」エラーが出ます。
数値を1つだけ指定すべきところに広い範囲を指定してしまったり、逆に範囲を指定すべきところに1つの数値を指定してしまったりすると、エラーになってしまうんです。
また、セルが一見空白に見えても、数式で「””(空白文字列)」が返されているセルを計算に使うと、エクセルはそれを文字列として扱うため、これも「#VALUE!」エラーの原因になります。
エラーを消す魔法の関数「IFERROR」
エラーにはそれぞれちゃんとした理由があるんですが、エラー表示をそのまま放っておくのはよくありません。
なぜなら、「#N/A」や「#VALUE!」を含む列をSUM関数で合計しようとすると、合計結果までエラーになってしまうからです。
また、会議や取引先に出す資料でエラーがたくさん表示されていると、見た目も悪いし信頼性も下がってしまいます。
そこで活躍するのが、エラーを別の値に置き換えることができる「IFERROR(イフエラー)関数」です。
IFERROR関数の使い方はとてもシンプルで、「=IFERROR(本来の数式, エラーが出たときに表示したい値)」という形で書きます。
昔のエクセルでは、IF関数とISERROR関数を組み合わせて長い数式を書かなければいけませんでしたが、IFERROR関数が登場してからは、すごく簡単に処理できるようになりました。
この関数を使えば、数式が正常に計算されたらその結果を表示して、エラーになったときだけ指定した代わりの文字や数値を表示する、という処理を自動でやってくれます。
実務でよく使われるのは、エラーを「空白」にして見えなくするテクニックです。
たとえば、VLOOKUP関数のエラーを空白にしたいときは、「=IFERROR(VLOOKUP(…), “”)」と入力します。
最後の「””」はダブルクォーテーションを2つ続けたもので、エクセルでは「何も文字がない(空白)」を意味します。
また、金額の計算などで、エラーのときは空白じゃなくて「0(ゼロ)」として扱いたい場合は、「=IFERROR(A1+B1, 0)」のように設定します。
これで、エラーが出てもゼロとして計算が続くので、SUM関数での合計エラーを防ぐことができます。
エラーを隠す前に、まず原因を調べよう
IFERROR関数は、表の見た目を良くして、計算がストップするのを防いでくれる便利な関数ですが、使うときには注意が必要です。
それは、この関数が「どんな原因のエラーでも、全部まとめて指定した値(空白やゼロなど)で隠してしまう」という強力すぎる面を持っているからです。
本当は入力がまだだから出ている「#N/A」だけを隠したかったのに、自分の入力ミスや数式の間違いで出た重大なエラーまで見えなくなってしまい、計算間違いに気づかないまま資料を完成させてしまうリスクがあるんです。
だから、エラーが出たときは、いきなりIFERROR関数で隠すのではなく、まず「なぜそのエラーが出ているのか」という原因を調べて、解決することが大切です。
「#N/A」が出たなら、マスターデータに本当に抜けや漏れがないかを確認して、必要なら更新します。
「#VALUE!」が出たなら、計算するセルに余計な文字や空白が入っていないかをチェックして、正しいデータに入力し直しましょう。
エラーはエクセルからの警告メッセージだということを忘れないでください。
データの正確性を保つには、エラーが出にくいデータ作りの習慣を身につけることが一番です。
他のシステムから出力したデータを使うときは、TRIM関数で見えないスペースを取り除いたり、VALUE関数で文字列として認識されている数字を正しい数値データに変換したりする「データクレンジング」の作業を挟むのが効果的です。
結論として、IFERROR関数でエラーを隠すのは、「データも数式も完璧だけど、未入力の段階ではどうしても出てしまうエラー」に対してだけ使うのがプロのやり方です。
まずはエラーの原因をしっかり調べて、本当に必要なときだけIFERROR関数を使う。
この習慣を身につければ、正確で見やすいエクセル資料が作れるようになりますよ!
広告
