「VLOOKUP、ちゃんと入れたはずなのに『#N/A』って出るんです」
教室でもよくご相談を受けるお悩みなんですが、実は私自身、最初に VLOOKUP を覚えたとき、本のテキスト通りに練習問題をやっていて——検索値の欄を空欄のまま数式を入れて #N/A 。「えっ、教科書通りなのに!」とパニックになったことがあります。
それから、もう一つ。テストの点数を「90点以上はA、75点以上はB」みたいに評価順で並べていたら、結果がまったく出てくれなくて、「なぜだ!!」と頭を抱えたこともあるんです。
落ち着いて大丈夫です。#N/Aは「壊れた」のではなく、Excelが『見つかりませんでした』と教えてくれているということなんですね。原因は、ほぼ5パターンに絞れます。上から順番に見ていきましょう。
まず結論
VLOOKUPの「#N/A」エラーは、検索値が見つからない/完全一致の指定漏れ/データ型のズレ/半角全角の違い/範囲のズレ——だいたいこの5つのどれかなんです。下から順番に確認すれば、ほぼ解決します。
原因1. 検索値が、範囲の「一番左の列」にない
VLOOKUPは、指定した範囲の一番左の列から検索値を探しているんですね。
たとえば「商品ID」で検索したいのに、商品IDが範囲の2列目にあると、Excelは見つけてくれません。
実はこれ、本やネット記事ではあまりはっきり書かれていないことが多いんです。教室でも、口頭で必ずお伝えしているポイントです。
ここがポイント 👆
検索したい列が、必ず範囲の左端になるように範囲を取り直してみてください。
原因2. 4つ目の引数「FALSE」または「0」を入れ忘れている
VLOOKUPの最後の引数を省略したり「TRUE」にすると、近似一致という検索方法になります。
「近似一致って何?」と思いますよね。
Step UP 💡 — 近似一致と完全一致のちがい
「90点以上はA、75点以上はB、60点以上はC」のように、範囲で判定したい時に使うのが近似一致です。
一方、「商品コード A001 と完全に一致するデータを探したい」のように、ピッタリ同じものを探したい時は完全一致です。
→ 商品名・社員番号・コードのようにピッタリ一致を探す場合は、必ず完全一致を選んでください。
=VLOOKUP(A2, 商品マスタ!A:C, 3, FALSE)
最後の引数を FALSE(または 0)にすると、完全一致の検索になります。
ちなみに、近似一致を使う時は、参照表が昇順(小さい順)に並んでいる必要があります。並びが順序通りになっていないと、近似一致は正しく動いてくれないんです。私もここでつまずいた経験があります。点数の評価表を作る時などは、必ず昇順に整えてから VLOOKUP を入れるようにしてみてください。
原因3. 検索値と参照範囲で「文字列」と「数値」が混ざっている
Excelは見た目が同じでも、内部で「文字列の 100」と「数値の 100」を別物として扱っていることがあるんですね。
セルの左上に小さな緑の三角マーク——これ、エラーインジケータっていうんですが、これが出ていたら、文字列として保存されているサインです。
ここがポイント 👆
- 検索値・参照範囲のどちらかを、もう一方に揃えてみてください
- 揃えにくい時は、
=VLOOKUP(VALUE(A2), ...)のように関数で一時的に変換する方法もあります
原因4. 全角と半角、見えない空白(スペース)が紛れている
これがいちばん厄介で、教室でもご相談の多いパターンです。
「ABC123」と「ABC123」、見た目は近いですが Excel では別の値として扱われます。文字の前後にうっかりスペースが入っていても #N/A になることがあるんですね。
昔のパソコンは、半角の「A」を打っているつもりが、いつのまにか全角の「A」になっている……ということがよくありました。今はShiftキーを押すと半角に切り替わってくれるので、親切設計になりましたよね。それでも、外部から貼り付けたデータには、見えない全角や空白が紛れていることもあります。
Step UP 💡 — 全角・空白を一気にお掃除する
- 半角に統一する:
=ASC(A2)で全角を半角に変換できます - スペースを削る:
=TRIM(A2)で前後の空白を取り除けます - 両方一度にやる時は:
=TRIM(ASC(A2))のように組み合わせます
原因5. 数式をコピーした時に、範囲がズレている
「最初の行は合っていたのに、下にコピーしたら #N/A だらけになってしまった」というケースです。
これは、範囲指定が相対参照のまま下にずれてしまったのが原因かもしれません。
ここがポイント 👆
範囲を選んだあとに F4キーを押して、$A$2:$C$100 のように絶対参照にしてみてください。これで、コピーしても範囲が固定されます。
上から順番に確認する診断フロー
- 検索値は、範囲の一番左の列に入っていますか?
- 最後の引数は FALSE(または 0)になっていますか?
- 近似一致を使う場合、参照表は昇順に並んでいますか?
- 検索値と範囲、どちらも文字列/どちらも数値で揃っていますか?
- 全角・半角・前後のスペースは大丈夫ですか?
- 範囲指定は絶対参照(
$付き)になっていますか?
この6つを上から確認していくと、ほとんどの #N/A は解決します。
それでも解決しなかったら
実は、5つの原因がいくつか重なって発生していることもあるんです。「文字列と数値が混ざっていて、しかも全角半角もズレている」というような状態ですね。
ご自身のExcelファイルを画面に出した状態で、一緒に原因を見つけていく方が、結果的に早く・確実に解決することもあります。
