VLOOKUP関数で複数条件を指定する?簡単にできる方法を図解
thumb_vlookupfukusu_01
VLOOKUP関数で複数条件を指定する?簡単にできる方法を図解
アンドエンジニア編集部
2024.06.12
この記事でわかること
VLOOKUP関数の複数条件指定時の方法とINDEX関数とMATCH関数の活用方法について
Excelでデータの検索、抽出に使うVOOKUP関数と、新たに登場したXLOOKUP関数の違い
VLOOKUP関数を利用する際の注意点、間違いやすい使い方と対処法について

【VLOOKUP関連記事】

VLOOKUPとは?使い方や活用方法をわかりやすく解説

VLOOKUPで別シートを参照するには?記述方法や実践例を解説

VLOOKUP関数でエラーが出た?#REF!エラーなどの解決法を詳しく解説

VLOOKUP関数で複数条件を指定?

img_vlookupfukusu_01

Excelの表データ処理でよく使われるVLOOKUP関数ですが、複数の条件を指定して該当するデータを抽出できるのでしょうか?もちろん、2段階に分けてデータ抽出は行えますが、これを1度に行う方法があります。

2020年以降のExcelに搭載されるようになったXLOOKUP関数を利用すれば、比較的簡単に複数条件指定ができますが、VLOOKUPではどのようにすれば良いのでしょうか?

この記事では、ExcelのVLOOKUP関数を用いた、複数条件指定によるデータ抽出の方法、INDEX関数とMATCH関数を利用する方法などについて解説しますので、ぜひ参考にしてください。

【参考】:VLOOKUP 関数 |Microsoft サポート 【参考】:XLOOKUP 関数 |Microsoft サポート

VLOOKUP関数とXLOOKUP関数の違い

img_vlookupfukusu_02

VLOOKUP関数を用いた複数条件指定の方法を解説する前に、VLOOKUP関数と、後から登場したXLOOKUP関数の違いについて確認しておきましょう。

VLOOKUP関数とXLOOKUP関数は、どちらもExcelでデータを検索・抽出する際に使用できる関数ですが、いくつかの大きな違いがあります。まず、表敬式で比較してみましょう。

img_vlookupfukusu_03
【図】: VLOOKUP関数とXLOOKUP関数の比較

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で複数の条件を指定する方法

img_vlookupfukusu_04

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つに結合して検索することができます。

img_vlookupfukusu_05
【図】: 商品別・地域別売上表 VLOOKUP関数で検索
img_vlookupfukusu_06
【図】: VLOOKUP関数の引数

【参考】:数式の概要| 文字列演算子|Microsoft サポート

■ 方法2:INDEX関数とMATCH関数を組み合わせて使用する 複数の条件による表操作では、VLOOKUP以外にINDEX関数とMATCH関数を組み合わせて使用する方法があります。以下の表を例にして、手順を紹介します。

数式の型は、=INDEX(配列,MATCH(検査値,検査範囲,照合の種類),列番号) となります。

1.MATCH関数を使って、検索条件に合致するデータの行番号を取得します。 2.INDEX関数を使って、取得した行番号と列番号を使って、検索結果を取得します。

MATCH関数で、指定した範囲内で検索キーに一致する値がある行番号を返します。

INDEX関数は、指定した範囲の行番号と列番号に基づいて、そのセルの値を返します。この2つの関数を組み合わせることで、表の任意の場所にあるデータを検索できます。

img_vlookupfukusu_07
【図】:INDEX関数とMATCH関数を組み合わせて使用する
img_vlookupfukusu_08
【図】:INDEX関数とMATCH関数の引数

【参考】:MATCH 関数 | Microsoft サポート 【参考】:INDEX 関数|Microsoft サポート

その他の注意点

VLOOKUP関数は大変便利な関数ですが、使用にあたってはいくつか注意すべきことがあります。正しくVLOOKUP関数を用いたのに、エラーが出たり、期待した通りの結果が得られなかったりすることがあります。

ここでは、VLOOKUPで初心者がミスを犯しやすい誤り、注意点などについて紹介します。

■ 検索範囲の一番左の列が検索キーの列であること VLOOKUP関数は、検索範囲の1番左の列を検索キーとして使用します。そのため、検索キーの列が左端以外の列にある場合は、エラーが発生します。

■ 検索範囲に空白セルが含まれている場合 VLOOKUP関数は、空白セルを無視して検索を行います。そのため、検索範囲に空白セルが含まれている場合、意図した結果が得られない場合があります。

■ 検索キーが複数該当する場合 VLOOKUP関数は、検索キーが複数該当する場合、最初の該当キーのみを検索対象とします。そのため、意図した結果が得られない場合があります。複数抽出を行うには、キーが重複しないようにキーにあらかじめ連番を振っておくなどの対応方法があります。

■ 参照範囲の列数が検索範囲の列数よりも多い場合 VLOOKUP関数は、参照範囲の列数が検索範囲の列数よりも多い場合、エラーを返します。引数で指定した列数が誤っていないか確認するようにしましょう。

■ 検索キーが見つからない場合 VLOOKUP関数は、検索キーが見つからない場合エラーを返します。エラーを回避するには、「FALSE引数」を指定して、部分一致検索を行います。あるいは、「IFERROR関数」などを用いて、エラーが発生した場合に別の値を表示する方法もあります。

VLOOKUP関数を活用しよう

img_vlookupfukusu_09

この記事ではVLOOKUP関数を用いた、複数条件指定によるデータ抽出の方法、INDEX関数とMATCH関数を利用する方法、VLOOKUP関数利用時の注意点などを解説しました。

VLOOKUP関数を使いこなすことで、Excel活用スキルはアップし、業務の効率化にも貢献できます。Excelに強くなりたい方は、ぜひVLOOKUP関数をマスターすることをおすすめします。

プログラミングの関数とは?役に立たない?学び方と実務で役立つスキル
Pythonでのエクセル操作とは?できることや自動化、導入方法を紹介
気になる人のXをフォローしよう!
公式LINE
公式YouTube
マイナビITエージェント

編集部オススメコンテンツ

Sponsored
【年収±診断】6つの質問に答えて、真の市場価値をチェック!
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

お問い合わせ・情報提供
はじめて転職される方へ
SE・システムエンジニア(IT/通信/インターネット) 求人一覧

編集部おすすめコンテンツ

Sponsored
【年収±診断】6つの質問に答えて、真の市場価値をチェック!
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

Powered by マイナビ AGENT