【VLOOKUPで#N/Aが出る人へ】原因はほぼ3つ|0始まり品番はTEXT関数で5秒解決
30分、Excelとにらめっこしました。
書き方は合ってるはず。でも「#N/A」が消えない。
原因は、数字の"見えない違い"でした。
VLOOKUPって便利ですよね。でも「#N/A」に詰まって、諦めかけた経験、ありませんか?
私も以前は「なんで?」と何度も数式を書き直して、最終的にVLOOKUPを諦めていました😂
でも今は、#N/Aが出ても5秒で当たりがつきます。
原因はほぼ3パターンに絞れるんです💡
この記事でわかること:
✅ VLOOKUPで#N/Aが出る3つの原因
✅ 0始まりの品番でマッチしない理由と解決法
✅ TEXT関数で桁をそろえる書き方
私の仕事でのVLOOKUP
私は製造業の技術部で働いています。
編集中の資料に、データベースから品番に対応する情報(品名・仕様・在庫など)を自動で引っ張ってくる。この作業でVLOOKUPを頻繁に使っています。
VLOOKUPを使えるようになるまではデータを見比べながらコピペで転記していました。
今はVLOOKUPに任せて、空いた時間で別の仕事に取り掛かれます。(地味ですが、1回あたり10分は変わりました)
#N/Aが出る3つの原因

ここを押さえると、ほとんどの#N/Aは解決できます。
原因①|検索値の「型」が合っていない
見た目は同じ「00123」という品番。でも、片方は数値、片方は文字列。
これだけでVLOOKUPはマッチしてくれません。
見分け方は簡単です。
数値:セルの中で右寄せになる
文字列:セルの中で左寄せになる
0から始まる品番は、数値として扱われると頭の「0」が消えて「123」になってしまいます。文字列なら「00123」のまま。
これが私の#N/Aの最大の原因でした。
原因②|検索値が範囲の一番左にない
VLOOKUPは、検索する値が範囲の一番左の列にある必要があります。
`=VLOOKUP(A2, $B$2:$D$100, 2, FALSE)`
この書き方だと、B列に検索値がある前提で動きます。
A列にある値を探したい場合は、範囲を「$A$2:$D$100」にする必要があります。
意外と、ここで詰まります。
原因③|余分なスペース・全角半角の違い
目視ではわからないのに、データ側に半角スペースが1つ入っているだけでマッチしません。
「ABC123」と「ABC123 」(末尾にスペース1つ)は、VLOOKUPにとっては別物です。
全角と半角の違いも同じです。
解決策|TEXT関数で桁をそろえる

0始まりの品番で#N/Aが出るときは、「TEXT関数」で桁をそろえる方法が効きます。
`=TEXT(A1,"00000")`
この書き方で「123」が「00123」に変換されます。
5桁に揃えたいなら「"00000"」、6桁なら「"000000"」です。
検索値とデータベース側、両方をTEXT関数で揃えると、型も揃って一発でマッチします。
VLOOKUPで迷子になったら、まず「型をそろえる」。これだけで8割は解決します。
それでもダメなときは
どうしても解決しないときは、以下を試してみてください。
余分なスペースを取り除く:`=TRIM(A1)`
検索値を別セルでコピペし直す(形式が変わることがあります)
検索範囲を「絶対参照」で固定する(`$`マークを使う)
特に多いのが、コピーしたときに検索範囲がズレるパターンです。
`A2:D100` のままコピペすると `A3:D101` に動いてしまって、#N/Aになります。`$A$2:$D$100` のように `$` で固定すれば解決します。
絶対参照については、別の記事で詳しく書いています。
まとめ
✅ #N/Aの原因は、ほぼ「型」「位置」「スペース」の3つ
✅ 0始まりの品番は、TEXT関数で桁をそろえる
✅ TEXT関数の書き方:`=TEXT(A1,"00000")`
✅ それでもダメなら、TRIMとコピペし直しを試す
VLOOKUPで悩む時間が減れば、その分、別の仕事が進みます。
「エクセル、もう少し仲良くなれるかも」——そんな瞬間が、きっと来ますよ😊
📚 Excelの時短ワザをマガジンにまとめました。気になる記事があったら覗いてみてください。
時短ラボでは、会社員の「めんどくさい」を少しでも減らすPC時短術を発信しています。
この記事が参考になったら、スキやフォローで応援してもらえると励みになります🙏
はじめての方は自己紹介記事もぜひ☕
次の記事もきっとお役に立てるはずです。
最後まで読んでいただきありがとうございました。
時短ラボ
