エクセルLOOKUP関数で複数条件を指定して検索する方法

エクセルLOOKUP関数で、複数の条件を指定して検索する方法を紹介しています。LOOKUP関数に複数の条件を指定するには、複数の検索条件を1つにまとめる必要があります。2つ以上の条件を&、またはCONCATENATE関数で結合して1つの文字列にし、この文字列で検索します。ここでは、&を使用して、エクセルLOOKUP関数、複数の条件を指定して検索する方法を説明していきましょう。

LOOKUP関数で複数条件が必要となるのはどのような場合

LOOKUP関数で複数条件が必要となる場合

LOOKUP関数で複数条件が必要になるのは、どのような場合でしょうか。単純に複数条件で検索する場合と、検査値が検索する範囲に2つ以上同じ値がある場合です。

LOOKUP関数は検索する範囲に検査する値が2つ以上あると、行の一番右または列の一番下にある検査値を拾って値を返します。返したい正確な値を条件1つでは返せません。このような時に複数条件が必要となってきます。

エクセルLOOKUP関数、複数条件で検索する前の準備

上の表のC列に、列を挿入して式を入れます。

A2とB2を&で結合して1つの文字列にします。

C2 =A2&B2

C2に文字列「10001E102」が入ります。

この式をセル範囲「C3:C5」にコピーします。表の通りになります。

上の表が完成すればLOOKUP関数、複数条件で検索する下準備ができました。

こちらの記事もご覧ください。⇒エクセルLOOKUP関数の使い方を解説!VLOOKUP関数との違いは?

エクセルLOOKUP関数、ベクトル形式で複数条件で検索

G2に「10025B005」の合計金額を返す式を入力します。

G2 =LOOKUP(F2,C2:C5,D2:D5)

F2を検査値として検査範囲に「C2:C5」を指定します。一致する値と同じ位置にある列の値を返します。

G2には「3,000」の値が返されます。

こちらの記事もご覧ください。⇒エクセルLOOKUP関数が昇順で並び替えていない場合の対処法

エクセルLOOKUP関数、配列形式で複数条件で検索

G2に「10025A001」の合計金額を返す式を入力します。

G2 =LOOKUP(F2,C2:D5)

F2を検査値として配列にC2:D5を指定します。一致する値と同じ位置にある最終列の値を返します。

G2には「5,000」の値が返されます。

こちらの記事もご覧ください。⇒エクセルLOOKUP関数で完全一致の値のみ検索する方法

LOOKUP関数

LOOKUP関数、ベクトル形式

ベクトル形式LOOKUP関数は、1行または1列からなるセルの範囲で値を検索し、同じ位置の値を返します。正確な値を得るためには、検索範囲を昇順で並び替える必要があります。

検査値が見つからない場合は、検査範囲の中で検査値以下の最大値が返されます。検査範囲の最小値よりも検査値 が小さい場合は、エラー値#N/A が返されます。

ベクトル形式の書式と引数

LOOKUP (検査値,検査範囲, 対応範囲)

検査値 検索する値を指定します。
検査範囲 値を検索する範囲を1行または1列で指定します。
対応範囲 1行または1列でセルの範囲を指定します。範囲は検査範囲と同じサイズにします。

こちらの記事もご覧ください。⇒エクセルVLOOKUP関数で値を検索!基本から応用までマスター

LOOKUP関数、配列形式

配列形式LOOKUP関数は、配列の先頭行または先頭列から指定した値を探し、配列の最終行または最終列の同じ位置にある値を返します。配列形式LOOKUP関数は、配列の先頭行または先頭列から値を探します。正確な値を得るためには、配列の先頭行または先頭列を昇順で並び替える必要があります。

配列形式の書式と引数

LOOKUP (検査値,配列)

検査値 検索する値を指定します。
配列 検査値を検査する範囲を、配列の先頭行または先頭列にします。正しい値を得るため、配列の先頭行または先頭列は昇順で並び替えておきます。

こちらの記事もご覧ください。⇒エクセルINDEX関数とMATCH関数を使って検索、抽出する方法

複数条件で検索方法は、エクセルLOOKUP関数以外では?

エクセル検索/行列関数でLOOKUP関数と似ている関数は、VLOOKUP関数、HLOOKUP関数があります。VLOOKUP関数はセルの範囲で1列目で値を検索し、指定した列番号の列にある値を返します。HLOOKUP関数はセルの範囲で1行目で値を検索し、指定した行番号の行にある値を返します。

VLOOKUP関数、HLOOKUP関数ともLOOKUP関数と同様、検索値には1つの条件しか指定できません。検索する範囲に検索する値が2つ以上あると、VLOOKUP関数は列番号で指定した列の一番上の値を拾って返し、HLOOKUP関数は行番号で指定した行の一番左の値を拾って返します。

VLOOKUP関数、HLOOKUP関数で複数の条件を指定して検索する場合には、LOOKUP関数と同様、複数の検索条件を1つにまとめる必要があります。2つ以上の条件を&またはCONCATENATE関数で結合し、結合した1つの文字列で検索する必要があります。書式に検査値または検索値のあるエクセル検索/行列関数は、1つの条件のみの使い方になっています。

こちらの記事もご覧ください。⇒エクセルLOOKUP関数がエラーになる原因と対処法!エラー回避