いまさら聞けないExcelの使い方講座

【Excel】セルに「#N/A」「#NAME?」と表示されたけどどうすれば……困ったときのエクセル対策ワザ

 Excel(エクセル)は、仕事や普段の生活で使う機会の多い、最も身近なアプリケーションのひとつです。しかし、「イマイチよくわからないまま使っている」「実は少し苦手……」という人も多いのではないでしょうか? この連載では、いまさら人に聞けないけど、知っていれば必ず役に立つ、Excelを使いこなすためのノウハウを紹介します。

セルに「#N/A」「#NAME?」と表示される原因は?

 関数やセル参照を組み合わせた複雑な数式をようやく作り上げ、[Enter]キーを押した瞬間、セルに「#N/A」「#NAME?」などのエラー値が表示されてしまって心底落ち込む……。Excelを使っていると、よくあるシチュエーションですよね。

 数式が複雑だとなぜ、どこが、どのように間違っているのか、ぱっと見当が付かない場合も多いです。しかし、表示されたエラー値の種類が原因を探るヒントになるので、落ち込まずに調べてみましょう。

 今回は、数式で参照している数値が見つからないときに表示される「#N/A」と、数式内で使われている関数のスペルが間違っているときに表示される「#NAME?」という2種類のエラー値について解説します。

数式の参照先に値が見つからないときに表示される「#N/A」

 「#N/A」は、数式の参照先に値が見つからないときに表示されるエラー値です。

 ここでは、セルB3に氏名を入力すると、その氏名を名簿に照らし合わせて所属する部署名をセルD3に表示するというシステムの例で考えてみましょう。

 セルD3にエラー値「#N/A」(①)が表示されています。

 セルB3に「遠藤美奈」という氏名が入力(②)されていますが、名簿のセル範囲A7:A11(③)には存在しない氏名です。そのためセルD3には、数式の参照先に値が見つからないときに表示されるエラー値「#N/A」が表示されてしまったというわけです。

 名簿に存在する氏名をセルB3に正しく入力すれば、エラーは表示されません。

 セルB3に「遠藤三奈」(④)と入力すると、名簿から部署が検索され、セルD3に「総務部資材課」(⑤)と表示されます。

 また、計算結果がエラーになった場合に表示される内容を指定できる「IFERROR関数」を使うと、名簿にない氏名が入力された場合に何も表示されないようにすることもできます。

 セルD3に「=IFERROR(VLOOKUP(B3,A7:B11,2,FALSE),””)」(⑥)と入力して[Enter]キーを押します(⑦)。

 セルD3に入力された数式は、「VLOOKUP(B3,A7:B11,2,FALSE)」という計算結果がエラーになった場合はセルに何も表示しない」という意味です。

 名簿に存在しない氏名がセルB3に入力されているときは、計算結果がエラーになるため、セルD3には何も表示されなくなりました(⑧)。

数式内のスペルミスで表示される「#NAME?」

 次に解説する「#NAME?」は、Excelに存在しない関数を入力したときに表示されるエラー値です。

 再び部署名検索システムの例で考えてみましょう。今度はセルD3にエラー値「#NAME?」(①)と表示されています。

 セルD3に入力した関数のスペルが間違っているため、Excelに存在しない関数を入力したときに表示されるエラー値「#NAME?」が表示されてしまったのです。

 数式内の「VLOOKAP」を「VLOOKUP」と正しいスペルで入力し直せば、セルD3のエラー値「#NAME?」は表示されなくなります。

エラー値「#N/A」「#NAME?」が表示されたら入力ミスを疑おう

 今回解説した2種類のエラー値「#N/A」「#NAME?」はどちらも、セルに入力した内容にちょっとした間違いがあるときに表示されやすいものです。

 表示されてしまったときは入力ミスを疑って、参照先の値や関数のスペルなどをチェックするといいでしょう。