XLOOKUPで2条件を指定する方法は、検索値と検索列をそれぞれ&でつなぐ方法と、2つの比較式を掛け合わせる方法があります。文字列を単純連結すると別の組み合わせが同じ値になることがあるため、区切り文字を入れるか条件ごとに比較します。
XLOOKUP で 2 つの条件を指定する式は、次の 2 通りです。B2 の分類と B3 の番号の両方に合う行を探し、名称(G3:G7)を返します。
サンプルの基本式


まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
XLOOKUP の基本(書き方・一致モード・下から検索・VLOOKUP との違い)は、XLOOKUP関数の使い方にまとめています。
区切り文字を入れて識別する
▶ 区切りなしの落とし穴を、上の練習ツールで試す / 区切りを入れた式(B6)を、上の練習ツールで試す
2つの比較式で検索する

3条件に増やす場合
説明用にH3:H7を拠点、B5を拠点の検索値として追加します。
各範囲は3行目から7行目にそろえます。3条件すべてが一致する行だけ1です。部分一致を使う条件は通常の等号比較とは別に設計する必要があります。
重複する条件がある場合
日付を条件に含めるとき
Excel 2019・2016で共有する必要がある場合はINDEX+MATCHの複数条件検索も確認してください。
結果が出ない・おかしいときの確認表(該当なし・別の値・#N/A)
式は合っているのに、思った値が返らないときは、次の表で原因を探します。練習ツールの「本文の式」タブで、品番を文字列の「103」や全角の「103」に変えて、違いを確かめられます。
| 症状 | よくある原因 | 対処 |
|---|---|---|
| データはあるのに「該当なし」(比較式) | 数値の103と文字列の「103」、または全角と半角が違う。比較式の「=」は、これらを別の値として扱います | 表側と検索側の型をそろえます。連結式は、数値も文字列もつなぐと同じになるので、この違いを吸収します |
| データはあるのに「該当なし」(連結式) | 値の前後に余分なスペースがある | TRIM関数でスペースを取り除きます。空白(スペース)を削除する方法が参考になります |
| 期待と違う行の値が返る | 区切りなしの連結で、別々の値が同じ文字列になっている(「AB」+「C」と「A」+「BC」など) | 区切り文字を入れるか、比較式に変えます。練習ツールの「区切りなしの落とし穴」タブで確認できます |
| 結果が空白ではなく0になる | 戻り範囲のセルが空白 | XLOOKUPは、空白のセルを0として返します。空白で表示したいときは、IF関数などで切り替えます |
| #N/A エラーになる | 第4引数を省略していて、一致する行が無い | 第4引数に「該当なし」などを指定します。XLOOKUPで見つからないときの表示を変える方法も参考になります |
次に読むと理解が深まる記事
- INDEX+MATCHで複数条件検索|2条件・3条件の数式とエラー対策
- XLOOKUPで複数該当をすべて抽出できる?FILTERとの違いと2件目の取得
- Excelで先頭の0が消えるときの対処法|00123を保持する3つの方法
参考:Microsoft公式ドキュメント XLOOKUP
XLOOKUPで複数の条件を指定したいときは、XLOOKUPの複数条件の書き方(2つ・3つ以上・OR・行と列)で、すべてのパターンをまとめて解説しています。

コメント