XLOOKUP は、Excel 365 / Excel 2021 以降で使える強力な検索・参照関数で、従来の VLOOKUP や HLOOKUP、INDEX + MATCH をこれ1つで置き換え可能です。
🔧 書式(構文)
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
| 引数 | 説明 |
|---|
lookup_value | 検索する値(探したい値) |
lookup_array | 検索対象の範囲(キーが含まれる列や行) |
return_array | 見つかったときに返す値の範囲(結果列) |
[if_not_found] | 見つからなかった場合に返す値(省略可) |
[match_mode] | 検索方法(完全一致など) |
[search_mode] | 検索の方向(最初から/最後から) |
🧪 基本の使用例
例:IDから名前を検索する
データ(A2:B5):
| A | B |
|---|
| 1001 | Sato |
| 1002 | Tanaka |
| 1003 | Yamada |
| 1004 | Suzuki |
=XLOOKUP(1002, A2:A5, B2:B5)
✅ 結果:Tanaka
🧰 オプションの引数を使った例
=XLOOKUP(9999, A2:A5, B2:B5, "該当なし")
✅ 結果:該当なし(存在しない値に対しての代替)
🔍 match_mode(一致モード)
| 値 | 説明 |
|---|
| 0 | 完全一致(既定) |
| -1 | 以下の最大値 |
| 1 | 以上の最小値 |
| 2 | ワイルドカード使用(*, ?) |
🔁 search_mode(検索方向)
✅ XLOOKUP のメリット(VLOOKUP との比較)
VLOOKUP | XLOOKUP |
|---|
| 検索列は必ず一番左に必要 | 任意の列で検索可能 |
| 列番号で返す | 範囲で指定(列を追加しても壊れない) |
| デフォルトが近似一致 | デフォルトが完全一致 |
| 横方向のみ | 縦横両対応(行検索も可能) |
見つからないと #N/A | "見つかりません" などカスタマイズ可 |
🧠 応用例
名前で社員番号を取得(下から検索)
=XLOOKUP("Tanaka", B2:B10, A2:A10, "なし", 0, -1)
ワイルドカードを使った検索(例:「*田」)
=XLOOKUP("*田", B2:B10, A2:A10, "該当なし", 2)
📌 関連関数
VLOOKUP:旧来の縦方向検索(非推奨)HLOOKUP:横方向検索(非推奨)INDEX + MATCH:柔軟だが複雑FILTER:複数条件の抽出や複数結果の返却が可能
Post Views: 146