はじめに
Excelで「データを検索して取り出す」作業といえば、従来は VLOOKUP や HLOOKUP が定番でした。
しかし、これらは「左方向に検索できない」「列番号を数える必要がある」などの制約があり、実務では不便を感じることも多かったのではないでしょうか。
その不満を解消するために登場したのが XLOOKUP関数 です。
XLOOKUPは 柔軟でわかりやすい構文 を持ち、VLOOKUPの後継といえる強力な関数。この記事では基本から応用までわかりやすく解説します。
XLOOKUP関数の基本
書式
=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [検索モード], [一致モード])
- 検索値 : 探したい値
- 検索範囲 : 検索する列や行
- 戻り範囲 : 結果を返す列や行
- 見つからない場合(省略可): 該当がないときの表示内容
- 検索モード(省略可): 先頭から検索か、末尾から検索かを指定
- 一致モード(省略可): 完全一致や近似一致の指定
基本例:商品コードから商品名を取得
| A列 | B列 |
|---|---|
| 101 | りんご |
| 102 | みかん |
| 103 | ぶどう |
セル D1 に「102」と入力し、商品名を取り出す場合👇
=XLOOKUP(D1, A2:A4, B2:B4, "該当なし")
👉 「102」を検索し、対応する「みかん」を返します。該当がなければ「該当なし」と表示されます。
XLOOKUPのメリット
- 左右どちらの方向でも検索可能(VLOOKUPのような制限なし)
- 列番号ではなく「戻り範囲」を直接指定できる
- 見つからない場合の値を設定可能(IFNAと組み合わせ不要)
- 検索方法(完全一致・近似一致・逆検索)を柔軟に選べる
応用テクニック
左方向検索
=XLOOKUP(検索値, C2:C10, A2:A10)
👉 VLOOKUPではできなかった「左方向検索」も可能。
見つからなかったときに任意のメッセージを表示
=XLOOKUP(検索値, A2:A10, B2:B10, "データなし")
逆検索(最後に一致するものを探す)
=XLOOKUP(検索値, A2:A100, B2:B100, "該当なし", -1)
👉 データの末尾から検索することもできます。
類似する検索関数の紹介
XLOOKUPを理解したら、他の検索関数との違いも知っておくと選択肢が広がります。
VLOOKUP関数
- 検索列は範囲の左端に限定
- 列番号指定が必要
- 古いExcelでも使える
👉 VLOOKUPについてはこちら
HLOOKUP関数
- 横方向(行)を検索できるが制約が多い
- 実務ではあまり使われなくなっている
INDEX + MATCH関数
- 柔軟な組み合わせでVLOOKUPの制限を回避可能
- ただし数式が長くなる
FILTER関数(Excel 365以降)
- 条件に合致する複数の結果を一度に返せる
- XLOOKUPよりさらに柔軟だが新しい関数のため利用環境が限定される
注意点
- XLOOKUPは Excel 365 / 2021以降 で利用可能
- 古いExcelでは使用できないため、互換性を考えるなら VLOOKUP や INDEX+MATCH を検討
- 戻り範囲と検索範囲は「同じ行数(または列数)」である必要がある
まとめ
- XLOOKUPはVLOOKUPの後継となる強力な検索関数
- 左右どちらの方向にも検索可能で、列番号の指定不要
- 「見つからなかった場合の値」を直接指定できる
- 類似関数(VLOOKUP、INDEX+MATCH、FILTER)と比較して、シンプルで使いやすい


コメント