VLOOKUP関数が合っているのに#N/Aエラーが出る原因|目に見えない空白を削除して解決する方法

VLOOKUP関数が合っているのに#N/Aエラーが出る原因|目に見えない空白を削除して解決する方法

記事
IT・テクノロジー

こんにちは、ハルです!

「VLOOKUPの数式は合っているはずなのに、なぜか#N/Aになる」

これ、Excelあるあるの中でもトップクラスにイライラする現象ですよね・・

品質管理やデータ整理の仕事をしていると、
一度は経験したことがあるのではないでしょうか?

私自身も、品質データの照合作業をしていた
頃に何度もこのエラーに悩まされました・・・

特に厄介だったのが、
「どう見ても同じ文字の羅列なのに一致しない」
というケースです👈

数式を見直しても間違いが見つからず、
参照範囲も合っている

それでも#N/Aが消えないので、
「VLOOKUPがおかしいのかな?」
と思っていました

ところが原因は、
データの最後に入っていた
たった1文字分の半角スペースでした

原因がわかれば数秒で直せるのですが、
わかるまでは意外と時間を取られます・・

もし、今まさに

「数式は合っているのに#N/Aが消えない…」

という状況なら、この記事を読み終わる頃には解決できると思います👍

【VLOOKUPで#N/Aが出る原因】

例えば検索したい値が
「A101」
だったとします

しかし、参照先データが
「A101□」
(末尾に半角スペース)

になっていた場合、Excelは
別の文字列として認識します

人間の目には同じに見えますが、
Excelは完全一致で判定するため、

「一致するデータが見つからない」
として#N/Aを返します

これがVLOOKUPで発生するエラーの中でも
特によく見かける原因の一つです

さらに、

・前に入ったスペース
・後ろに入ったスペース
・全角スペース
・CSV取込時に混入した不要文字

なども同様の原因になります。

解決策① 
置換機能で空白を削除する

急ぎで解決したい場合は、
Excelの置換機能が便利です。

【手順】

 1. Ctrl + H を押す
 2. 「検索する文字列」に半角スペースを入力
 3. 「置換後の文字列」は空欄
 4. 「すべて置換」をクリック

これだけで不要なスペースを
一括削除できます👍

解決策② 
TRIM関数を使う

データを頻繁に取り込む業務では、
TRIM関数を使う方法もおすすめです!

=VLOOKUP(TRIM(A2),参照範囲,列番号,FALSE)

TRIM関数を使うことで、
検索前に余計な空白を自動で除去できます

毎回置換する手間がなくなるため、
定期的なデータ処理では特に便利ですね!
解決策③
VBAで空白を一括削除する

毎回置換やTRIM関数が面倒な場合は、
マクロで一括処理する方法もあります👈

■ コピペで使える空白削除マクロ

Sub TrimColumnA()
Dim LastRow As Long
Dim i As Long

LastRow = Cells(Rows.Count, "A").End(xlUp).Row

For i = 2 To LastRow
    Cells(i, "A").Value = Trim(Cells(i, "A").Value)
Next i

MsgBox "空白削除が完了しました!"
End Sub

■ 使い方
① Alt + F11 を押す
② 挿入 → 標準モジュール
③ 上記コードを貼り付ける
④ マクロを実行する
これでA列の余分な空白を一括削除できます👍
それでも繰り返し発生するなら
"自動化"を考える

ただ、

・毎日データを取り込む
・毎回スペースを削除する
・毎回VLOOKUPを確認する

という作業を続けていると、
結局は同じことの繰り返しになります、、、

私も以前はデータ整理や照合作業に
かなりの時間を使っていました

ですが、よく発生する作業はExcelマクロ(VBA)で自動化するようにしたことで、
作業時間を大幅に減らすことに成功しました!

「人がやる必要のない作業はExcelに任せる」

ようになってからは、
確認作業そのものがかなり楽になりましたね

Excel業務を効率化したい方へ

現在、私が実務で使用しているExcelマクロをココナラで公開しています。

例えば、
・データ照合
・重複削除
・シート結合

など、現場でよく発生する作業を
"ボタン一つ"で実行できるようにしています!

私自身が「毎回面倒だな」と感じていた作業をもとに作ったものなので、

同じような業務をされている方には、
役立つかもしれません👈

今回ご紹介したマクロは
「空白削除だけ」のシンプル版です。

私が実務で使っている完成版は、

・データ照合
・重複削除
・シート結合

などもボタン一つで
実行できるようにしています!

特に「毎日同じExcel作業を繰り返している」という方には、かなり時間短縮になると思います。

▼ 実務効率化マクロ3点セット
(即時ダウンロード版)
Excelデータから 重複を自動で削除する マクロツール (1).jpg


まとめ

VLOOKUPで#N/Aエラーが出る場合は、まず「目に見えない空白」を
ぜひ疑ってみてください

・置換機能で削除する
・TRIM関数を使う
・マクロで自動化する

この3つを知っているだけでも、
多くのトラブルは解決できます

また、VLOOKUPだけでなく、
XLOOKUPやその他の照合処理でも
空白はエラーの原因になります

もし今、

「毎回同じExcel作業を繰り返しているな」

と感じているなら、一度その作業を
自動化できないか一度考えてみてください!

最後までお読みいただき、
ありがとうございました🙇‍♂️
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す ココナラコンテンツマーケット ノウハウ記事・テンプレート・デザイン素材はこちら