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

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

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


これをVLOOKUPの検索範囲に適用すれば、検索値と一致するようになります。
解決策②:検索値を数値に変換する

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


これにより、検索値”0002″が数値の「2」になり、VLOOKUP検索時に一致するようになります。
解決策③:INDEXとMATCH関数を使う

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


ここで TEXT(A2,”0″) を使うことで、検索値を数値に変換し、検索先のコードと統一できます。
どの方法も状況に応じて選択可能なので、試してみてください!うまくいかなかったらまた相談してくださいね。
【補足】新しい列を作って統一する方法

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

そうですね!新しい列を作成して、そこに①または②の関数を入れ、検索に使う値を統一するのが基本的なアプローチです。
・①の方法(検索先のコードを4桁に統一)
→ 検索対象となる列に TEXT(A2,”0000″) を適用することで、すべて4桁に揃えます。
・②の方法(検索値を数値化)
→ 検索値の列に VALUE(A2) を使って数値に変換し、検索先のコード(”2″など)と一致させます。
この新しく作成した列をVLOOKUPの検索値として指定することで、正しくマッチするはずです!
Excelの仕様上、文字列のゼロ付き表記と数値は別物として認識されるため、こうした調整が必要になるんですよね。
うまくいくか試してみて、もし別の課題が出てきたらまた教えてください!
まとめ:状況に応じて使い分けよう!

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

よかった!Excelの関数って、ちょっとした違いでうまく機能しなかったりするので、解決できて何よりです。
また何か困ったことがあれば気軽に聞いてくださいね!💡
今回紹介した方法は次の通りです👇
VLOOKUPで「0002」と「2」が一致しない原因は、文字列と数値の違いにありました。
解決方法としては、
・検索先のコードを4桁に揃える
・検索値を数値に変換する
・INDEXとMATCH関数を活用する
といった方法があり、状況に応じて選べます。
新しく列を追加して統一することで、より正確な検索ができるようになるのでおすすめです!
今回紹介した方法を使えば、同じようなエラーにも柔軟に対応できるはずです。
ぜひ活用してみてくださいね!