ピアのパソコン学習ガイド
メニュー
Excel関数

VLOOKUPで複数条件を指定する方法|作業列・XLOOKUP・FILTER

ピアのパソコン学習ガイド 編集部2026年11月12日 更新

※写真はイメージです

書き方

=VLOOKUP(条件1&条件2, 作業列からの範囲, 列番号, FALSE)

VLOOKUPは検索値を1つしか持てません。そこで表の左に「条件をつないだ列(作業列)」を作り、検索値も同じようにつないで探します。Microsoft 365なら作業列なしで XLOOKUP や FILTER が使えます。

VLOOKUPで複数条件 H2 fx =VLOOKUP(F2&G2,A2:D4,4,FALSE) A B C D E F G H 1 2 3 4 キー 支店 商品 価格 支店 商品 価格 東京りんご 東京 りんご 120 大阪 りんご 大阪りんご 大阪 りんご 130 東京みかん 東京 みかん 90 130
A列に支店&商品をつないだキー(=B2&C2)を作っておき、大阪&りんご=「大阪りんご」で探して 130円。

この図の表をExcelファイルでダウンロード(問題と答えのシートつき)

作業列の作り方

表のいちばん左に列を挿入し、=B2&C2 と入れて下までコピーします。VLOOKUPは範囲のいちばん左の列で探すので、作業列は必ず左に置きます。

見せたくなければ、作業列を右クリック →「非表示」にしておけます。

作業列なしで:XLOOKUP

=XLOOKUP(F2&G2,B2:B4&C2:C4,D2:D4)

検索する範囲の側も B2:B4&C2:C4 とつなげば、作業列がいりません。Microsoft 365・Excel 2021以降で使えます。

作業列なしで:FILTER

=FILTER(D2:D4,(B2:B4=F2)*(C2:C4=G2))

条件どうしを *(掛け算)でつなぐと「かつ」になります。当てはまる行が複数あれば、全部が並んで出ます。

古いExcelで作業列なし:INDEX+MATCH

=INDEX(D2:D4,MATCH(1,(B2:B4=F2)*(C2:C4=G2),0))

Excel 2019以前は、式を入れたあと Ctrl+Shift+Enter で確定します(配列数式)。

取り出すのが数字なら SUMIFS でも引ける

取り出すのが数字なら SUMIFS でも引ける H2 fx =SUMIFS(D2:D4,B2:B4,F2,C2:C4,G2) A B C D E F G H 1 2 3 4 キー 支店 商品 価格 支店 商品 価格 東京りんご 東京 りんご 120 大阪 りんご 大阪りんご 大阪 りんご 130 東京みかん 東京 みかん 90 130
条件に合う行が1行だけなら、その合計=その値です。どのバージョンでも作業列なしで使えます。

ただし、同じ組み合わせが2行あると足された数が出ます。重複がない表でだけ使います。

うまくいかないとき

1#N/A になる

つないだ文字が作業列と一致していません(間に空白がある、全角・半角の違いなど)。

直し方=F2&G2 を別のセルに出して、作業列の値と見比べます。

2違う行の値が出る

「東京」&「1」と「東京1」&「」のように、つないだ結果が同じになる組み合わせがあります。

直し方=B2&"|"&C2 のように、間に区切りの記号を入れてつなぎます。

サンプルファイルで試す

「問題」のシートの黄色いセルに式を入れて、「答え」のシートと比べてください。

vlookup-fukusu.xlsx をダウンロード(無料・登録なし)

よくある質問

条件が3つ以上でもできますか?

はい。作業列を <code>=B2&amp;C2&amp;D2</code> とし、検索値も同じ順でつなぎます。

Googleスプレッドシートでも同じですか?

作業列のやり方とFILTERは同じです。XLOOKUPも使えます。

一緒に覚えたい関数・操作

このページについて

操作の説明は Microsoft 365 の日本語版Excel(Windows)に合わせています。図はこのサイトで作ったもので、表の会社名・商品名・人名は架空です。運営者情報