VLOOKUPで#N/Aが消えない原因と対処法|実務で多い3つのミス

実務トラブル解決

「この数値、合ってる?」

部長にそう言われた瞬間、背中が一気に冷たくなりました。

月次売上の報告資料。
売上データと顧客マスタをVLOOKUPで結び、単価と顧客名を表示させる。
いつも通りの作業のはずでした。

ところが、一部のセルだけ「#N/A」。

会議まであと20分。
なぜか分からない。式も合っているはず。
何度見直しても原因が見つからない。

この経験、ありませんか?

実はVLOOKUPの#N/Aは、難しいバグではありません。
ほとんどの場合、“単純なズレ”が原因です。

今回は、実務で本当によくある原因を3つ、具体例付きで解説します。


原因①:見えないスペースが入っている

一番多い原因が「スペース」です。

例えば、売上データ側が

A001␣(後ろにスペースあり)

顧客マスタ側が

A001(スペースなし)

見た目は同じです。
しかしExcelは、これを別の文字列として扱います。

試しに次のように入力してみてください。

A1:A001␣(最後にスペース)
A2:A001
A3:=A2=B2

結果は「FALSE」になります。

たった1つのスペースで一致しません。

VLOOKUP スペース 一致しない 例
見た目は同じでも、スペース1つで一致しません。

特に注意が必要なのは、

・他システムからコピペしたデータ
・CSV取り込みデータ
・外部から送られてきた一覧

です。

対処法はシンプルです。

=TRIM(A2)

これで前後の余計なスペースを削除できます。

焦っていると基本を忘れます。
まずは「スペース」を疑う。これが第一歩です。


原因②:TRUE(近似一致)のままになっている

次によくあるのが、引数の設定ミスです。

=VLOOKUP(D2, A2:B4, 2, TRUE)

このTRUEは「近い値を探す」という意味です。

例えば、次の表を用意します。

A列(品番) | B列(単価)
1001 | 500
1005 | 800
1010 | 1200

D2に「1002」と入力します。

D3に
=VLOOKUP(D2, A2:B4, 2, TRUE)

D4に
=VLOOKUP(D2, A2:B4, 2, FALSE)

と入力すると、

TRUE → 500
FALSE → #N/A

になります。

TRUE 近似一致 FALSE 例
品番や社員番号は必ずFALSE。

TRUEは「1002に一番近い小さい値(1001)」を拾います。

品番や社員番号でこれをやると、
“間違った数字が正しく表示される”という一番怖い状態になります。

実務では、ほぼ確実にFALSEを使います。

=VLOOKUP(A2, B2:C4, 2, FALSE)

この設定を確認するだけで、エラーは一気に減ります。


原因③:参照範囲が古いまま

地味ですが、非常に多いのがこれです。

列を追加したのに、
VLOOKUPの範囲を修正していない。

例えば元の式が

=VLOOKUP(E2, A2:B4, 2, FALSE)

だったとします。

途中でE列を追加したのに、
範囲がA2:B4のまま。

この状態では正しい列を参照できません。

特に、

・途中で列を挿入した
・並び替えをした
・コピーして使い回している

場合は要注意です。

「列を追加したら、範囲を確認する」

これを習慣にするだけで、会議前の事故は激減します。

範囲間違い 例
列追加後は範囲を必ず確認。

応急処置としてのIFERROR

よくあるのが、

=IFERROR(VLOOKUP(…), “”)

でエラーを消す方法です。

確かに見た目は整います。

しかしこれは、原因を隠しているだけです。

エラーは敵ではありません。
「どこかがズレていますよ」というサインです。

まずは根本原因を確認しましょう。


あのとき学んだこと

会議前に焦ったあの日以降、私は順番を決めました。

① スペース確認
② FALSE設定確認
③ 範囲確認

この3つを機械的にチェックする。

それだけで、VLOOKUPで固まることはなくなりました。

Excelは難しくありません。
怖いのは「思い込み」です。

#N/Aが出たら、焦らず確認。

・スペース
・TRUE / FALSE
・範囲ズレ

まずはこの3つを疑ってみてください。

それが、怒られないExcelの第一歩です。

関連記事

コメント

タイトルとURLをコピーしました