エクセルのVLOOKUP関数で文字列を条件にして検索する方法

ここでは、エクセルのVLOOKUP関数で文字列を条件にする方法を解説します。

 

検索値の指定の仕方の説明です。

1.まずはVLOOKUP関数の形を確認

始めに、VLOOKUP関数の基本形を確認します。

 

数式の形は、次の通りです。

=VLOOKUP(検索値,範囲,列番号,検索方法)
項目名 指定する内容

検索値

検索値を値かセル番号で指定
範囲 表の範囲を指定
列番号 表示させたい値が入った列番号を値かセル番号で指定
検索方法 検索方法が完全一致か近似値かを指定

このうち、文字列を条件にするときに工夫するのは「検索値」です。

 

ちなみに、VLOOKUP関数を使う時の絶対条件として、「『検索値を検索する列』が『範囲』の一番左端の列になっている」ことを確認しておきましょう。

2.検索値に文字列を指定する方法

検索値へ文字列を指定する場合、指定の仕方は「文字列を直接指定する」方法と「セル番号を指定する」方法の2パターンあります。

 

それぞれ見てみましょう。

 

2-1.文字列を直接指定する場合

「検索値に文字列を直接指定する場合」には、「文字列を『"』で囲む」必要があります。

 

一つ例を見てみましょう。

上の表は、都道府県名と県庁所在地が載ったものです。

 

この表から検索値を「北海道」として県庁所在地を抜き出したい時、数式は次のようになります。

=VLOOKUP("北海道",A2:B7,2,FALSE)

 

反対に、「"」で囲まないとエラーになるので注意しましょう。

 

2-2.セル番号を指定する場合

「検索値に文字列をセル番号を指定する場合」には、「セル番号をそのまま」入れます。

 

一つ例を見てみましょう。

先ほどの表から検索値を「『北海道』と入った『セルD2』」として県庁所在地を抜き出したい時、数式は次のようになります。

=VLOOKUP(D2,A2:B7,2,FALSE)

 

このように、セル番号の場合には「"」で囲む必要はありません、

3.文字列が検索できない?原因と対処法

最後に、検索値があるはずなのに正しく検索できない場合の原因と対処法を見てみます。

 

3-1.検索方法を省略している

VLOOKUP関数は、引数「検索方法」を省略していると、正しい結果が返ってきません。

 

一つ例を見てみましょう。

セルE2に、セルD2に入った値「青森県」を検索値として県庁所在地を抽出する数式をVLOOKUP関数で作りました。

 

セルE2に入れた数式は、次の通りです。

=VLOOKUP($D$2,$A$2:$B$7,2)

 

一見問題なさそうですが、結果は「仙台市」と誤った値が返ってきました。

 

これは、「検索方法」を省略したため起こった現象です。

正しい数式は、次の通りです。

=VLOOKUP($D$2,$A$2:$B$7,2,FALSE)

 

検索方法は、省略するとデフォルトが「TRUE」なので「近似値検索」になります。

 

そして、文字列で近似値検索をすると、誤った値が返ってくるのです。

 

ですから、検索値を文字列にする場合には、必ず「検索方法」に「FALSE」を入れましょう。

 

以上、参考になれば幸いです。

 


口コミ・評判のいいExcel本の紹介】


Top