vlookup関数で陥る文字列と数値の違いのワナ
VLOOKUP関数で、数式はあっているのに、どうしても#N/Aエラーになり検索できない場合があります。
そんな時は、文字と数値の違いを疑ってみて下さい。
その原因は?セルの表示形式の違いを疑いましょう!
数式は正しいのになぜかエラーになってしまう。下図のように、まったく同じ数式で、同じ1という値を入力しているのに、片方は#N/Aというエラー値が返ってきてしまう事があります。これは何故なのでしょうか?
エクセルでは、同じ1という数字を入力しても、文字列として扱われる場合と、数値として扱われる場合があります。これはセルの表示形式によって変わります。
ですので、このような場合、1という数字が文字列になっているか、数値になっているかを確認してみて下さい。
対応方法は?
書式が中央揃えになっている場合、文字列であるのか、数値であるのか判別しづらいので解除して下さい。
書式が文字列の場合は左端に、数値の場合は右端に表示されるので、文字列の1と数値の1が判別できます。
対応方法としては、文字列になっているセルの書式を標準にする。ただし、書式を変えただけでは直らないので、必ず値を入力し直して下さい。
Youtube動画で詳しく解説しておりますので、よろしければ御覧ください。
さらなる失敗として
販売管理システムなどの基幹システムからCSV出力したデータをExcelで開いた時に、本来、文字列であるコード番号が数値に変換されてしまった。
それを書式だけ文字列にした。
→書式を変更しただけの状態では、VLOOKUP関数では数値として扱われるのに、セルの左に表示されるので見た目は文字列。そんな得体の知れないデータになる。
更にドツボに陥ります。
まとめ
こんな事も常に注意して使うようにしましょう。
- 数値だけのコード番号の場合、文字列と数値の違いで検索できない可能性がある。
- 文字列と数値の違いは、書式が文字列なのか、標準なのかの違い。
- ただし書式を変更しただけでは回復しない。再入力が必要になる。
→再入力しないと更にドツボにハマる場合がある。 - センタリングしていると、文字列と数値の違いも把握しづらい。