- VLOOKUP関数を使っているとエラーが出てしまった!
- それぞれのエラーってどういう意味なんだろう?
そんなときのお役に立てるようこの記事では、
- VLOOKUP関数で発生するエラーの意味と対処方法
- エラーを表示させない方法
について解説しています。
エラーの意味が分かれば対処方法も見つけやすくなるので、是非ご参考に頂ければと思います!
VLOOKUP関数については、【基本から応用まで】エクセルVLOOKUP関数の超まとめ!で基本から応用な使い方までまとめているので、こちらの記事も是非ご参考下さい。
VLOOKUP関数で発生するエラーの意味と対処方法
VLOOKUP関数を使うときに出現するエラーとしては、
- #N/Aエラー
- #VALUE!エラー
- #NAME?エラー
- #REF!エラー
があります。
それぞれの意味と原因・解決策について解説していきます。
N/Aエラー
#N/Aと表示されるエラーは「No assign」を示し、
適切な値が無い
ということを教えてくれるエラーです。
VLOOKUP関数を使用する際も、検索値が対象の表に存在しない場合にこのエラーが発生します。
解決策としては、検索対象の表に検索値を追加しましょう。
今回の例であれば、単価表に製品Cの項目を追加すればエラーが解消されます。
N/Aエラーについては、下記の記事でも詳しく解説していますので、是非ご参考下さい。
参考記事:【エクセル】VLOOKUP関数でエラー表示をしないためには?
VALUEエラー
#VALUE!と表示されるエラーは基本的に、数式に誤りがある場合に表示されます。
- 指定すべき値(引数)が入力されていない
- 数値を入力すべき場所に文字列を入力している
などの場合です。
例えば今回#VALUE!エラーが出ている数式は下記のようになっています。
=VLOOKUP(D4,$I$4:$J$8,FALSE)
VLOOKUP関数ではカッコの中は、(検索値,範囲,列番号,[検索方法])と指定します。
数式をよく見ると範囲の後、検索方法(FALSE)が指定されており列番号が指定されていないですね。
解決策としては数式を正しく修正しましょう。
今回であれば、
=VLOOKUP(D4,$I$4:$J$8,2,FALSE)
というように修正します。
NAMEエラー
#NAME?と表示されるエラーは表示の通り、関数名が間違っているときに表示されるエラーです。
数式を見てみると、
=VOOKUP(D4,$I$4:$J$8,2,FALSE)
となっています。VLOOKUPのLが抜けていますね。
とても単純なミスですが関数に慣れてくるとやってしまいがちなので、NAMEエラーが出たら関数のスペルを見直すようにしましょう。
REFエラー
最後に#REF!と表示されるエラーについてです。
このエラーは、無効なセルを参照している場合に出現します。
VLOOKUP関数においては、列数のところで空白セルを参照している場合にこのエラーを見ることが多いです。
解決策としては、列数の指定を正しく修正しましょう。
参照ズレ
VLOOKUP関数の数式を作って他のセルに適用した場合、一部だけエラーがでてしまうことがあります。
その場合は参照ズレを疑いましょう。
範囲指定が相対参照になっているためコピーしたときにズレてしまっているのです。
解決策は範囲指定箇所に$をつけて絶対参照にすることです。
VLOOKUP関数でエラーを表示させない方法
最後に、エラーを解消するのでは無くエラーを表示させないようにする方法です。
特にN/Aエラーのときとなりますが、値が無いのは分かっているのでエラーを表示させたくない、という場合があります。
このような場合は、
IFERROR関数
を使用しましょう。
IFERROR関数とは、エラーが発生した場合にどのような表示とするか?を指定できる関数です。
=IFERROR(値,エラーの場合の値)
というように指定するのですが、
- 「値」のところにVLOOKUP関数を指定する
- 「エラーの場合の値」のところに空文字を指定する
とすることで、VLOOKUP関数の結果エラーがでた場合は何も表示しないということを実現することができます。
具体的には下記のような数式となります。
これで、VLOOKUP関数でエラーが出た場合(今回だと製品Cが表にないことによるN/Aエラー)に何も表示させないようにできます。