Excel一覧 Excel操作・関数 Vlookup データ操作

【Excel】VLOOKUPをXLOOKUPへ置き換える方法とは?Excel新世代関数で効率的な検索作業

Excelでデータ検索や情報の自動入力を行う際に、長年定番だったのが VLOOKUP関数 です。しかし、近年のExcelアップデートにより、VLOOKUPの上位互換ともいえるXLOOKUP関数が登場しました。

XLOOKUP関数は、VLOOKUPで抱えていた「列番号指定の煩雑さ」「左方向検索ができない」「エラー対策の複雑さ」といった弱点を解消し、より直感的で柔軟な検索が可能です。

この記事では、VLOOKUP関数からXLOOKUP関数への移行方法を中心に、構文比較・使用例・メリット・注意点・実務での活用術を丁寧に解説します。

✅ 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スキルと業務効率を一段と高めていきましょう。

-Excel一覧, Excel操作・関数, Vlookup, データ操作