XLOOKUPで複数条件検索するには、&で結合する方法と論理式を使う方法の2パターンが基本です。Microsoft公式ドキュメントに基づき、AND/OR条件の使い分けから3条件以上への拡張、エラー対策まで実務で即使える形でまとめました。
この記事でわかること
&結合と論理式の2パターンを状況で使い分けることで、XLOOKUP複数条件検索は即解決できます。AND/OR条件の判定ロジック、3条件以上への拡張手順、#N/Aエラーの原因別対処法の3点を実務テンプレート付きで解説します。
今の仕事について、一番近いものは?
この記事の結論
XLOOKUPの複数条件検索は、&結合(AND条件の簡易版)と論理式(*でAND、+でOR)の2系統を状況で使い分けることで解決します。&結合は既存表をそのまま使えて式が短く、論理式はOR条件や複雑な分岐に対応できます。フリーランスの案件管理・請求管理に即使える実務例もあわせて確認してください。
今日やるべき1つ
手元のExcelで =XLOOKUP(A2&B2,C:C&D:D,E:E) を入力し、2列を結合した複数条件検索が動くことを確認してください(所要時間:5分)。
状況別ショートカット
| 状況 | 読むべきセクション | 所要時間 |
| &結合の基本をまず知りたい | XLOOKUP複数条件は2パターンで解決 | 3分 |
| AND/ORの使い分けで迷っている | AND条件は*、OR条件は+で判定 | 5分 |
| 自分のケースに合う方法を診断したい | XLOOKUP複数条件の手法を3分で診断 | 3分 |
| 3条件以上に拡張したい | XLOOKUP複数条件は5つの実務ハックで完全攻略 | 7分 |
| エラーや失敗例から学びたい | XLOOKUP複数条件の実例は2パターンで比較 | 4分 |
| エラーを今すぐ解消したい | XLOOKUP複数条件のエラーは7項目で対応 | 5分 |
XLOOKUP複数条件は2パターンで解決
「2条件の式は書けたけど3条件目からわからなくなった」という状況は、2つのアプローチの構造を理解すれば解消します。まず構造を把握することで、条件数が増えても迷わなくなります。
XLOOKUPの基本構文は3引数が核心
XLOOKUPは =XLOOKUP(検索値, 検索範囲, 戻り範囲) の3引数が基本です(Microsoft公式:XLOOKUP関数)。検索値が検索範囲のどこと一致するかを探し、同じ行の戻り範囲の値を返す仕組みです。複数条件検索の方法が2系統あるのは、この「検索値と検索範囲をどう作るか」によって変わるためです。
第4引数に “未登録” などの文字列を指定するとエラー時の代替値を返せます。複数条件では一致しない可能性が高まるため、この引数を使う習慣が実務では有効です。なお、COUNTIF複数条件の使い方も併せて習得すると、集計と検索の使い分けがより明確になります。

