【Excel】VLOOKUPで「0002」と「2」が一致しない問題を解決する方法

未来の知恵袋
とちぴ
とちぴ

ExcelでVlookUpを使いたいのだが、今のシートの検索値が文字列で”0002″で4桁に統一されてるの。
検索先のコードが文字列で”2″になってて検索に引っかからないみたいなんだよね。
なんかいい方法ある?

 

なぜVLOOKUPで「0002」と「2」が一致しないのか?

Copilot
Copilot

なるほど、検索値と検索先のコードの表記が異なるせいでVLOOKUPの検索に引っかからないんですね。いくつか解決方法があります!

解決策①:検索先コードを4桁に揃える

Copilot
Copilot

① 検索値の統一(検索先のコードを4桁にする)
検索先のコードが”2″のように短い場合、ゼロパディングを適用して”0002″のように4桁に揃える方法です。
以下のような関数を使って、検索先のコードを4桁の文字列に統一できます。

Copilot
Copilot

これをVLOOKUPの検索範囲に適用すれば、検索値と一致するようになります。

解決策②:検索値を数値に変換する

Copilot
Copilot

② 検索値の統一(検索値を数値化する)
検索値が”0002″のようなゼロ付き文字列なら、数値に変換して検索先のコード(”2″)と統一する方法もあります。

Copilot
Copilot

これにより、検索値”0002″が数値の「2」になり、VLOOKUP検索時に一致するようになります。

解決策③:INDEXとMATCH関数を使う

Copilot
Copilot

③ INDEX & MATCHを使う
もしVLOOKUPでうまくいかない場合、INDEXMATCHの組み合わせを使う方法もあります。

Copilot
Copilot

ここで TEXT(A2,”0″) を使うことで、検索値を数値に変換し、検索先のコードと統一できます。

 

どの方法も状況に応じて選択可能なので、試してみてください!うまくいかなかったらまた相談してくださいね。

【補足】新しい列を作って統一する方法

とちぴ
とちぴ

えーとこれは、、
検索用に別の列を1個挿入して、その列に①または②関数挿入して、そこを検索値とするわけね?

Copilot
Copilot

そうですね!新しい列を作成して、そこに①または②の関数を入れ、検索に使う値を統一するのが基本的なアプローチです。

 

・①の方法(検索先のコードを4桁に統一)
→ 検索対象となる列に TEXT(A2,”0000″) を適用することで、すべて4桁に揃えます。

 

・②の方法(検索値を数値化)
→ 検索値の列に VALUE(A2) を使って数値に変換し、検索先のコード(”2″など)と一致させます。

 

この新しく作成した列をVLOOKUPの検索値として指定することで、正しくマッチするはずです!
Excelの仕様上、文字列のゼロ付き表記と数値は別物として認識されるため、こうした調整が必要になるんですよね。

 

うまくいくか試してみて、もし別の課題が出てきたらまた教えてください!

まとめ:状況に応じて使い分けよう!

とちぴ
とちぴ

OK,うまくいった!ありがとう!

Copilot
Copilot

よかった!Excelの関数って、ちょっとした違いでうまく機能しなかったりするので、解決できて何よりです。
また何か困ったことがあれば気軽に聞いてくださいね!💡

今回紹介した方法は次の通りです👇

VLOOKUPで「0002」と「2」が一致しない原因は、文字列と数値の違いにありました。
解決方法としては、

・検索先のコードを4桁に揃える

・検索値を数値に変換する

・INDEXとMATCH関数を活用する

といった方法があり、状況に応じて選べます。
新しく列を追加して統一することで、より正確な検索ができるようになるのでおすすめです!

今回紹介した方法を使えば、同じようなエラーにも柔軟に対応できるはずです。
ぜひ活用してみてくださいね!