ExcelでVLOOKUPを複数条件にしたいときは、条件をつなげた作業列を作って検索する方法がいちばん手早くて安定します。仕事中に急いでいるなら、まずはこの方法を使えばOKです。この記事では、すぐ使える関数、クリック手順、うまくいかないときのチェックポイントまでまとめて分かりやすく紹介します。
まず結論:VLOOKUPを複数条件で抽出するなら「作業列+VLOOKUP」です
VLOOKUPは本来、検索値を1つしか指定できません。そこで、例えば「社員番号」と「部署名」の2つを条件にしたいなら、検索する側も検索される側も2つの値をつなげたキーを作ります。これでVLOOKUPでも複数条件検索ができますよ。
使い方のイメージ
例えば、次のような条件です。
- 条件1:社員番号
- 条件2:部署名
- 抽出したいもの:氏名や支店名
この場合は「社員番号&部署名」を1つの検索キーにして照合します。
複数条件で抽出する手順
ここでは、A列に社員番号、B列に部署名、C列に抽出結果を表示する例で進めます。検索表は別シートにある想定です。
- 検索表に作業列を1列追加します。
- 作業列に、条件を連結する式を入れます。例:=A2&B2
- 下までオートフィルでコピーします。
- 抽出先のシートでも、検索値を連結した形でVLOOKUPを使います。
- 完全一致にするため、最後の引数はFALSEにします。
検索表で作業列を作る手順
- 検索表の左端に新しい列を挿入します。
- 新しい列の先頭セルをクリックします。
- =B2&C2 のように、条件に使う列をつなげる式を入力します。
- Enterキーを押します。
- セル右下のフィルハンドルを下へドラッグして、式をコピーします。
もし区切りが分かりにくいデータなら、=B2&"_"&C2 のように区切り文字を入れるのがおすすめです。たとえば「12」と「34」が「1234」になって別の組み合わせと重なるのを防げます。
抽出先でVLOOKUPを入力する手順
- 結果を表示したいセルをクリックします。
- 次のような式を入力します。
=VLOOKUP(A2&B2,検索表!$A$2:$D$100,4,FALSE)
- A2&B2:抽出条件を連結した検索値
- 検索表!$A$2:$D$100:作業列を含む検索範囲
- 4:取り出したい列番号
- FALSE:完全一致
この形で、複数条件の抽出ができます。
すぐ使える具体例
たとえば検索表が次の並びだとします。
- A列:作業列
- B列:社員番号
- C列:部署名
- D列:氏名
検索表A2には次の式を入れます。
=B2&"_"&C2
抽出先では次の式を使います。
=VLOOKUP(A2&"_"&B2,検索表!$A$2:$D$100,4,FALSE)
これで、A2の社員番号とB2の部署名が両方一致した行から、D列の氏名を返せます。
作業を早くするコツ
絶対参照を使う
検索範囲は$A$2:$D$100のように絶対参照にしておきましょう。下にコピーしても範囲がズレないので安心です。
列番号を間違えない
VLOOKUPの列番号は、検索範囲の左端を1列目として数えます。シート全体の列番号ではないので注意してください。
区切り文字を入れる
複数条件をそのまま連結すると、意図しない一致が起きることがあります。"_"や"-"などを間に入れておくと安全です。
上手くいかない場合のチェックポイント
VLOOKUPで複数条件抽出がうまくいかないときは、だいたい次のどれかです。ここを見直せばかなりの確率で解決できます。
#N/A になるとき
- 検索値の連結方法と、検索表の作業列の連結方法が一致していない
- 片方だけ区切り文字を入れている
- 全角スペースや余分な空白が混ざっている
- 数字が片方は数値、片方は文字列になっている
- FALSEではなくTRUEになっている
まずは、検索値として作った文字列と、検索表の作業列の値が本当に同じ見た目になっているか確認しましょう。
正しい値が返らないとき
- 列番号がズレている
- 検索範囲の左端が作業列になっていない
- 似たデータがあり、区切り文字なしで誤一致している
VLOOKUPは検索範囲の一番左の列で検索するので、作業列が左端にないと正しく動きません。
空白や表示形式が原因のことも多いです
見た目は同じでも、中身が違うケースがあります。そんなときは次の関数で整えると改善しやすいです。
- TRIM:余分なスペースを削除
- CLEAN:不要な制御文字を削除
- TEXT:数値の表示形式をそろえる
例えば日付や社員番号の桁数が揃っていない場合は、TEXT関数で整えてから連結すると安定します。
作業列を増やしたくない場合の代替方法
もしExcelのバージョンが新しめなら、VLOOKUPよりXLOOKUPやFILTERのほうが柔軟です。ただ、職場では古いExcelもまだ多いので、互換性重視ならこの記事の「作業列+VLOOKUP」がいちばん実用的です。
また、INDEX関数とMATCH関数を組み合わせて複数条件にする方法もありますが、急いでいる現場では少し複雑に感じやすいです。まずはVLOOKUPの定番パターンを覚えておけば十分役立ちますよ。
関連する時短ワザ
数式の絶対参照を一発で切り替える
数式入力中に参照セルを選んでF4キーを押すと、絶対参照に切り替えられます。毎回$を手入力しなくていいので時短になります。
オートフィルで一気にコピーする
セル右下のフィルハンドルをダブルクリックすると、隣接データの最終行まで式を一気にコピーできます。件数が多い表で便利です。
エラー表示を見やすくする
抽出結果で#N/Aをそのまま見せたくないなら、IFERRORを組み合わせると見やすくなります。
=IFERROR(VLOOKUP(A2&"_"&B2,検索表!$A$2:$D$100,4,FALSE),"")
空欄表示にしたいときに便利です。
まとめ
ExcelでVLOOKUPを複数条件で抽出したいときは、条件を連結した作業列を作り、同じ形で検索値も連結してVLOOKUPするのが最短です。ポイントは、作業列を左端に置くこと、区切り文字を入れること、FALSEで完全一致にすることです。うまくいかないときは、空白・表示形式・列番号・参照範囲のズレをチェックしてみてください。これだけ押さえれば、仕事の表でもかなり安定して使えますよ。