&結合は既存表そのままで使える
&結合パターンは =XLOOKUP(A2&B2, C:C&D:D, E:E) の形で書きます。検索値側の2つの値をつなぎ、検索範囲側の2列も同じ順序でつなぐことで、1つの複合キーとして扱います。
この方法の最大の利点は、既存の表構造を一切変更せずに使える点です。データ管理者に表の追加を頼まずに複数条件検索を実現したい実務ニーズに直結します。AND条件のみの対応となり、OR条件には使えません。
論理式パターンは条件の柔軟性が高い
論理式パターンは =XLOOKUP(1, (条件1)*(条件2), 戻り範囲) の形で書きます。各条件式はTRUE/FALSEを返し、それを数値として掛け合わせます。両方TRUEのとき1×1=1となり、検索値の1と一致して結果が返ります。
AND条件だけでなく、OR条件(+を使用)や複雑な組み合わせにも対応できます。式はやや長くなりますが、条件の追加・変更が論理的に整理できる点でメンテナンス性が高い書き方です。
2パターンの使い分けは3軸で判断
| 比較軸 | &結合 | 論理式 |
| 対応条件 | ANDのみ | AND/OR両方 |
| 式の長さ | 短い | やや長い |
| 既存表への影響 | 変更不要 | 変更不要 |
| 3条件以上 | A&B&C と追加可 | *(条件3) と追加可 |
| 向いているケース | シンプルなAND検索 | OR条件や複雑な分岐 |
条件がすべてANDでよい場合は&結合を選ぶことで、式のシンプルさを保てます。
CHECK
▶ 今すぐやること: =XLOOKUP(A2&B2,C:C&D:D,E:E) を手元のシートで入力し、2列結合の複数条件検索が返ってくることを確認する(5分)
Q: XLOOKUPはGoogleスプレッドシートでも同じ書き方が使えますか?
A: GoogleスプレッドシートでもXLOOKUPは利用可能で、&結合・論理式パターンともに同じ構文が使えます。ただしExcel 2019以前のバージョンにはXLOOKUP自体が搭載されていないため、その場合はINDEX/MATCHへの置き換えが必要です。
Q: 検索範囲と戻り範囲のサイズが違うとどうなりますか?
A: 行数が一致していない場合は #VALUE! エラーが返ります。列全体指定(C:C形式)で揃えると行数の不一致を防ぎやすくなります。
▶ 確認事項
この記事でわかることセクションを確認した。&結合と論理式パターンの違いを把握した。第4引数の役割を理解した。
AND条件は*、OR条件は+で判定
&と*のどちらを使えばよいかは、AND/OR条件の仕組みを理解すれば自然に決まります。この2つは用途がまったく異なるため、混在させる必要はありません。
AND条件は*(掛け算)で全条件一致を確認
AND条件の論理式パターンは次の形です。
=XLOOKUP(1, (A:A=”りんご”)*(B:B=”赤”), C:C)
(A:A=”りんご”) はA列の各行が「りんご」ならTRUE(数値の1)、違えばFALSE(数値の0)を返す配列です。これを*で掛け合わせると、両方が1(TRUE)のときだけ1になります。どちらか一方でも0なら積は0になるため、AND条件を完全に表現できます。
3条件に拡張する場合は (条件1)*(条件2)*(条件3) のように掛け算を追加するだけです。1つでもFALSEがあれば結果は必ず0になるため、「全条件を満たす行のみ」という絞り込みが確実に機能します。
OR条件は+(足し算)でいずれか一致を確認
OR条件は次の形です。
=XLOOKUP(TRUE, ((A:A=”東京”)+(A:A=”大阪”))>0, C:C)
(A:A=”東京”)+(A:A=”大阪”) は、どちらかが一致すれば1以上になります。それが>0によってTRUEに変換され、検索値のTRUEと一致します。どちらにも一致しない行は0のままFALSEとなり、検索対象から外れます。
検索値が1ではなくTRUEになる点に注意してください。OR条件では>0という比較演算が入るため、結果がTRUE/FALSEの配列になります。AND条件と混同しやすい部分です。
ANDとORを組み合わせる場合の構造
実務では「東京か大阪の支店で、かつ売上が100万円以上」のような組み合わせ条件も発生します。この場合は次の形で書けます。
=XLOOKUP(1, ((A:A=”東京”)+(A:A=”大阪”))*(B:B>=1000000), C:C)
OR部分をカッコで括り、その結果を*でAND条件と掛け合わせる構造です。OR部分は0または1以上の数値を返しますが、*(B:B>=1000000)と掛けることで、OR条件を満たしかつB列条件も満たす行のみ1以上の値になります。これを検索値1と一致させれば最初に一致した行を返します。
&結合で検索キーと検索範囲を結合することで、複数条件(AND検索)が可能になることを確認したユーザーは「式の構造が一目でわかる」と語っています(XLOOKUP応用の体験解説)。
CHECK
▶ 今すぐやること: 手元の表でAND条件を*で書き、OR条件を+で書く2式をそれぞれ試して結果の違いを確認する(7分)
Q: ANDとOR条件を1つの式に混在させることはできますか?
A: できます。OR部分を ( ) でまとめた上で、AND条件の * と組み合わせる構造で書きます。上記の組み合わせ例がそのパターンです。
Q: 条件が数値の場合もTRUE/FALSEの配列で扱えますか?
A: 扱えます。(B:B>=1000000) のように比較演算子を使うことで、数値条件もTRUE/FALSEの配列として処理されます。
▶ 重要ポイント
AND条件は*で掛け算する。OR条件は+と>0のセットで書く。組み合わせ時はOR部分をカッコで括ってから*でAND条件と接続する。
XLOOKUP複数条件の手法を3分で診断
自分の条件に合う方法を3分で判定できる診断フローです。OR条件の有無を最初に確認することで、使うべきパターンが決まります。
Q1: OR条件(「AまたはB」のいずれか)が含まれますか?
Yesなら論理式パターン(+を使用)を選択します。Q3へ進んでください。Noならば、Q2へ進んでください。
Q2: 条件はすべてAND(すべて一致)ですか?
Yesならば&結合パターンまたは論理式の*パターンが使えます。Q3へ進んでください。Noの場合は条件の構造を再確認してください。AND/ORの混在はQ1の「Yes」ルートで対応します。
Q3: 式のシンプルさを優先しますか(条件がすべてANDの場合)?
YesならResult A(&結合)を選びます。NoまたはOR条件を含む・将来的に複雑化する可能性があるならResult B(論理式パターン)を選びます。
Result A: &結合パターンを採用
=XLOOKUP(検索値1&検索値2, 範囲1&範囲2, 戻り範囲, “未登録”) の形で書きます。既存表の変更は不要で、条件を増やすときは &検索値3 のように追加するだけです。
Result B: 論理式パターンを採用
AND条件は =XLOOKUP(1, (条件1)*(条件2), 戻り範囲, “未登録”)、OR条件は =XLOOKUP(TRUE, ((条件1)+(条件2))>0, 戻り範囲, “未登録”) の形を基本テンプレートとして使います。
CHECK
▶ 今すぐやること: 自分が検索したい条件にOR条件が含まれるかどうかを確認し、Result AかResult Bかを決める(3分)
Q: Result AとResult Bで返ってくる結果は同じですか?
A: 条件がすべてANDで同じ列を参照している場合、&結合と*の論理式は同じ結果を返します。どちらのアプローチも実務上は正しく機能します。
Q: Excelのバージョンによって使えないパターンはありますか?
A: XLOOKUPはMicrosoft 365およびExcel 2021以降で使用できます(Microsoft公式:XLOOKUP関数)。Excel 2019以前ではXLOOKUP自体が使えないため、INDEX/MATCH関数で代替する必要があります。
▶ 押さえておきたい点
OR条件があるかどうかを最初に確認する。すべてANDなら&結合で十分。将来の条件追加を見越すなら論理式パターンを選ぶ。
事務作業に時間を取られている方へ
フリーランスの働き方をLINEで受け取る
単価の上げ方や仕事の取り方の情報が届きます。日程が合うときだけセミナーに参加すればOKです。
LINEで受け取る登録1分・ブロック自由
PR提供: 日本デザインスクール(デザスク)
XLOOKUP複数条件は5つの実務ハックで完全攻略
式の書き方を覚えても、実務の表に当てはめると動かないことがあります。フリーランスの案件管理・請求管理に直結する5つの実務ハックを紹介します。なお、個人事業主の見積書や請求書管理でも複数条件検索が活躍する場面が多いため、あわせて確認することをおすすめします。

