• 公開日:
  • 更新日:

ExcelのVLOOKUP関数の検索値(1番目の引数)について

この記事では、ExcelのVLOOKUP関数の検索値(1番目の引数)についてご紹介します。

検索値を指定する4つの方法と指定する際の注意点をご説明します。

検索値が該当する場合でも、正しく指定できていない場合は値が存在しないという意味の#N/Aエラーなどが返される原因にもなるので、一度確認してみてください。

VLOOKUP関数について

検索値(1番目の引数)の説明の前に、VLOOKUP関数の機能について簡単にご紹介します。

VLOOKUP関数の説明

VLOOKUP関数は指定された範囲の左端の列で特定の値を検索して、該当する値がある場合は同じ行から指定した列のデータを取り出します。

例で説明すると、まず検索したいセル参照または文字列(例:A9セル)を指定した範囲(例:A2セルからD6セル)の左端の列(例:氏名)で探します。

該当する値がある場合は、指定した列(例:2列目)の値を同じ行から取り出して、結果(長野県諏訪郡友之町)を返します。

上記のような検索方法がVLOOKUP関数の基本的な動きです。

ExcelのVLOOKUP関数の検索値(1番目の引数)について

まず、引数とは関数の処理や計算をするために渡す値であり、必要な「情報」または「材料」のことです。

検索値は、データを探すためのキーワードです。VLOOKUP関数では検索値に紐づく値を抽出するので、正しく指定されていないと結果を返すことができません。

以下では、VLOOKUP関数の書式「=VLOOKUP(検索値,範囲,列番号,[検索の型])」の内、第1引数の「検索値」についてご説明します。

検索値(1番目の引数)の注意点

検索値を指定する上で、注意点を2つご紹介します。

検索列の位置

検索列の注意点

検索値を探す列が範囲の「左端」にあることを確認しましょう。

VLOOKUP関数を扱う上で重要なのは検索列です。

VLOOKUP関数は指定した範囲の左端列の中から該当する値があるかないかを判断するので、検索列が2列目以降にある場合は正しい検索ができないのでご注意ください。

例えば上記の画像のように、検索値(例:¥100)に紐づく範囲の1列目の値を抽出することはできません。

文字表記の区別

大文字小文字の区別

検索値に大文字と小文字が混在していないかを確認しましょう。

全角文字と半角文字は、かな入力もローマ字入力も区別することが可能ですが、大文字と小文字はローマ字入力の場合は区別されずに同じ値として認識されてしまいます。

例えば上記の画像のように小文字の「a」は「A」と同じ値だと認識されて、「1」が返されてしまいます。

また、検索値と検索列の値が一致しているように見えても、表記の違いなどで一致していないと判断されることがあります。

検索値が一致しない原因となる表記などの違いは、以下の記事でご紹介しています。

ExcelのVLOOKUP関数で文字列はあるのにエラーになる

検索値(1番目の引数)の指定方法

検索値の指定方法は主に4つあります。

セル参照で指定する

検索値をセル参照で指定する

商品名「みかん」に紐づく「価格」を抽出したい場合、E2セルのような検索値を入力するセルをあらかじめ作成して検索したい「商品名」を入力すると、E2セルの値を検索値に指定できます。

指定方法は「=VLOOKUP(E2,A2:C5,3,FALSE)」です。

文字列で指定する

検索値を文字列で指定する

商品名「みかん」に紐づく「価格」を抽出したい場合、検索値に指定したい文字列をダブルクォーテーション("")で囲むと文字列を検索値に指定できます。

指定方法は、「=VLOOKUP("みかん",A2:C5,3,FALSE)」です。

数式で指定する

検索値を数式で指定する

VLOOKUP関数は関数や「1+1」などの数式も検索値に指定することができます。

例えば「総合得点」の最高得点獲得者の「氏名」を抽出したい場合、MAX関数を検索値に指定することで、総合得点が1番高い値を検索値として指定することができます。

指定方法は「=VLOOKUP(MAX(A2:A5),A2:E5,5,FALSE)」です。

MAX関数は引数に指定した数値またはセル範囲の最大値を求めます。書式は「=MAX(数値1,[数値2],・・・)」です。

MAX関数の使い方などの詳細は、以下の記事でご紹介しています。

エクセルのMAX関数の使い方|最大値を求める

複数条件で指定する

検索値を複数条件で指定する

VLOOKUP関数は検索値が重複している場合に範囲の1番上の値しか返すことができませんが、複数条件を検索値に指定することでそれぞれの値を検索することができます。

例えば同じ「商品名」を検索値に指定して「価格」を抽出したい場合、いちごは同じ列に複数あるため「産地」と結合した重複していない値をA列に作成します。

A列を検索列にして、「商品名」いちごと「産地」福岡を&で繋いだ値を検索値に指定することで、「価格」¥450を抽出できます。