【Excel(エクセル)】N/Aなどの関数エラーを2度と表示させない方法

概要

Excelで関数を扱っていると、たまに「#N/A」という文字が表示されることはありませんか??

例えば、

このように商品コードを入力すると値段が表示されるようにVlookup関数を記載したとき、もし商品コードに何も数値が入っていないときや、存在しない商品コードを打ち込んだときなどに、「#N/A」という表示になってしまいます。

今回はそんなときの対処法をご紹介します。

【IFERROR関数】#N/Aなどの関数エラーを消す方法

「#N/A」を消す最も簡単な方法は、IFERROR関数を使うことです。

少しIFERROR関数についてご紹介すると、

IFERROR関数とは「値」で指定したセルや数式の結果が、エラーとなった場合には「エラーの場合の値を表示」させ、エラー値でない場合には正常な「値」を表示させる関数です。

つまり、IFERROR関数を使えば、関数を使ったときに「#N/A」や「#VALUE!」や「#NAME?」などが出てきてしまったときに、どういう「値」(空白も含む)を表示したいのかをあらかじめ指定することができます。

IFERROR関数は下記のような論理式になります。

=IFERROR(値,エラーの場合の値)

今回の場合ですと、商品コードを記載するセル「F2」が空白であったり、表に存在しない値を入れるとVLOOKUP関数がエラーになってしまうので、
そうなった際には、空白「””」になるようにIFERROR関数を組みます。

=IFERROR(VLOOKUP(F2,A2:D6,4,FALSE),””)

上記のIFERROE関数を記載すると、商品コードが空白であるときや、存在しない値を入れてVLOOKUP関数がエラーになると、エラーの場合の値である「””」(空白)が代わりに記載されます。

では、さらにもう一歩踏み込んで、

商品コードを記載するセルが空白のときは、そのまま空白に、そして存在しない値を入力する際は、「存在しない商品コードです」と表示したいときもありますよね?

上のような場合に限らず、何も記載されていないときは空白のままで良いけど、間違った値が入力されたときはしっかり警告を出したいときです。

そんなときは、

=IFERROR(値,エラーの場合の値)

IFERROR関数の「エラーの場合の値」の部分で更にIF関数を組みます。

今回の場合は、
VLOOKUP関数がエラーの場合、そのエラーの内容が空白によるものである場合は空白に、そうでない場合は「存在しない商品コードです」という値が表示されるIFERROR関数にします。

=IFERROR(VLOOKUP(F2,A2:D6,4,FALSE),IF(F2=””,””,”存在しない商品コードです”))

上記のような関数になるのですが、

IFERROR関数でVLOOKUP(F2,A2:D6,4,FALSE)がエラーの場合で、もしその値(セルF2に入力されている値)が「””」(空白)の場合は、「””」(空白)に、そうでない場合は「存在しない商品コードです」という値を表示してねという意味になります。

このように、

エラーの場合の表示の仕方については、IFERROR関数の「エラーの場合の値」をIF関数を使ってさらに条件分岐させることで、より細かく表示方法を指定することができます。

ぜひ今後の参考にしてみてください。