- 公開日:
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)を入力します。
B4セルを選択します。「=IF(E1="レギュラー"
」を入力してカンマで区切ります。
IF関数を使って「もしE1セルがレギュラーの場合」という条件を論理式に指定しました。
IF関数は指定した論理式に対して「真」であるか「偽」であるかを判定します。書式は「=IF(論理式,値が真の場合,[値が偽の場合])」です。
カンマに続いて「VLOOKUP(A4」を入力して、カンマで区切ります。
VLOOKUP関数をIF関数の引数に指定することで、E1セルの値がレギュラーの場合は、VLOOKUP関数の結果を返すことができます。
「料金表」シートに移動します。
A1セルからD9セルを選択して、カンマで区切ります。
列番号を指定します。
レギュラー会員の料金は3列目にあるので3を入力して、カンマで区切ります。
検索方法を指定します。
完全一致した値を返したいので「FALSE)」を入力して、カンマで区切ります。
もう1つの条件を追加します。
カンマに続いて「IF(」を入力します。
IF関数の引数に「注文票!E1="プレミアム"
」を入力して、カンマで区切ります。
カンマに続いて「VLOOKUP(注文票!A4」を入力して、カンマで区切ります。
「料金表」シートに移動します。
A1セルからD9セルを選択して、カンマで区切ります。
列番号を指定します。
プレミアム会員の料金は4列目にあるので4を入力して、カンマで区切ります。
検索方法を指定します。
完全一致した値を返したいので「FALSE)))」を入力して、Enterを押します。
条件を指定することで、会員区分に応じた単価が「注文票」シートのB4セルに表示することができました。
下の表にも数式をコピーします。
IF関数の論理式で指定した「E1セル」とVLOOKUP関数の範囲で指定した「A1セルからD9セル」は、位置がずれることがないので「$」で固定します。
数式バーから固定したいセルを選択し、「Fn」+「F4」を押して絶対参照にしましょう。
①A5セルに検索値(例:7)を入力し、②B4セルのフィルハンドルをドラッグして数式をコピーします。
適切な位置を固定することで下の表にも結果が表示されました。
以下で、「会員区分」をプレミアムに入れ替えた場合、単価が変わるのか試してみましょう。
E1セルに「プレミアム」と入力します。
「会員区分」をプレミアムに入れ替えることで、B4セルとB5セルにプレミアム会員の料金を表示することができました。