ハック1: &結合テンプレートで請求管理の検索を2分で完成
【対象】 : 案件名と請求月の2列をキーに金額を引きたいフリーランス
【手順】 : E列に「案件名」、F列に「請求年月」、G列に「請求金額」がある表を用意します(2分)。別シートの検索セルに =XLOOKUP(A2&B2, E:E&F:F, G:G, “未登録”) を入力します(1分)。A2に案件名、B2に「2024-07」など年月を入れて結果を確認します(1分)。
【コツと理由】 : ヘルパー列(結合済みキー列)を追加してからVLOOKUPで検索する方法では、列追加のたびに既存式の参照列番号を手動修正する作業が発生します。&結合XLOOKUPは既存の表構造を変更せずに同じ結果を得られるため、共有ファイルでの操作事故を防げます。
【注意点】 : 検索値側と検索範囲側の結合順を必ず一致させてください。A2&B2 に対して E:E&F:F とするのが正しく、F:F&E:E のように順序が逆になると一致しません。順序のズレが最も多い #N/A の原因です。
ハック2: =XLOOKUP(1,(条件1)*(条件2),戻り範囲)をテンプレ化して応用する
【対象】 : AND条件を論理式で書き、将来の条件追加に備えたいフリーランス
【手順】 : 検索したい条件を「列 = 値」の形で2つ書き出します(例:A列が「A社」、B列が「2024年7月」)(2分)。=XLOOKUP(1, (A:A=”A社”)*(B:B=”2024年7月”), C:C, “未登録”) を入力します(1分)。条件を追加するときは *(C:C=”条件3″) を末尾に追加するだけで拡張できることを確認します(2分)。
【コツと理由】 : 最初から3〜4条件に備えた式を書くと効率的です。論理式パターンは条件を追加しても式の構造が変わらず、*(条件) を末尾に追加するだけで済みます。&結合と違い、条件ごとの列参照が独立しているため、後から条件を一部変更するときも修正箇所が一目で分かります。
【注意点】 : 検索値の 1 と条件配列の積が複数行で 1 になる場合、XLOOKUPは最初に一致した行を返します。重複データがある表で全件取得したい場合はFILTER関数を使ってください。
ハック3: OR条件は+と>0のセットで書くと迷わない
【対象】 : 「東京または大阪の顧客」のように複数値のいずれかと一致するOR条件を書きたいフリーランス
【手順】 : OR対象の値を (A:A=”東京”)+(A:A=”大阪”) の形で列挙します(2分)。全体を ( ) で括り、>0 を付けてTRUE/FALSE配列に変換します(1分)。=XLOOKUP(TRUE, ((A:A=”東京”)+(A:A=”大阪”))>0, C:C, “未登録”) として完成させます(1分)。
【コツと理由】 : {“東京”,”大阪”} のような配列定数をXLOOKUPの検索値に使う方法は、XLOOKUPが単一値との照合を基本とするため正しく動きません。+と>0のセットを使うことで、Excelが配列全体を走査してTRUEの行を確実に捕捉します。1件だけ取得するならFILTER関数よりXLOOKUPのOR式がシンプルです。
【注意点】 : OR条件のみを使う場合は検索値を TRUE にします。ANDと混在させて *(AND条件) を付けるときは =XLOOKUP(1, ((OR条件)+0)*(AND条件), 戻り範囲) の形に変わります。OR条件の足し算結果を+0で数値化する一手間が必要になります。
ハック4: 第4引数[見つからない場合]でエラーを事前に制御する
【対象】 : #N/A が表示されると共有シートが壊れたように見えて困るフリーランス
【手順】 : 既存の複数条件XLOOKUPの式を確認します(1分)。第4引数に “未登録” または “” (空白)を追加します。例:=XLOOKUP(A2&B2, C:C&D:D, E:E, “未登録”)(1分)。意図的に一致しない検索値を入力し、「未登録」が返ることを確認してエラー表示が消えたことを確かめます(2分)。
【コツと理由】 : Microsoft公式ドキュメントでは第4引数をオプションとして説明していますが、複数条件検索では一致しないケースが単一条件より増えるため、実務では必須と考えてください。IFERRORで式全体を囲む方法より式が短く、エラーの原因を隠蔽せずに「未登録」として見える化できます。
【注意点】 : 第4引数に “” を指定すると一致しない場合に空白が返り、数値列では 0 と区別がつきにくくなります。管理用途なら “未登録” や “該当なし” など意味のある文字列を指定してください。
ハック5: 全角半角・スペースの不一致を3ステップで事前チェック
【対象】 : 式は正しいはずなのに#N/Aが返り続けて原因が特定できないフリーランス
【手順】 : =EXACT(検索値, 検索範囲の対象セル) でTRUE/FALSEを確認し、完全一致かどうかを検証します(3分)。検索値と検索範囲のセルそれぞれに =TRIM(CLEAN(A1)) を適用し、空白・制御文字を除去します(3分)。全角英数が混在する可能性がある場合は =ASC(A1) で半角統一してから再実行します(2分)。
【コツと理由】 : スペースを目視で確認して「同じに見える」状況でもEXACT関数でFALSEが返ることがあります。全角スペース・改行文字・不可視文字の混入が原因で、人間の目では識別できないためです。EXACT関数で不一致を検出してからTRIM/CLEANで除去する順番で対処することで、式を書き直す前に原因を特定でき、無駄な修正を防げます。
【注意点】 : TRIM関数は先頭・末尾の半角スペースと連続スペースを除去しますが、全角スペースは除去できません。全角スペースを含む可能性がある場合は =SUBSTITUTE(TRIM(A1),” “,””) を追加してください(” “ は全角スペース)。
CHECK
▶ 今すぐやること: 手元の表で =XLOOKUP(A2&B2, C:C&D:D, E:E, “未登録”) を入力し、第4引数によるエラー制御を確認する(5分)
Q: XLOOKUPはVLOOKUPより複数条件検索が優れていますか?
A: VLOOKUPは&結合のヘルパー列を別途作成した上で参照する必要がありますが、XLOOKUPは式の中で直接&結合できるため、既存表を変更せずに複数条件検索が実現できます。また、VLOOKUPは参照列が左端に限定されますが、XLOOKUPは戻り範囲を自由に指定できます(Microsoft公式:VLOOKUP関数)。
Q: FILTERとXLOOKUPはどう使い分けますか?
A: XLOOKUPは「最初に一致した1行を返す」、FILTERは「条件に一致するすべての行を返す」という違いがあります(Microsoft公式:FILTER関数)。ユニークキーで1件だけ取得したい場合はXLOOKUP、同じ条件に複数件ヒットする可能性がある場合はFILTERを選んでください。
▶ 確認事項
&結合の結合順を検索値側と検索範囲側で一致させた。第4引数に「未登録」等の文字列を設定した。#N/Aの原因確認にEXACT関数を使った。
XLOOKUP複数条件の実例は2パターンで比較
実際の現場でどのような判断が分かれ、結果にどう影響したかを2つのケースで確認します。
ケース1(成功パターン): 案件管理シートで&結合XLOOKUPを即導入
フリーランスのAさんは、案件名・クライアント名・請求月の3列を複合キーとする請求管理表を持っていました。既存のVLOOKUP式ではヘルパー列を3列追加する必要があり、ファイルが重くなることを懸念していました。そこで =XLOOKUP(A2&B2&C2, D:D&E:E&F:F, G:G, “未登録”) を試したところ、既存の表構造を一切変えずに3条件検索が実現し、作業時間の短縮につながりました。売掛金管理エクセルの自動化と組み合わせることで、入金状況の確認作業がさらに効率化できます。

