Excelでデータ検索や情報の自動入力を行う際に、長年定番だったのが VLOOKUP関数 です。しかし、近年のExcelアップデートにより、VLOOKUPの上位互換ともいえるXLOOKUP関数が登場しました。
XLOOKUP関数は、VLOOKUPで抱えていた「列番号指定の煩雑さ」「左方向検索ができない」「エラー対策の複雑さ」といった弱点を解消し、より直感的で柔軟な検索が可能です。
この記事では、VLOOKUP関数からXLOOKUP関数への移行方法を中心に、構文比較・使用例・メリット・注意点・実務での活用術を丁寧に解説します。
目次
- ✅ VLOOKUPとXLOOKUPの基本構文
- ・ VLOOKUP関数の構文(古い形式)
- ・ XLOOKUP関数の構文(新しい形式)
- ✅ VLOOKUPをXLOOKUPに置き換える基本的な方法
- ・社員コードから社員名を取得する方法
- ✅ XLOOKUP関数を使う5つのメリット
- 1. 左方向検索ができる
- 2. 列番号不要でメンテナンスしやすい
- 3. 見つからないときの表示を指定できる
- 4. 完全一致・近似値の切り替えも柔軟
- 5. 上からではなく下から検索することも可能
- ■ VLOOKUPからXLOOKUPへの置き換えポイントまとめ
- ■ 実務でのXLOOKUP活用例
- ■ よくあるXLOOKUPエラーと対策
- ■ XLOOKUPが向いている業務シーン
- ■ まとめ:VLOOKUPからXLOOKUPへ移行して、Excel作業をよりスマートに!
✅ VLOOKUPとXLOOKUPの基本構文
・ VLOOKUP関数の構文(古い形式)
=VLOOKUP(検索値, 範囲, 列番号, [検索方法])
検索値:探したいキー(例:社員コード)
範囲:検索対象の表
列番号:何列目のデータを返すか
検索方法:FALSE(完全一致)、TRUE(近似値)
・ XLOOKUP関数の構文(新しい形式)
=XLOOKUP(検索値, 検索範囲, 戻り値範囲, [見つからなかった場合の値], [一致モード], [検索モード])
列番号を指定する必要なし
左方向検索も可能
エラー時の値や一致モードの設定が柔軟
【Excel】IFS関数とVLOOKUP関数の併用方法とは?条件ごとに参照表を切り替えて柔軟なデータ処理を実現する方法
✅ VLOOKUPをXLOOKUPに置き換える基本的な方法
・社員コードから社員名を取得する方法
● VLOOKUP版
=VLOOKUP(A2, 社員マスタ!A2:C100, 2, FALSE)
A2:検索値(社員コード)
B列(2列目):社員名を取得
● XLOOKUP版(置き換え)
=XLOOKUP(A2, 社員マスタ!A2:A100, 社員マスタ!B2:B100, "該当なし")
A列で検索し、B列から値を返す
「該当なし」は、見つからなかったときの表示
→ 列番号ではなく、返したい列を範囲として直接指定するのがポイント
✅ XLOOKUP関数を使う5つのメリット
1. 左方向検索ができる
VLOOKUPは「検索列の右側にしかアクセスできない」という制限がありますが、XLOOKUPは右も左もOKです。
=XLOOKUP("商品B", 商品マスタ!B2:B100, 商品マスタ!A2:A100)
→ B列で検索し、A列のデータ(左)を取得可能。
2. 列番号不要でメンテナンスしやすい
VLOOKUPでは列番号(例:2、3…)を手動で指定していたため、列が追加・削除されると数式がズレてしまいます。
XLOOKUPは範囲を直接指定するため、構造が変わっても壊れにくいです。
3. 見つからないときの表示を指定できる
VLOOKUPでは見つからないと #N/A
エラーになりますが、XLOOKUPなら簡単にエラーメッセージを設定できます。
=XLOOKUP(A2, A列, B列, "データなし")
4. 完全一致・近似値の切り替えも柔軟
一致モード(第5引数)で以下のように指定可能:
0:完全一致(デフォルト)
-1:以下で最大値
1:以上で最小値
2:ワイルドカード対応一致
5. 上からではなく下から検索することも可能
第6引数「検索モード」で検索方向も制御可能:
1:上から検索(通常)
-1:下から検索(最新値優先などに使える)
【Excel】条件付き書式とIF関数で視覚的に判断しやすくする方法とは?
■ VLOOKUPからXLOOKUPへの置き換えポイントまとめ
要素 | VLOOKUP関数 | XLOOKUP関数 |
---|---|---|
列番号指定 | 必要 | 不要(範囲で直接指定) |
左方向検索 | 不可 | 可能 |
エラー時の処理 | IFERRORなどで補完 | 関数内で直接指定可能 |
並び順の必要 | 近似値の場合昇順に並べる必要あり | 並び順に依存しない |
複数条件検索 | INDEX+MATCHが必要 | XLOOKUP単体では不可(XLOOKUP×FILTERが有効) |
■ 実務でのXLOOKUP活用例
● 商品コードに応じた商品名の自動取得
=XLOOKUP(A2, 商品マスタ!A:A, 商品マスタ!B:B, "未登録")
→ A列に入力した商品コードから、B列の商品名を取得
● 顧客種別に応じてマスタを切り替える(IFSと併用)
=IFS(
B2="法人", XLOOKUP(A2, 法人マスタ!A:A, 法人マスタ!B:B, "未登録"),
B2="個人", XLOOKUP(A2, 個人マスタ!A:A, 個人マスタ!B:B, "未登録"),
TRUE, "不明"
)
→ IFS関数と併用することで、XLOOKUPを条件付きで切り替えることが可能。
● 見つからないときに空白表示にする
=XLOOKUP(A2, 顧客マスタ!A:A, 顧客マスタ!B:B, "")
→ #N/A
表示を避けたい場合に有効。ユーザー向けシートに最適。
■ よくあるXLOOKUPエラーと対策
エラー内容 | 原因 | 対処法 |
---|---|---|
#N/A | 検索値が一致しない | 第4引数で「該当なし」などの値を設定する |
#VALUE! | 検索範囲と戻り値範囲の行数が一致していない | 範囲のサイズを見直す |
関数が認識されない | Excel 2016以前を使用している可能性あり | Excel 365 / 2021以降にアップグレードする |
■ XLOOKUPが向いている業務シーン
業務用途 | 処理内容 |
---|---|
顧客管理 | 顧客コードから顧客名・住所・ステータスを自動取得 |
商品管理 | 商品コードで単価・在庫数・仕入先を取得 |
見積・請求書作成 | 商品情報の自動入力で業務スピードアップ |
帳票自動化 | 入力されたIDに応じて動的に内容を表示 |
マスタ切り替え処理 | IFSや条件付き書式と組み合わせて、参照表を柔軟に変更 |
■ まとめ:VLOOKUPからXLOOKUPへ移行して、Excel作業をよりスマートに!
VLOOKUP関数は長年活躍してきましたが、XLOOKUP関数の登場により、検索作業はより柔軟かつ簡潔に行えるようになりました。
列番号不要で見やすく修正しやすい
左方向・逆方向も検索可能
エラー処理が簡単
検索対象の柔軟性が高い
今後のExcel作業では、XLOOKUPが新たなスタンダードになります。これを機に、VLOOKUPからの置き換えを進めて、あなたのExcelスキルと業務効率を一段と高めていきましょう。