facebook

エクセルのVLOOKUP関数の使い方!手順と応用も解説

VLOOKUP関数は、エクセルを使いこなすうえで避けては通れない関数のひとつです。
使い方が少し難しく感じる方も少なくありませんが、VLOOKUP関数を覚えるとテーブルのさまざまな場所からデータを抽出できるようになるため、ぜひとも覚えておきましょう。

ここでは、VLOOKUP関数の基本的な使い方から応用まで紹介します。

エクセルのVLOOKUP関数とは?

エクセルのVLOOKUP関数とは

エクセルのVLOOKUP関数(垂直検索関数)は、表からデータを検索して該当するデータ値を取得するための関数です。
大規模なデータベースのように大量の情報が入力されたテーブルから手作業で必要な情報を探し出すことは大変ですが、VLOOKUP関数を使えば条件に合致する情報を簡単に抽出できます。

大量のデータの中にある必要な情報を探したいときは、VLOOKUP関数がまるで魔法の杖のように活躍するでしょう。

エクセルのVLOOKUP関数の使い方

エクセルのVLOOKUP関数を使うときは、セル内に次のように入力します。

=vlookup(検索する値, テーブル範囲, 列番号, [範囲検索方式])

検索する値とは「探したい情報」です。
例えば「りんご」の「仕入れ価格」を調べたい場合は、検索する値に「”りんご”」もしくはりんごと入力されているA1やD3などのセル番号を入力します。

テーブル範囲は「どの範囲を検索するのか」の指定です。
例えば商品名、仕入れ価格の順にA1からB3までデータが入力されている表であれば、「A1:B3」と入力します。

列番号は「検索条件に合致したセルの何列目の情報を取得するのか」を指定します。
この例ではA列に商品名、B列に仕入れ価格が入力されているため、りんごの右隣のセルの情報を取得したいので「2」と入力します。
りんごから2つめのセルなら「3」、3つめのセルなら「4」と指定しますが、指定できるのはりんごより右側のセルのみです。


VLOOKUP関数は検索範囲の中で検索値から右に何列目のデータを取得するのかを指定できますが、左側のデータは取得できません。
[範囲検索方式]のように[]で囲まれた部分はオプションです。
必ず入力しなければならないものではなく、必要に応じて条件を指定します。

検索する値の近似値を探したい場合は「1またはTRUE」、完全一致の値を探したい場合は「0またはFALSE」と入力してください。何も入力しなかった場合はTRUEとして扱われます。

Excel基礎セミナーの詳細はこちら

Excelマクロ・VBAセミナーの詳細はこちら

VLOOKUP関数の応用技

VLOOKUP関数は、基本的な使い方以外に複数条件やエラー処理などの応用も可能です。
以下にVLOOKUP関数の応用の一例を示します。

複数条件

VLOOKUP関数の「検索する値」は2つの組み合わせも可能です。
例えば「商品名」と「仕入先」を条件に「仕入れ価格」を検索したい場合は、次のように入力します。

=VLOOKUP(商品名&仕入先, テーブル範囲, 列番号, FALSE)

近似値

「範囲検索方式」にTRUEを指定すると近似値を検索できるため、売上ランキングなどを作成することが可能です。

=VLOOKUP(売上, テーブル範囲, 列番号, TRUE)

エラー処理

VLOOKUP関数は条件に合致するデータが見つからなかったときに「#N/A」とエラーを返します。セルにエラーが表示されているとほかの関数にも影響を及ぼす可能性がありますが、以下のようにエラー処理をすることで回避可能です。

=IFERROR(VLOOKUP(検索する値, テーブル範囲, 列番号, FALSE))

ワイルドカード

VLOOKUP関数を使いこなすためには、ワイルドカードを使った検索も覚えておきましょう。
ワイルドカードとは「*(アスタリスク)」のことで、次のように使うことで部分的に一致しているものを条件に指定できます。

=VLOOKUP(“*検索する値*”, テーブル範囲, 列番号, [範囲検索方式])

上記のように検索する値の前後にワイルドカードを付けて「りんご」を指定すると、「赤いリンゴ」「大きなりんごの木」など「りんご」以外の文字列が入力されているセルも抽出可能です。
文字列が入力されている場所がりんごの前のみなら「”*りんご”」、後ろのみなら「”りんご*”」と指定します。

VLOOKUP関数に関連した便利な関数

VLOOKUP関数に関連した便利な関数

