vlookup関数で陥る文字列と数値の違いのワナ


VLOOKUP関数で、数式はあっているのに、どうしても#N/Aエラーになり検索できない場合があります。
そんな時は、文字と数値の違いを疑ってみて下さい。

その原因は?セルの表示形式の違いを疑いましょう!

数式は正しいのになぜかエラーになってしまう。下図のように、まったく同じ数式で、同じ1という値を入力しているのに、片方は#N/Aというエラー値が返ってきてしまう事があります。これは何故なのでしょうか?

エクセルでは、同じ1という数字を入力しても、文字列として扱われる場合と、数値として扱われる場合があります。これはセルの表示形式によって変わります。

excel001

ですので、このような場合、1という数字が文字列になっているか、数値になっているかを確認してみて下さい。

対応方法は?

書式が中央揃えになっている場合、文字列であるのか、数値であるのか判別しづらいので解除して下さい。

excel003

書式が文字列の場合は左端に、数値の場合は右端に表示されるので、文字列の1と数値の1が判別できます。

excel004

対応方法としては、文字列になっているセルの書式を標準にする。ただし、書式を変えただけでは直らないので、必ず値を入力し直して下さい。

Youtube動画で詳しく解説しておりますので、よろしければ御覧ください。

さらなる失敗として

販売管理システムなどの基幹システムからCSV出力したデータをExcelで開いた時に、本来、文字列であるコード番号が数値に変換されてしまった。
それを書式だけ文字列にした。
→書式を変更しただけの状態では、VLOOKUP関数では数値として扱われるのに、セルの左に表示されるので見た目は文字列。そんな得体の知れないデータになる。

更にドツボに陥ります。

まとめ

こんな事も常に注意して使うようにしましょう。

  • 数値だけのコード番号の場合、文字列と数値の違いで検索できない可能性がある。
  • 文字列と数値の違いは、書式が文字列なのか、標準なのかの違い。
  • ただし書式を変更しただけでは回復しない。再入力が必要になる。
    →再入力しないと更にドツボにハマる場合がある。
  • センタリングしていると、文字列と数値の違いも把握しづらい。

コメントは受け付けていません。

このページの先頭へ