Excel VLOOKUP関数 複数条件で検索する方法

2020年5月13日

VLOOKUP関数は一つのセルを検索値として検索を行う関数であり

そのままでは複数条件の検索は不可能です。

この記事では複数条件での検索を行う応用法を紹介します。

XLOOKUP関数でも同様の方法で対応可能です。

複数条件で検索する手順

例題

下記の例を元に紹介します。

検索対象として魚、料理、価格を項目として持つ台帳を検索します。

検索条件としてI4に魚(カツオ)、J4(刺身)に料理を指定し、

C列(魚)~D列(料理)を検索し、両方を満たすE列の価格(\500)を表示します。

例題の図解

例では2列ですが、3列以上でも同様の方法で対応可能です。

検索用の列を文字列結合で作成

台帳の一番左に検索対象である「魚」と「料理」を

&演算子CONCAT関数で文字列結合した検索キー (名称は任意) 列を追加します。

この列はVLOOKUP関数の制限のため表の左端である必要があります。

検索条件が3列以上ある場合はそのまま後ろに繋げていけば問題ありません。

検索対象表の左端に「魚」と「料理」を文字列結合した検索キー (名称任意) の列を追加

同様に検索を行う側にも検索キー列を追加します。

こちらは列の位置に制限がないため右端でも途中でも構いません。

検索側にも検索キーを追加

3列以上は続けて結合すれば問題ありません。

表側と結合する項目の順番があっている必要があります。

今回では魚→料理の順番で繋げていますが、この順番は任意です。

ただし両方の検索キーが同じ順番である必要があります。

VLOOKUP関数を設定

これまで作成した両方の検索キーを使い、下記のVLOOKUP関数を組めば完成です。

=VLOOKUP(検索値,検索範囲,表示項目の列番号,FALSE)
VLOOKUP関数の設定値(引数)の図解

XLOOKUP関数ではこのようになります。

=XLOOKUP(検索値,検索範囲,戻り範囲)
XLOOKUP関数の設定値(引数)の図解

この検索キーは存在するだけでよく、常に表示しておく必要はないため

この列は非表示にしても構いません。

検索キーを非表示にした状態のキャプチャ

関連記事

「VLOOKUP関数 複数」についてのガイド

XLOOKUP(VLOOKUP)関数の使い方・活用方法の記事一覧