データを検索できる関数は、VLOOKUP関数のほかにも

  1. XLOOKUP関数
  2. HLOOKUP関数
  3. INDEX関数
  4. MATCH関数

などがあります。それぞれの関数を活用できるとエクセルでのデータ操作や情報取得がより効率的におこなえるようになるため、ぜひ覚えておきましょう。

①HLOOKUP関数

HLOOKUP関数は、VLOOKUP関数が縦方向にデータを検索するのに対して、横方向にデータを検索する関数です。ヘッダーなど行方向に入力された値の中から検索したい値を探し、縦方向にデータを参照して取得します。

=HLOOKUP(検索する値, テーブル範囲, 行番号, [範囲検索方式])

②INDEX関数

INDEX関数は、行と列の位置を指定してセルの値を取得する関数です。
縦横それぞれに検索条件を当てられるため、複雑なデータ構造から情報を抽出するのに役立ちます。

=INDEX(テーブル範囲, 行番号, [列番号])

③MATCH関数

MATCH関数は、指定した値がデータ内でどこに位置するかを見つける関数です。
ほかの関数と組み合わせて使うことが多く、関数内で行や列の番号を取得する際にMATCH関数を使用します。

=MATCH(検索する値, 検索対象, [一致の種類])

④INDEX関数、MATCH関数の組み合わせ

上記で紹介したINDEX関数、MATCH関数を組み合わせて使うことで、より高度な検索も可能です。

VLOOKUP関数では検索範囲を右側に、HLOOKUP関数では下側にしか探せませんでしたが、INDEX関数とMATCH関数を組み合わせると検索方向の指定なく縦横無尽にデータを取得できます。

=INDEX(抽出したいデータの範囲, MATCH(検索する値, 検索対象の範囲, [一致の種類]), [列番号])

XLOOKUP関数

XLOOKUP関数は、Excel2021以降もしくはMicrosoft365で使える関数で、VLOOKUP関数とHLOOKUP関数を組み合わせたような性能を持った関数です。

前述のとおり、VLOOKUP関数は右方向、HLOOKUP関数は下方向にのみ入力されているデータしか取得できません。そのため、INDEX関数とMATCH関数の組み合わせがよく利用されていましたが、XLOOKUP関数の登場でより簡単に複雑なデータ検索が可能になりました。

=XLOOKUP(検索する値, 検索範囲, 結果の範囲, [一致しない場合の値], [検索モード], [一致の種類])

例えばA列に日付、B列に仕入れ業者名、C列に商品名、D列に仕入れ価格、E列に売価が入力されているテーブルで「商品名」に対して「仕入れ業者名」を取得したい場合、VLOOKUP関数では仕入れ業者名(B列)よりも左側に商品名を配置する必要がありました。

つまり、前述の構造では商品名から仕入れ業者名は検索できません。
ところが、XLOOKUP関数を使うとテーブルの構造を変えずに仕入れ業者名を取得できます。

=XLOOKUP(“りんご”, C1:C10, B1:B10)

またXLOOKUP関数は、検索値が見つからなかった場合も指定可能です。
以下のように指定すると、テーブルにりんごが存在しなかった場合に「該当なし」と表示されます。

=XLOOKUP(“りんご”, C1:C10, B1:B10, “該当なし”)

またXLOOKUP関数はスピルにも対応しているため、複数の結果をまとめて取得し表示することも可能です。以下のように指定すると、仕入れ価格と売価をまとめて取得できます。

=XLOOKUP(“りんご”, C1:C10, D1:E10, “該当なし”)

以上のようにエクセルにはさまざまな条件で結果を検索または抽出できる関数が用意されています。先に紹介した応用技も含めVLOOKUP関数は便利な関数ですが、できることとできないことを把握し、適切な関数を用いることが大切です。

エクセルのVLOOKUP関数についてまとめ

エクセルのVLOOKUP関数は、使い方を覚えれば非常に便利です。

基本的な使い方以外にほかの関数との組み合わせる応用技も豊富で、基本的な構造であれば十分にデータを使いこなせるでしょう。ただ検索できる範囲に条件があるため、データが大きくなった場合はINDEX関数とMATCH関数の組み合わせやXLOOKUP関数も使うのがおすすめです。

Excel基礎セミナーの詳細はこちら

Excelマクロ・VBAセミナーの詳細はこちら

最新情報をチェックしよう!