vlookup関数で複数条件を指定しよう!作業列の追加が最大の鍵だよ

2023年12月2日

センセーショナルなタイトルで恐縮ですが、ウソではありません。

vlookup関数で複数条件を指定する方法はあるのですが、関数を設定するだけではダメなんです。

即ち、vlookup関数を指定して、あることを一緒にやらないと結果を手にすることはできません。

60爺

えー、関数だけじゃできないんだ!

そうなんです。○○する方法と言えば、関数を指定するだけで望む結果を得られると思いがちですが、vlookupで複数条件を指定する場合はそうではありません。

この記事では、vlookupで複数条件を指定して望む値を手にするために実施しなければならない作業を示すとともに、代替案として別関数を提示いたします。

じっくりと内容をご覧ください。

スポンサーリンク

vlookupで複数条件を指定する方法

冒頭で述べたように、VLOOKUPで複数検索条件を与える場合は、vlookup関数を設定するだけでは、その条件に見合った内容を取得することは出来ません。

複数条件に見合った内容を取得するには、「作業列の追加」が必須です。

それでは具体的に、そのやり方を見てみましょう。

次の表は、関東地方の都県における男女別の会員数の一覧です。都県、性別、会員数が記載されています。上に、合計蘭(D2)があります。

この表から、「神奈川」で「男」の会員数を抽出してみます。

vlookupで複数条件指定の準備

そのために、複数条件である「神奈川」(都県)と「男」(性別)を組み合わせた列が必要になります。
A列に、その行を作成します。

セルA5にカーソルをセットし、"=B5&C5″を入力します。

Enterを押下すると、"茨城男"と表示されます。

このセルA5の内容をセルA18までコピーします。

すると、「都県」と「性別」が連結された内容が表示されます。

これで、vlookup関数の複数条件を指定できる条件が整いました。


vlookup関数で複数条件の指定

それでは、vlookup関数の指定を行います。

カーソルを、都県+性別の会員数の項目であるD2へセットします。セット後、fxをクリックします。

「関数の挿入」画面が表示されます。関数の一覧からvlookupを見つけましょう。

vlookupを指定してOKをクリックします。

関数の引数画面が表示されます。

各引数に値をセットします。

  • 検索値:B2&C2(検索すべき項目、今は「神奈川男」となる)
  • 範囲:A5:D18(先ほど作成したれるも含む内容)
  • 列番号:4(会員数の入った列はDなのでAを1,Bを2…として4となる)
  • 検索方法:false(検索値と完全一致させる意味)

Enterを押下すると、神奈川+男の会員数が設定されました。

都県に「群馬」と入れてEnterを押下すると、群馬+男の会員数が設定されます。

さらに、性別に「女」と入れてEnterを押下すると、群馬+女の会員数が設定されます。

これで、vlookup関数で複数条件の指定を行い、その結果を手にすることが出来ました。

但し、vlookup関数では、以上のように、複数条件を満たす項目を事前に用意して、その内容を検索するという手順を踏まねば、結果を手にできないということです。

このやり方は正規の方法ではないと考える由縁です。

複数条件ではないですが、こちらの記事ではvlookupが大活躍しましたね。

vlookup関数(複数条件)の代替案

事前準備を要するvlookup関数(複数条件)の代替案がこちらです。

「INDEX関数+MATCH関数」を使うことで、新たな列の挿入のような余計な手間をかけることなく同じことが実施できるんです。

数式の形

「INDEX関数+MATCH関数」の形は次の通りです。

=INDEX(配列,MATCH(検査値1&検査値2,検査範囲1&検査範囲2,照合の種類),列番号)

ここで、それぞれの中身が何になるか確認します。

  • 配列:対象の表の値の入った部分(B5:D18)です。
  • 検査値1:都県の対象のセル(B2)
  • 検査値2:性別の対象のセル(C2)
  • 検査範囲1:配列のうち、都県の部分(B5:B18)
  • 検査範囲2:配列のうち、性別の部分(C5:C18)
  • 照合の種類:0
  • 列番号:会員数ですから3となります。

これらの値をセットすると、「INDEX関数+MATCH関数」は次のようになります。

=INDEX(B5:D18,MATCH(B2&C2,B5:B18&C5:C18,0),3)

実行する

上述した式をD2に貼り付けると、神奈川+男の会員数1273が表示されます。

都県に「埼玉」と入れてEnterを押下すると、埼玉+男の会員数が設定されます。

さらに、性別に「女」と入れてEnterを押下すると、埼玉+女の会員数が設定されます。

60爺

関数は2つあって大変そうに見えるけど、こっちの方がスマートな感じ。

こちらの関数であれば、表に何らの手を加えずに該当の値を手にすることが出来ますね。

vlookup関数は別シートにある変換表からも必要な値を抽出できます。次の解説記事をご覧ください。

最後に

vlookup関数を使って複数条件の検索をする方法を確認しました。

上述したように、vlookup関数のみでは、複数条件の検索は不可能でしたね。余分な列を追加しないとダメでした。

ですので、検索用の列が追加されるので、何か美しさが損なわれるんであまり使いたくないですね。

そこで、関数のみで検索できるやり方を別途お見せしました。

2つの関数を組み合わせることで、現在の表のまま素直に取り出せる形で、こちらがお勧めですね。

■追記:エクセルをテーマに記事をいくつか書いています

スポンサーリンク
この記事を書いた人

60爺

60路を越え、RaspberryPi と出会い、その関係でブログ開設(2017/2~)となりました。始めてみると、コツコツやるのが性に合ってしまい、漢字の記事から家の補修・将棋・windows10関係・別名・言い方などジャンルを拡大して今に至ってます。まだまだ、元気なので新たな話題を見つけて皆様に提供できればと思っています。「プロフィールはこちら