VLOOKUP関数で複数の条件を設定し、抽出する作業を行いたいと思っている人もいるのではないでしょうか。
本記事では、VLOOKUP関数で複数条件を設定する方法やINDEX+MATCH関数を使用する方法をご紹介します。
画像を使って丁寧に説明するので、「VLOOKUP関数が苦手だ」という人も参考にしてくださいね。
- VLOOKUP関数で複数条件を設定する方法
- INDEX+MATCH関数で複数条件を設定・抽出する方法
VLOOKUP関数で複数条件を設定する方法
VLOOKUP関数で、「条件A」と「条件B」などの複数条件を設定したいけれどやり方がわからないという人もいるのではないでしょうか。
以下では、VLOOKUP関数で複数条件を設定する方法を紹介します。
VLOOKUP関数の使い方を知っている前提で紹介するため、VLOOKUP関数の使い方がわからない人は、「VLOOKUP関数の使い方とは?準備から基本の式の作り方を解説」を参考にしてくださいね。
STEP1.複数条件を設定する方法を押さえる
VLOOKUP関数は、「検索キー(検索値)」を使用して条件を設定します。
「条件A」と「条件B」は、「”条件A”&”条件B”」と検索キーに書くだけでは、複数条件を設定できません。 上記の画像の場合、「&」を使用して一見複数条件を与えられているように見えます。 しかし、「お菓子」を「唐揚げ」に変えてもエラーにならず、そのまま「200」と表示されています。
そもそもVLOOKUP関数は「検索範囲の一番左側」を調べてその値に沿ったセルを参照してくれるもの。 検索値が選択範囲の一番左側だけではなく、右側にもあるのでうまく行きません。
では、検索条件を複数指定するためにはどうしたらいいでしょうか。
見栄えが悪くなってしまいますが、選択範囲の一番左側に「作業列」を作成する必要があります。
STEP2.作業列を作成する
すでに表を作成している場合は、表の一番左側の行を選択します。今回の場合「A」をクリックし全体を選択後、左クリック。「左に1列挿入」を選択します。 作業列に、検索したい複数条件を記載します。もちろん「会社1みかん」のように手で入力しても問題ありませんが、時間がかかってしまうのが難点です。
上記の画像のように、条件が書かれたセルを選択し、半角の「&」で繋げましょう。 「=B2&C2」と書いた式をドラッグしてコピーしましょう。これで下準備は完璧です。
STEP3.VLOOKUP関数を入力する
通常通りVLOOKUP関数を入力します。範囲が変わったことや、参照する列が変わることに注意して関数を入力しましょう。
これでVLOOKUP関数で複数条件を検索できました。
VLOOKUP関数では、検索条件を左端にひとまとめにする必要があることをご紹介しました。使い慣れたVLOOKUP関数を使用して、複数条件で参照したい人は上記でご紹介した方法を参考にしてください。
VLOOKUP関数以外で複数検索するならINDEX+MATCH関数もおすすめ
「VLOOKUP関数は作業列を作るのが億劫だ」「複数検索したい」という人もいるのではないでしょうか。
VLOOKUP関数以外で複数検索するならINDEX+MATCH関数がおすすめです。以下では、INDEX+MATCH関数を知らない人のためにも、基本的な使い方から説明します。
STEP1.INDEX関数を理解する
INDEX関数は、「配列形式」「セル範囲形式」の2つの使い方があります。
複数条件を検索する際のINDEX関数は、「=INDEX(参照, 行番号, [列番号], [領域番号])」と入力します。 INDEX関数は指定したセルに記入されている内容を参照してくれます。今回の場合、「=INDEX(C2:E6,2,1)」と入力しているので、「C2:E6」の範囲の、「2行目」「1列目」を参照されます。
STEP2.MATCH関数を理解する
MATCH関は、検索値が「何行目」または「何列名」にあるかを表示してくれる関数です。MATCH関数は「=MATCH(検査値, 検査範囲, [照合の型])」と使用します。 検索範囲を選ぶ際は、VLOOKUP関数のように全体を選ぶのではなく、列または行を選択することを覚えておきましょう。
STEP3.INDEX+MATCH関数をあわせて使用する
INDEX関数の行番号をMATCH関数を使って入力することで、VLOOKUP関数と同じような使い方ができます。
INDEX関数は「=INDEX(参照, 行番号, [列番号], [領域番号])」と使用し、MATCH関数は「=MATCH(検査値, 検査範囲, [照合の型])」と使用することを思い出しましょう。
併せて使用する方法は、「=INDEX(参照,MATCH(検査値, 検査範囲, [照合の型]), [列番号], [領域番号])」です。INDEX関数の「行番号」がMATCH関数に置き換わっています。 今回の場合「=INDEX(A2:C6,MATCH(C10&D10,A2:A6&B2:B6,0),3)」と入力することで、「会社1」かつ「お菓子」の「価格」が表示されました。
複数の条件を設定する方法を身につけよう
- VLOOKUP関数の場合、作業列が必要になる
- 「INDEX関数」「MATCH関数」の使い方を覚えよう
- 「INDEX関数」の「行番号」をMATCH関数に置き換える
本記事では、VLOOKUP関数で複数の条件を設定・抽出する方法をご紹介しました。
使い慣れた方法で複数条件を設定したい人は「VLOOKUP関数」を使用することをおすすめします。
また、関数の使い方を学びたい人や、スタイリッシュに関数を使用したい人は「INDEX関数」「MATCH関数」のあわせ技を身につけましょう。
本記事を参考に、VLOOKUP関数で複数の条件を設定する方法を身につけてみてはいかがでしょうか。
【関連記事】
VLOOKUP関数の使い方とは?準備から基本の式の作り方を解説
VLOOKUP関数は他の基本的な関数と比べると複雑でわかりにくい関数です。「なんとなく難しいイメージがある」「使いこなせなさそうで避けている」という方も多いのではないでしょうか。 本記事で...
VLOOKUP関数とは?役立つシーンと、基本の型を紹介
Excelやスプレッドシートを活用するときに覚えておきたい関数のひとつである「VLOOKUP関数」。なんとなく難しそうなイメージがある人も多いのではないでしょうか。 本記事では、VLOOK...
VLOOKUPで#N/Aのエラーが出たときの7つの原因と対処方法、表示させない方法を紹介
VLOOKUP関数を間違いなく入力しているはずなのに、「#N/A(ノー・アサイン)」のエラーが出てしまい困惑している人もいるのではないでしょうか。 本記事では、考えられるVLOOKUPでの...
U-NOTEをフォローしておすすめ記事を購読しよう