• 公開日:

ExcelのVLOOKUP関数で複数条件で別シートを参照する

この記事では、ExcelのVLOOKUP関数で複数条件で別シートを参照する方法をご紹介します。

別シートを参照する際に、みだりにシートを移動したり関係ないセルを選択してしまうと、エラーになってしまうことがあります。別シートの参照はミスに気付きにくいので、丁寧に確認していきましょう。

以下では、検索値や検索条件を複数指定して別シートを参照する方法をご紹介します。

ExcelのVLOOKUP関数で複数条件で別シートを参照する方法

VLOOKUP関数で検索値を複数指定して別シートを参照する方法

検索値を複数指定したい場合、記号で値を繋ぐことで複数条件を指定することができます。以下では、複数条件の検索値を別シートで参照する方法をご紹介します。

VLOOKUP関数では検索値を1つしか指定できませんが、値を結合させることで複数条件を指定することができます。例では「当選結果」シートの選んだ数字(例:1と6と1)を結合して検索値とし、「当選番号」シートの数字1から数字3に該当した場合は検索値に紐づく「賞品」を抽出していきます。

「当選番号」シートに移動して作業用の列を追加します。①A列の列番号、②ホームタブ、③挿入、④シートの列を挿入の順に選択します。この際、追加した列が検索値を探す列になるので、必ず表の左端に列を追加してください。

A2セルに「=B2&C2&D2」を入力して、Enterを押します。

A2セルにB2セルからD2セルの値が結合された数値が表示されました。A2セルのフィルハンドルをドラッグして数式をコピーします。

これでVLOOKUP関数を入力するまでの準備が整いました。「当選結果」シートに移動してVLOOKUP関数を入力していきます。

D2セルに「=VLOOKUP(A2&B2&C2」を入力して、カンマで区切ります。「当選番号」シートに移動します。

範囲を指定します。A1セルからE9セルを選択して、カンマで区切ります。

今回、抽出したいのは5列目の賞品なので、5を入力して、カンマで区切ります。

完全一致した値を抽出したいので検索方法で「FALSE」を入力して、Enterを押します。「当選結果」シートに移動します。

D2セルに検索結果が表示されました。「&」で数値を繋ぐことで複数条件を指定して、別シートから検索値を抽出することができました。

VLOOKUP関数で検索条件を複数指定して別シートを参照する方法

検索値に紐づく値を抽出する際、条件を指定して条件に適した値を抽出します。

複数条件を指定してデータを抽出する

上記の左側の画像は、VLOOKUP関数を使って「注文票」シートに入力された作品No.の単価を「料金表」シートから抽出した表です。

ただし、会員区分が「レギュラー」の場合と「プレミアム」の場合では料金が異なるので、条件を指定してE1セルに入力された会員区分に対応する料金を抽出していきます。

以下では、その手順をご紹介します。

条件を入力する

「注文票」シートに移動します。

E1セルに条件となる会員区分(例:レギュラー)を入力します。

検索値を入力する

A4セルに検索値(例:1)を入力します。

IF関数を入力する

B4セルを選択します。=IF(E1="レギュラー"」を入力してカンマで区切ります。

IF関数を使って「もしE1セルがレギュラーの場合」という条件を論理式に指定しました。

IF関数は指定した論理式に対して「真」であるか「偽」であるかを判定します。書式は「=IF(論理式,値が真の場合,[値が偽の場合])」です。

VLOOKUP関数を入力する

カンマに続いて「VLOOKUP(A4」を入力して、カンマで区切ります。

VLOOKUP関数をIF関数の引数に指定することで、E1セルの値がレギュラーの場合は、VLOOKUP関数の結果を返すことができます。

範囲を指定する

「料金表」シートに移動します。

A1セルからD9セルを選択して、カンマで区切ります。

列番号を指定する

列番号を指定します。

レギュラー会員の料金は3列目にあるので3を入力して、カンマで区切ります。

検索方法を指定する

検索方法を指定します。

完全一致した値を返したいので「FALSE)」を入力して、カンマで区切ります。

IF関数を入力する

もう1つの条件を追加します。

カンマに続いて「IF(」を入力します。

VLOOKUP関数を入力する

IF関数の引数に注文票!E1="プレミアム"」を入力して、カンマで区切ります。

検索値を入力する

カンマに続いて「VLOOKUP(注文票!A4」を入力して、カンマで区切ります。

範囲を指定する

「料金表」シートに移動します。

A1セルからD9セルを選択して、カンマで区切ります。

列番号を指定する

列番号を指定します。

プレミアム会員の料金は4列目にあるので4を入力して、カンマで区切ります。

検索方法を指定する

検索方法を指定します。

完全一致した値を返したいので「FALSE)))」を入力して、Enterを押します。

結果が表示された

条件を指定することで、会員区分に応じた単価が「注文票」シートのB4セルに表示することができました。

下の表にも数式をコピーします。

$をつけてセルを固定する

IF関数の論理式で指定した「E1セル」とVLOOKUP関数の範囲で指定した「A1セルからD9セル」は、位置がずれることがないので「$」で固定します。

数式バーから固定したいセルを選択し、「Fn」+「F4」を押して絶対参照にしましょう。

検索値を入力して数式をコピーする

①A5セルに検索値(例:7)を入力し、②B4セルのフィルハンドルをドラッグして数式をコピーします。

結果が表示された

適切な位置を固定することで下の表にも結果が表示されました。

以下で、「会員区分」をプレミアムに入れ替えた場合、単価が変わるのか試してみましょう。

条件をプレミアムに替える

E1セルに「プレミアム」と入力します

結果が表示された

「会員区分」をプレミアムに入れ替えることで、B4セルとB5セルにプレミアム会員の料金を表示することができました。