VLOOKUP関数を使っていると、さらに条件を加えて絞り込んだ検索ができないだろうかと考えることがあるでしょう。VLOOKUP関数は、1つの条件のみ使用するのが基本です。検索の方法を少し工夫して、複数条件でも検索できる方法をご紹介します。
今回は、「関数VLOOKUPで複数条件で検索する方法と使用するケース」です。
※本記事で使用したExcelのバージョンは、「Microsoft® Excel® for Microsoft 365 MSO (バージョン 2206 ビルド 16.0.15330.20260) 64 ビット」です。
複数の条件を使用してVLOOKUPで検索するケース
項目を細かく分けているデータから検索する場合などでは、複数の項目に合致したデータを取り出す必要が出てくるかもしれません。また蓄積したデータを別の形式に集計したい場合でも、複数条件が指定できれば集計がしやすくなります。
具体的によく使われるのは次のようなケースです。
- 売上一覧から、部課名と担当者名で売上金額を取り出したい
- 店舗一覧から、エリアと店名で電話番号を取り出したい
- 在庫一覧から、在庫なしの特定の商品の発注状況を知りたい
2つ以上の条件を設定する方法
VLOOKUP関数は検索値を1つしか指定できません。そのため、「2020年」の「新宿店」の「売上金額」を検索したいというように検索値が2つ以上ある場合には、検索値を1つにする工夫が必要です。
複数条件を指定するポイントは2つ。
- 検索値を入力するセルを2つ以上用意する
- 範囲となる表に検索用の列を用意して、検索する複数の列を1つの列にまとめて表示する
見本では「商品一覧」から「社名」「品目」の2つの条件を指定して、「入数」を検索しています。この見本を元に操作方法をお伝えします。
検索用の列を用意する
はじめに、2つの条件を結合して1つの列に用意しておきます。
用意した検索用の列は、関数の引数として設定するときに選択範囲の左端になければなりません。表の中に列を追加することもできますが、わかりやすいように表の左端に列を追加するのがおすすめです。

追加したセルには、社名と品目を「&」を使って結合させます。
数式バーに「=」を入力し、同じ行の「G4」をクリックします。続けて、「&」を入力して「H4」をクリックしましょう。「=G4&H4」となり、「Enter」で確定すると「Aボールペン」のように2つのセルが結合された表示になります。

VLOOKUP関数を使用する
結合したセルを使って、左側に用意した検索欄にVLOOKUP関数を使用して「入数」を取り出しましょう。
ここで、簡単にVLOOKUP関数の数式と今回引数に指定する内容を確認しておきましょう。
【VLOOKUP関数の数式】
=VLOOKUP(検索値,範囲,列番号,検索方法)
- 検索値:「社名」&「品目」F3からL11
- 範囲:右側の表「F3からL11」
- 列番号:「入数」の列は左から「6」列目
- 検索方法:完全一致は「FALSE]、近似値は「TRUE」を入力。今回は完全一致。
これらを参考にして、「D4」セルに数式を入れていきます。
数式バーに「=VLOOKUP(」を入力し、左の表の「B4」と「C4」を「&」でつなぎます。「,」を入力し、F3からL11をドラッグして範囲を指定しましょう。「,」で区切り、取り出す値のある列を選択範囲の左から何番目かの数値で入力してください。「,」で区切り、検索方法を入力します。今回は2つの検索値と「社名&品目」の値が完全に一致する値を取り出したいため、完全一致の「FALSE」を入力し、「Enter」キーで確定してください。
「=VLOOKUP(B4&C4,F3:L11,6,FALSE)」と入力できました。

「社名」と「品名」のセルにまだ何も入っていない場合、関数を入れたセルに「#N/A」と表示されます。「B4」と「C4」に検索条件を入れて、「入数」が正しく表示されるか試してください。

この方法で検索用の列と検索値を増やせば、3つ以上の条件での検索も可能です。
検索用に用意した列を隠しておきたい場合には、列を選択して右クリックし、「非表示」を選択することも可能です。
範囲の列で指定してエラーを防ぐ
検索する表にあとからデータを追加すると、「#N/A」エラーが表示される場合があります。
新しいデータを追加したときは、その都度引数の「範囲」も変更しなくてはなりません。

データの追加の選択範囲が原因でエラーが起こることは少なくないため、あとからデータを追加できるように数値の入っているセルだけでなく、「列」で範囲を指定しておくことも可能です。
これから関数を入れる場合は、VLOOKUPの関数の「範囲」で列番号をドラッグして指定します。すでに入力してある数式を修正する場合には、範囲の部分を削除して「列番号:列番号」の形で入力し直してください。
「社名&品目」の数式と表の罫線は自動で増やすことはできないため、あらかじめ空白のセルにも関数を貼り付けておいたり、罫線を引いたりして対応しておきましょう。

まとめ
今回は、「関数VLOOKUPで複数条件で検索する方法と使用するケース」を紹介しました。VLOOKUP関数は、1つの条件のみ使用するのが基本が、検索の方法を少し工夫することで実現できます。
一度試してみてください。