=XLOOKUP($G$3&$H$3,$B:$B&$C:$C,D:D) のように複数条件を連結して扱った実践例として、3条件への拡張も同じパターンで対応できることを確認したユーザーの報告があります(複数条件での実践例)。
VLOOKUPとヘルパー列のまま運用を続けた場合、列追加のたびに既存式の参照列番号を手動修正する作業が発生し続けます。
ケース2(失敗パターン): #N/Aの原因特定に2時間かけてしまったケース
フリーランスのBさんは =XLOOKUP(A2&B2, C:C&D:D, E:E) を書いたものの、式が正しいにもかかわらず #N/A が返り続けました。1時間以上式を書き直し続けた後、実は検索値側のB2セルに全角スペースが混入していたことが原因と判明しました。
&結合と*や+を使ったAND/OR条件を実務目線で解説したサイトでも、文字列不一致が最多の#N/A原因として取り上げられています(実務目線のXLOOKUP解説)。
最初に =EXACT(A2, C2) でTRUE/FALSEを確認していれば、不一致の原因を短時間で特定でき、式の書き直しという無駄な作業を省けます。
CHECK
▶ 今すぐやること: 自分のシートで#N/Aが出ている場合、=EXACT(検索値セル, 検索範囲の対象セル)を使って完全一致か確認する(3分)
Q: 失敗ケース2のような文字列不一致はどうすれば事前に防げますか?
A: データを入力する際にドロップダウンリスト(データの入力規則)で選択形式にすることで、表記ゆれ・スペース混入を構造的に防げます。設定は「データ」タブ →「データの入力規則」から行えます。
Q: XLOOKUPで複数件ヒットする場合は最初の1件しか返りませんか?
A: はい。XLOOKUPはデフォルトで最初に一致した行を返します。全件取得が必要な場合はFILTER関数を使用してください(Microsoft公式:FILTER関数)。
▶ 要点整理
文字列不一致はEXACT関数で先に確認する。成功例は&結合で3条件へ即拡張できた。失敗例の原因は全角スペースの混入だった。
XLOOKUP複数条件のエラーは7項目で対応
式が正しいはずなのに動かない状況は、条件を増やすほど起きやすくなります。発生しやすい7つのエラーパターンと対処法をまとめました。
#N/Aの原因は4つに絞り込める
#N/A は「一致する行が見つからなかった」ことを意味します。原因の切り分けは次の順序で行ってください。
まず =EXACT(検索値, 検索範囲の1行目) でTRUEが返るか確認します。FALSEなら文字列の不一致(全角半角・スペース・表記ゆれ)が原因です。TRUEなら&結合の左右の順序が一致しているか確認します。それでも一致しない場合、検索範囲に数値と文字列が混在していないかを確認します。数値は TEXT(数値, “0”) で文字列化してから結合します。最後に、検索範囲と戻り範囲の行数が一致しているかを確認します。
#VALUE!
は範囲サイズの不一致が原因
検索範囲と戻り範囲の行数が異なると #VALUE! が返ります。列全体指定(C:C 形式)で参照することで、行数の不一致を防ぎやすくなります。表の途中からの参照(C2:C100 形式)を使う場合は、すべての範囲で開始行・終了行を揃えてください。
論理式パターンで結果が空白になる場合の確認
=XLOOKUP(1, (条件1)*(条件2), 戻り範囲) で空白が返る場合、第4引数を省略しているのに一致行がないケースと、戻り範囲の対象セルが空白であるケースの2つが考えられます。前者は第4引数に “未登録” を追加することで判別できます。後者は戻り範囲の行を直接確認してください。
論理式パターンでは条件が複数あるほど「条件は合っているが戻り範囲が空」という状況が増えるため、戻り範囲の確認を先にする習慣が有効です。また、Googleスプレッドシートでの関数活用も参照することで、クラウド環境での検証手順を確認できます。

