Excelでデータを検索して対応する値を取り出すとき、多くの方が使ってきたのが「VLOOKUP関数」や「HLOOKUP関数」でしょう。ですが、これらには制約や不便さがあり、思ったように使えなかった経験をお持ちの方も多いのではないでしょうか。そこで登場したのが「XLOOKUP関数」です。XLOOKUPはVLOOKUPやHLOOKUPの後継として、よりシンプルで柔軟、かつ直感的に使えるよう設計されています。本記事では、XLOOKUPの基本的な書き方から、よくある活用方法、VLOOKUPとの違い、そして実務で役立つ具体的な事例までを丁寧に解説します。これを読めば、XLOOKUPを自在に使いこなせるようになるでしょう。
XLOOKUP関数とは?基本の考え方
XLOOKUPは、指定した範囲の中から検索値を探し、その位置に対応する別の範囲の値を返す関数です。
従来のVLOOKUPが「縦方向のみ」、HLOOKUPが「横方向のみ」だったのに対し、XLOOKUPは縦横を問わず利用でき、より汎用的です。
構文は以下の通りです。
=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [検索モード], [一致モード])
各引数の意味は以下の通りです。
- 検索値:探したい値
- 検索範囲:検索値を探すセル範囲
- 戻り範囲:検索値に対応して返したい値の範囲
- 見つからない場合(省略可):検索値が見つからなかったときに返す値
- 検索モード(省略可):前方検索か後方検索かを指定
- 一致モード(省略可):完全一致や近似一致を選択
XLOOKUPの特徴とメリット
XLOOKUPが優れている点を整理すると、以下のようになります。
- 左右どちらの方向にも検索可能
VLOOKUPは検索範囲の左端からしか検索できませんが、XLOOKUPは右方向・左方向いずれにも対応しています。 - 範囲の追加・削除に強い
VLOOKUPは列番号を固定する必要があり、列を追加すると結果がずれてしまうことがありました。XLOOKUPでは範囲を直接指定するため、この問題を回避できます。 - エラー処理が簡単
「見つからない場合」を引数で直接指定できるので、IFERRORと組み合わせる必要がありません。 - 縦横どちらでも利用可能
HLOOKUPのように横方向の検索にも対応しているため、関数の数がシンプルになります。
VLOOKUP関数との違い
VLOOKUPとXLOOKUPは似ていますが、以下のような違いがあります。
- 検索方向
- VLOOKUP:検索列は常に左端に限定される
- XLOOKUP:どの列・行からでも検索可能
- 戻り値の指定
- VLOOKUP:列番号で指定する必要がある
- XLOOKUP:範囲を直接指定できる
- エラー処理
- VLOOKUP:IFERRORを組み合わせる必要あり
- XLOOKUP:引数で「見つからない場合」を指定可能
- 使いやすさ
- VLOOKUP:古いバージョンでも利用可能
- XLOOKUP:Excel 365やExcel 2021以降で利用可能
基本的な使い方の例
例1:商品コードから商品名を検索
=XLOOKUP("A101", A2:A10, B2:B10)
- A列:商品コード
- B列:商品名
→ 「A101」に対応する商品名を返します。
例2:存在しない場合にメッセージを表示
=XLOOKUP("Z999", A2:A10, B2:B10, "該当なし")
検索値が見つからないときには「該当なし」と表示されます。
例3:後方から検索する
=XLOOKUP("A101", A2:A10, B2:B10, "なし", -1)
後ろから検索する指定をすることで、同じ値が複数ある場合に最後の値を取得できます。
実務で役立つXLOOKUPの活用シーン
1. 売上管理
顧客コードを入力すると、自動的に顧客名や住所を表示するシートが作れます。
2. 勤怠管理
社員番号を入力すれば、名前や所属部署をすぐに引き出せます。
3. 商品マスター管理
在庫管理表で商品コードを入力すると、仕入価格や単価が自動で出てくるように設定可能です。
4. 複数条件との組み合わせ
XLOOKUPは単体では複数条件に弱いですが、&(アンパサンド)で条件を結合した列を作ることで対応可能です。
XLOOKUPと他関数の組み合わせ
XLOOKUPは単独でも便利ですが、他の関数と組み合わせるとさらに強力になります。
- SUMとの組み合わせ
数値を検索して合計計算に利用できます。 - IF関数との組み合わせ
条件によって異なる範囲を検索する処理が可能。 - FILTER関数との併用
複数の値を返す場合にはFILTERが便利。XLOOKUPでキーを決定し、FILTERで一覧を抽出するなどの応用も考えられます。
よくあるエラーと対処法
- #N/Aエラー
→ 検索値が存在しない場合。第4引数で「見つからない場合」を設定しましょう。 - #VALUE!エラー
→ 検索範囲と戻り範囲のサイズが異なるときに発生。範囲を揃える必要があります。 - 古いExcelで使えない
→ Excel 2019以前にはXLOOKUPが搭載されていないため、VLOOKUPやINDEX+MATCHを利用する必要があります。
まとめ
XLOOKUPは従来のVLOOKUPやHLOOKUPの欠点を克服した、非常に強力で柔軟な関数です。検索方向の制約がなく、範囲を直接指定でき、見つからない場合のエラー処理まで組み込まれているため、実務において使いやすさは抜群です。特にデータ量が多い業務シートでは効率が大幅に向上します。
Excelを日常的に使う方は、XLOOKUPを早めにマスターしておくと、作業効率が飛躍的に高まるでしょう。