XLOOKUPの第5引数(一致モード)に 2 を指定するとワイルドカードが使えます。前方一致は =XLOOKUP("東京*", A2:A4, B2:B4, "該当なし", 2)、後方一致は "*本店"、部分一致は "*京*" のように書きます。
XLOOKUP の基本(書き方・一致モード・下から検索・VLOOKUP との違い)は、XLOOKUP関数の使い方にまとめています。
「『東京』で始まる支店名を検索したい」「『〜株式会社』で終わる行を探したい」——完全一致では拾えないこうした検索は、ワイルドカード(*)と一致モード2の組み合わせで実現できます。ここを知らないと「*を付けたのに一致しない」と悩むことになる、XLOOKUPのつまずきポイントです。

サンプルデータ
| A | B | |
|---|---|---|
| 1 | 支店名 | 売上 |
| 2 | 東京本店 | 500 |
| 3 | 名古屋支店 | 320 |
| 4 | 大阪支店 | 410 |
前方一致:「〜で始まる」を検索する
手順:D2 に XLOOKUP の式を入れて Enter
支店名(A2:A4)の中から「東京」で始まる支店を探し、その売上を取り出します。D2 に次の式を入力して、Enter キーを押します❶。
=XLOOKUP("東京*",A2:A4,B2:B4,"該当なし",2) "東京*" 検索値(東京で始まる)A2:A4 検索範囲(支店名)B2:B4 戻り範囲(売上)"該当なし" 見つからない場合(無いときの表示)2 一致モード(ワイルドカード)"東京*"A2:A4B2:B4"該当なし"2オレンジに「探す言葉+*」、青に「探す列」、紫に「返したい列」を入れます。最後の 2 はそのままです。例:「大阪」で始まる支店の売上(C 列)
=XLOOKUP("大阪*",A2:A50,C2:C50,"該当なし",2) - 最後の 2 を省くと * がただの文字として扱われ、「該当なし」になります。

確認:500 は「東京」で始まる「東京本店」の売上

答えは 500 になりました❷。XLOOKUP は、次の順に探しています。
- 支店名の列(A2:A4)から、「東京」で始まる名前を探す(* は「あとに何文字続いてもよい」という意味)
⇒ 2 行目の「東京本店」 - 同じ行の売上(B2:B4)を返す
⇒ 500
▶ この式(E2)を、練習ツールで試す / 第5引数を省略した式(E6)を、練習ツールで試す
まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
後方一致・部分一致の書き方
| 検索の種類 | 検索値の書き方 | 意味 |
|---|---|---|
| 前方一致 | “東京*” | 東京で始まる |
| 後方一致 | “*本店” | 本店で終わる |
| 部分一致 | “*京*” | 京を含む |
| 1文字だけ任意 | “東京?” | ?は任意の1文字(東京+1文字) |
=XLOOKUP(D1&"*", A2:A4, B2:B4, "該当なし", 2) のように&で連結します。▶ 後方一致・部分一致の式(E3〜E5)を、上の練習ツールで試す
注意点
まとめ
XLOOKUPのあいまい検索は「ワイルドカードで書く+一致モード2を忘れない」のセットで覚えてください。前方一致「値*」・後方一致「*値」・部分一致「*値*」の3パターンで、実務の検索はほぼカバーできます。
▶ こんな場合はこちら:XLOOKUPのワイルドカード・部分一致検索の基本/含む行をすべて抽出する(FILTER)

コメント