Excel VBA(エクセル マクロ) そのF VLOOKUPでの検索の苦労

Excelでも思ったように動かないVLOOKUP関数。
解決方法をとりあえず記載。

前回VLOOKUP関数を使用して検索をかけたが、同じ値でも検索されないことがあった。

通常のExcel関数でも同じ現象が起こった。

原因は、データの型があっていなかったことだった。

コピー元のデータ型は、外部ファイルでさまざまな型宣言がされているため統一する必要があった。


数値と文字列が混在していたため、必要となれば以下の関数を実行して文字列に統一した。

Sub 文字列変換()
Sheets("データシート").Select
Line1 = 5
Do Until Cells(Line1, 4).Value = ""
Cells(Line1, 4).Value = CStr(Cells(Line1, 4).Value)
Line1 = Line1 + 1
Loop
End Sub

CStr()関数が文字列へ変換。
4列目について5行目からデータがなくなる最終行まで、セルの値を文字列に変換してくれる。
CStr()関数をVal()関数に変更すれば数値へ変換されるプログラムとなる。

使い分けよう。


検索がうまくいかなかったときは、以下の関数でデータタイプを見て判断した。

=TYPE(D4)

Excelのシート上に書いてD4のデータタイプを見るものである。

1のときは数値
2のときは文字列

「同じ値なのになぜ検索されないの?」と思った時はTYPE関数でデータタイプを確認し、あっているか確認した。

データタイプをあわせることにより、なんとかVLOOKUP関数を操れるようになった。

次は、検索、置換をマスターだ。
忍者Admaxのテキスト広告で収入UP!

実践!ExcelデータベースTOP