CHECK
▶ 今すぐやること: #N/Aが出ている場合は=EXACT(検索値, 検索範囲の先頭セル)でFALSEが返るか確認し、文字列不一致を最初に排除する(3分)
Q: IFERRORでエラーを隠すことはよくないですか?
A: エラーを非表示にする目的で IFERROR を使うこと自体は問題ありませんが、デバッグ中は IFERROR を外して実際のエラー種別を確認してから原因を特定してください。原因が分かった後に改めて IFERROR または第4引数で制御する順序が効率的です。
Q: XLOOKUPで数値と文字列が混在する列を検索するとどうなりますか?
A: 数値と文字列は別物として扱われるため、数値 1 と文字列 “1” は一致しません。&結合では数値も自動的に文字列として結合されますが、論理式パターンでは (A:A=1) と (A:A=”1″) が異なる結果を返します。検索対象の列がどちらで格納されているかを =TYPE(A1) で確認してから式を書くと確実です。
▶ 確認事項
#N/AはEXACT関数で文字列不一致を最初に確認した。#VALUE!は列全体指定で対処した。論理式パターンで空白が返る場合は第4引数で判別した。
XLOOKUP複数条件を使いこなす:2パターンで即解決
XLOOKUPの複数条件検索は、&結合(AND条件向け)と論理式(AND/OR両対応)の2パターンを状況で使い分けることが核心です。&結合はシンプルで既存表への変更が不要、論理式はOR条件や複雑な分岐に対応できます。どちらも第4引数でエラー制御を組み込むことで、実務で安定して動く式になります。
2パターンの使い分けが定着すれば、3条件・4条件への拡張も「追加するだけ」の作業になります。まず&結合で動く式を1本作り、OR条件が必要になったタイミングで論理式に移行するステップが最短ルートです。また、Excel VBAでの自動化を組み合わせることで、複数条件検索の結果を定期的に集計・出力する仕組みを作ることも可能です。

