エクセル|関数編|垂直方向に検索し、条件に一致するデータを求める|VLOOKUP

エクセル|関数編|垂直方向に検索し、条件に一致するデータを求める|VLOOKUP

VLOOKUP関数は垂直方向(縦)に検索し、条件に一致するデータを求める事ができます。

=VLOOKUP(検索値,範囲,列番号,検索方法)

引数

1.検索値
  検索したい値又は、値が入力されているセルを指定する
  例)123  セル:A1

2.範囲
  検索するセルの範囲を指定する
  例)B3:D8
3.列番号
  「検索値」と一致した値が見つかった時に取り出したいデータを指定する
  指定方法は「範囲」の左列からの相対位置を指定する (左先頭を1とする)
  例)1

  範囲と列番号の関係

4.検索方法(省略可)
  検索方法を「完全一致」又は「一番近い値」を指定する
  ・完全一致 :FALSE
  ・一番近い値:TRUE(一番近い最大値のデータ)
         ※省略可(昇順に並べ替えておく必要がある)
  例)FALSE

 

 

完全一致検索

支店コードと一致する支店の利益を求める

次の売上表から支店コード「123456」と一致する支店の利益をVLOOKUP関数を使用して求めたいと思います。

求めたい利益の式をF3のセルに指定します。

・検索値  : C3
  支店コード「123456」を指定
・範囲   : C7:F12
  支店コードから求めたい利益までの範囲を指定する
・列番号  : 4
  求めたい「利益」が範囲の何列目にあるかを指定する
・検索方法 : FALSE
  支店コードと完全一致する場合を指定する

[結果]:利益(70)
支店コード「123456」は広島支店であり、その利益は「70」を求める事が出来る

列番号を変えた場合

第3引数の「列番号」を変えることで違う違うデータを求める事が出来ます。
支店コード「123456」と一致する支店の支店名を求めるには列番号に「2列目」を指定します。

[結果]:支店名(広島) 

近似値検索

近似値検索とは第4引数の「検索方法」にTRUEを指定又は省略した時の検索であり、検索したい値未満の最大値を求める方法です。

注意:検索する範囲は「昇順」であること

近似値検索(数値)

売上表から支店コード「120000」と一致する支店の利益を近似値検索を使用して求めたいと思います。

[結果]:利益(200) 
支店コード「120000」未満で最大値は名古屋支店の「100001」となり、名古屋支店の利益(200)が求められる

近似値検索(文字列)

VLOOKUP関数で文字列の近似値検索を行うと意図した結果が得られない場合があります。
文字列の検索をする場合はワイルドカードを使用する方法があります。
この場合の第4引数(検索方法)は「FALSE:完全一致」を指定し、完全一致検索とワイルドカードを使用して意図した文字列を絞り込むことが出来ます。

住所に「目黒区1丁目」の支店名を求める検索値を以下とします。
・検索値:”*目黒区1*”

[結果]:支店名(目黒支店) 

文字列検索(ワイルドカード)

文字列の検索にはワイルドカード「*、?」を使用することが出来ます。

* (半角のアスタリスク)  1文字以上の任意の文字列
? (半角の疑問符)  任意の1文字

例) 「*シャツ」 先頭が任意の文字列で「シャツ」で終わる文字列
         ”ポロシャツ”、”半袖シャツ”など
   「?シャツ」 先頭1文字と「シャツ」で終わる文字列
         ”Yシャツ”、”Tシャツ”など

関連する関数

HLOOKUP       横方向に検索し、条件に一致するデータを求める