vlookup関数で複数条件を指定できる!但し作業列の追加が絶対条件だよ

2023年12月2日

vlookup関数ですが、条件は一つしかできないと思っていませんか?

実は、vlookup関数で複数条件を指定することができるのです!

ですが、関数を設定するだけではダメなんです。

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

この記事では、vlookupで複数条件を指定する際の作業列の追加方法を紹介するとともに、代替案として別の関数も合わせて紹介いたします。

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

スポンサーリンク

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

冒頭で述べたように、VLOOKUPで複数検索条件を与える場合は、もう一つの作業をしないと、その条件に見合った内容を取得することは出来ません。

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

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

次の表は、関東地方の都県における男女別の会員数の一覧です。

都県、性別、会員数が記載されています。上に、合計蘭(D2)があります。

男女別の会員数の一覧の画像

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

vlookupで複数条件指定の準備

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

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

セルA5に「=B5&C5」をセットする画像

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

「茨城男」表示の画像

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

A5の内容をセルA18までコピーの画像

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

コピー官僚の画像

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


vlookup関数で複数条件の指定

続けて、vlookup関数の指定を行います。

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

セット後、fxをクリックします。

fxをクリックの画像

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

「関数の挿入」画面の画像

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

vlookup指定の画像

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

関数の引数画面の画像

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

関数の引数設定の画像
  • 検索値: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が表示されます。

会員数表示の画像2

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

埼玉男の会員数表示の画像

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

埼玉女の会員数表示の画像
60爺

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

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

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

※60爺の作成したエクセルの記事について、全部まとめた記事を追加しました。役に立つ内容が満載ですので、ちょっとご覧ください。

最後に

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

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

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

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

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

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

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

60爺

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