EXCELのVLOOKUP関数で、データの型が異なるためにマッチしないときの対策
例えばA列とB列の2つを & 記号で結合し、それを「標準」書式のC列に入れた場合、具体的な例として、
C列全体をこのような関数で処理すると、この 456 というデータも、& 記号で左の2つのセルを結合したことにより、数値ではなく文字列のデータになってしまいます。
ちょっとややこしいですが、「文字列」の書式に設定したセルではなく「標準」の書式に設定したセルに456 という、数字に見える文字列のデータが入っています。
そしてこのC列のデータを元に、VLOOKUP関数を使って検索を行う場合、VLOOKUPの参照先のデータが「標準」書式だと、そこのデータはセル内が数字だけだと数値として扱われ、少しでも文字が含まれていると文字列として扱われます。
つまり、参照元の456は文字列データなのに対して、参照先のデータは数値データとなるため、検索時にマッチしません。
(参照先の456も文字列に変換したデータなら、そのセルが「標準」書式のセルでもマッチします。)
これをどう解決するのが一番いいのか不明ですが、今のところ解決した方法は以下のようにして参照元のデータを作ることです。
例えばC1のセルの関数に、
=IFERROR( VALUE( A1 & B1 ), A1 & B1 )
こんな式を入れて、下の方にオートフィルすれば、C列の456のような数字だけのデータは数値になり、文字入りのデータは文字列になるので、VLOOKUP関数で正しく参照できるようになります。
この式は、数値と文字列の区別なく、VALUE関数で数値に変換するときに、エラーだった場合はVALUE関数を使わない、という内容です。