| 状況 | 次の一歩 | 所要時間 |
| まだ1本も式を書いていない | =XLOOKUP(A2&B2,C:C&D:D,E:E,”未登録”)を入力する | 5分 |
| #N/Aが出て原因不明 | =EXACT(検索値,範囲の先頭セル)でFALSE確認 | 3分 |
| OR条件を追加したい | =XLOOKUP(TRUE,((条件1)+(条件2))>0,戻り範囲)に書き換える | 7分 |
| 3条件以上に拡張したい | &結合なら&C2&C:Cを追加、論理式なら*(条件3)を追加 | 5分 |
XLOOKUP複数条件に関するよくある質問
Q: &結合と論理式の*で、どちらが処理速度が速いですか?
A: 数千行規模の実務データであれば体感できる差はほとんどありません。数万行を超える場合は&結合の方がやや高速とされますが、式の可読性・メンテナンス性を優先して選択して問題ありません。
Q: INDEX/MATCHからXLOOKUPへの乗り換えメリットはありますか?
A: INDEX/MATCHの複数条件式(配列数式でCtrl+Shift+Enterが必要な場合がある)と比べ、XLOOKUPは通常のEnterで確定でき、構文もシンプルです。Microsoft 365以降の環境であればXLOOKUPへの置き換えを推奨します(Microsoft公式:XLOOKUP関数)。
Q: 3条件以上のXLOOKUPはどのように書きますか?
A: &結合では =XLOOKUP(A2&B2&C2, D:D&E:E&F:F, G:G, “未登録”) のように条件を追加します。論理式では =XLOOKUP(1, (条件1)*(条件2)*(条件3), 戻り範囲, “未登録”) の形で *(条件) を末尾に追加していきます。どちらのパターンも構造は変わらず、追加するだけで拡張できます。
【出典・参照元】
Microsoft公式:XLOOKUP関数 – XLOOKUPの構文・引数・バージョン対応の公式情報
Microsoft公式:FILTER関数 – FILTER関数の構文・用途の公式情報
Microsoft公式:VLOOKUP関数 – VLOOKUPとの比較用公式情報
XLOOKUP応用の体験解説 – &結合による複数条件AND検索の実践解説
複数条件での実践例 – =XLOOKUP($G$3&$H$3,$B:$B&$C:$C,D:D) 形式の実例
実務目線のXLOOKUP解説 – &結合と*/+のAND/OR条件を実務視点で解説