VLOOKUP関数で複数条件を指定?
Excelの表データ処理でよく使われるVLOOKUP関数ですが、複数の条件を指定して該当するデータを抽出できるのでしょうか?もちろん、2段階に分けてデータ抽出は行えますが、これを1度に行う方法があります。
2020年以降のExcelに搭載されるようになったXLOOKUP関数を利用すれば、比較的簡単に複数条件指定ができますが、VLOOKUPではどのようにすれば良いのでしょうか?
この記事では、ExcelのVLOOKUP関数を用いた、複数条件指定によるデータ抽出の方法、INDEX関数とMATCH関数を利用する方法などについて解説しますので、ぜひ参考にしてください。
【参考】:VLOOKUP 関数 |Microsoft サポート 【参考】:XLOOKUP 関数 |Microsoft サポート
VLOOKUP関数とXLOOKUP関数の違い
VLOOKUP関数を用いた複数条件指定の方法を解説する前に、VLOOKUP関数と、後から登場したXLOOKUP関数の違いについて確認しておきましょう。
VLOOKUP関数とXLOOKUP関数は、どちらもExcelでデータを検索・抽出する際に使用できる関数ですが、いくつかの大きな違いがあります。まず、表敬式で比較してみましょう。
VLOOKUP関数のメリットとデメリット
ここでは、VLOOUP関数のメリットとデメリットを見てみましょう。登場してから40年近く経過しており、今でもよく利用され、重宝されている関数の1つです。
【メリット】 VLOOKUP関数のメリットは何といっても歴史があり、利用している人が多い点にあります。
・構文がシンプルで分かりやすい ・昔からある関数のため、多くのユーザが使い慣れており、またネット上や書籍などの教材が豊富にある
【デメリット】 VLOOKUP関数のデメリットは、以下の条件を満たさなくてはならない点にあります。
・検索範囲の左端の列に検索値を含む必要がある ・取り出す列を列番号で指定する必要がある ・曖昧検索を行う場合には、オプションの引数で設定する必要がある ・複数条件検索を行う場合は、複数の条件を結合したデータを作成する必要がある
XLOOKUP関数の概要
XLOOKUP関数は、Microsoft 365のExcel及びExcel 2021、Web版Excelで利用することができます。(2024年5月時点)
XLOOKUPは垂直方向に検索するVLOOKUPと、水平方向に検索する「HLOOKUP」の両方の機能を兼ね備えた関数です。2020年に新たに登場した関数だけにメリットが際立ちますが、デメリットも気になります。とはいえ、覚えると何かと便利ですので、利用環境がある方はぜひ試してみましょう。
【メリット】 XLOOKUPは後発であることから、VLOOKUPにはない、以下のようなメリットが豊富にあります。
・検索範囲や取り出す列を自由に指定できる ・曖昧検索がデフォルトになっている ・複数条件検索を簡単に行える ・新しい機能のため、処理速度が速くなっている可能性がある
【デメリット】 VLOOKUPのデメリットはほとんどありませんが、以下のようなデメリットも存在します。
・比較的新しい関数なので、VLOOKUP関数ほどは多くのユーザが使い慣れていない ・多機能な分だけ、数式が長くなりやすい傾向にある
VLOOKUPで複数の条件を指定する方法
Excelで大量のデータから特定のデータを探すのは簡単ではありませんが、VLOOKUP関数を使い、複数条件を設定して簡単に検索することができます。ここでは、VLOOKUP関数を使って複数の条件で検索する方法について、初心者の方にもわかりやすく解説します。
VLOOKUP関数の基本
VLOOKUP関数は、検索値と一致するデータを含む行を検索し、その行の指定した列にある値を返します。基本的な書式は以下の通りです。
=VLOOKUP(検索値, 検索範囲, 列番号, [照合範囲])
VLOOKUP関数の引数は4つです。各引数の解説は以下の通りです。
•検索値:検索したい値を入力する •検索範囲:検索対象となるデータ範囲を指定する(データ範囲は別シートでも可) •列番号:検索結果として取得したい列の番号を指定する •照合範囲:曖昧検索を行う場合はFALSE、完全一致検索を行う場合はTRUEを指定する(省略可、デフォルトはFALSE)
複数の条件を指定する方法
VLOOKUP関数では、原則として検索は1つの条件のみですが、全くできないわけではありません。以下の2つの方法によって、複数の条件による検索が可能になります。また、他にはIF関数とVLOOKUP関数を組み合わせて複数条件に対応する方法もあります。
■ 方法1:&(アンパサンド)を使って条件を結合する方法 これは複数条件となる値を&でつなぐことで、条件を1つにする方法です。以下の表を例にして、手順を紹介します。
1.「商品名地域」は作業列で、複数条件の検索を行うために作成します。商品名地域の先頭行に、「=A2&C2」と入力すると、商品名と地域が合体して、A北海道と表示されます。このセルを下の各行にドラッグすると、自動的にB列とC列が結合された値が表示されます。
2.VLOOKUP関数で、作成した列を検索範囲として指定し、検索結果として取得したい列を指定します。
このように、&(アンパサンド)を使えば、離れたセルにある値を1つに結合して検索することができます。
【参考】:数式の概要| 文字列演算子|Microsoft サポート
■ 方法2:INDEX関数とMATCH関数を組み合わせて使用する 複数の条件による表操作では、VLOOKUP以外にINDEX関数とMATCH関数を組み合わせて使用する方法があります。以下の表を例にして、手順を紹介します。
数式の型は、=INDEX(配列,MATCH(検査値,検査範囲,照合の種類),列番号) となります。
1.MATCH関数を使って、検索条件に合致するデータの行番号を取得します。 2.INDEX関数を使って、取得した行番号と列番号を使って、検索結果を取得します。
MATCH関数で、指定した範囲内で検索キーに一致する値がある行番号を返します。
INDEX関数は、指定した範囲の行番号と列番号に基づいて、そのセルの値を返します。この2つの関数を組み合わせることで、表の任意の場所にあるデータを検索できます。
【参考】:MATCH 関数 | Microsoft サポート 【参考】:INDEX 関数|Microsoft サポート
その他の注意点
VLOOKUP関数は大変便利な関数ですが、使用にあたってはいくつか注意すべきことがあります。正しくVLOOKUP関数を用いたのに、エラーが出たり、期待した通りの結果が得られなかったりすることがあります。
ここでは、VLOOKUPで初心者がミスを犯しやすい誤り、注意点などについて紹介します。
■ 検索範囲の一番左の列が検索キーの列であること VLOOKUP関数は、検索範囲の1番左の列を検索キーとして使用します。そのため、検索キーの列が左端以外の列にある場合は、エラーが発生します。
■ 検索範囲に空白セルが含まれている場合 VLOOKUP関数は、空白セルを無視して検索を行います。そのため、検索範囲に空白セルが含まれている場合、意図した結果が得られない場合があります。
■ 検索キーが複数該当する場合 VLOOKUP関数は、検索キーが複数該当する場合、最初の該当キーのみを検索対象とします。そのため、意図した結果が得られない場合があります。複数抽出を行うには、キーが重複しないようにキーにあらかじめ連番を振っておくなどの対応方法があります。
■ 参照範囲の列数が検索範囲の列数よりも多い場合 VLOOKUP関数は、参照範囲の列数が検索範囲の列数よりも多い場合、エラーを返します。引数で指定した列数が誤っていないか確認するようにしましょう。
■ 検索キーが見つからない場合 VLOOKUP関数は、検索キーが見つからない場合エラーを返します。エラーを回避するには、「FALSE引数」を指定して、部分一致検索を行います。あるいは、「IFERROR関数」などを用いて、エラーが発生した場合に別の値を表示する方法もあります。
VLOOKUP関数を活用しよう
この記事ではVLOOKUP関数を用いた、複数条件指定によるデータ抽出の方法、INDEX関数とMATCH関数を利用する方法、VLOOKUP関数利用時の注意点などを解説しました。
VLOOKUP関数を使いこなすことで、Excel活用スキルはアップし、業務の効率化にも貢献できます。Excelに強くなりたい方は、ぜひVLOOKUP関数をマスターすることをおすすめします。
その他VLOOKUP関連記事
その他、VLOOKUPに関連する内容は、下記の記事でもご紹介しています。ぜひ参考にご覧ください。
VLOOKUP関数で複数条件を指定する?簡単にできる方法を図解
VLOOKUPで別シートを参照するには?記述方法や実践例を解説
VLOOKUP関数でエラーが出た?#REF!エラーなどの解決法を詳しく解説
VLOOKUP関数がうまく反映されない?その原因と対策を図解
VLOOKUPとIFの組み合わせで何ができる?便利な使い方を解説
VLOOKUPで部分一致検索するには?ワイルドカード使用法を解説
VLOOKUPとXLOOKUPの違いとは?使い方を図解で解説
VLOOKUPで0を表示しない方法とは?発生原因と対処法を解説
マイナビエージェントに無料登録して
転職サポートを受ける
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから