経理部員のプログラミング勉強日記

経理、プログラミング、データ分析などを生業にする30代男性会社員の行動記録です。

Excel関数 VLOOKUP関数がうまく機能しない場合のありがちな原因 ~表示形式とデータ型~

「VLOOKUP関数を使っているんだけど、検索値がマスタにあるのにエラーが出てしまう」

こういう質問をいただくことがあります。

一番ありがちなのは、VLOOKUP関数の1番目の引数で指定する「検索値」と2番目の引数で指定するデータ範囲の左端のデータ型がずれているケースです。


検索値:数値型 ⇔ データ範囲の左端:文字列型

         または、

検索値:文字列型 ⇔ データ範囲の左端:数値型

このような場合は、両方とも数値型または文字列型に揃えれば解決します。
そう言うと、
「どちらも文字列にしているのにうまくいかない」と言われてしまうことがあります。

ありがちなのは、表示形式を文字列にしているだけでデータ型が文字列型になっていないケースです。表示形式とデータ型は別物ですので注意しましょう。必ずデータ型を揃える必要があります。

さて、文字列型を数値型にするのはわりとカンタンなのですが、
数値型を文字列型にするのは少しめんどうです。
やり方は2種類あります。

 ①TEXT関数を使う
 ②区切位置指定ウィザードを使う

①は「=TEXT(A1,0)」のようにして、数値型を文字列型にしたセルをコピーし、
形式を選択して「値」として貼り付けすることで、データ型を文字列型にすることができます。

②は使っている人が少ないような気もしますが①よりもカンタンです。
まず文字列型したいセルの範囲を選択し「区切位置指定ウィザード」を表示します。
f:id:youhei9999:20180316000419p:plain

「次へ」をクリックします。
f:id:youhei9999:20180316000603p:plain

さらに「次へ」をクリックします。
f:id:youhei9999:20180316000629p:plain

データ形式に「文字列」を選択して「完了」をクリックします。
f:id:youhei9999:20180316000640p:plain

これでデータ型が文字列型になります。
f:id:youhei9999:20180316000737p:plain