Excel

【Excel】XLOOKUP関数の使い方完全ガイド

VLOOKUPを使いこなしている方なら、一度はこんな悩みを感じたことがあるのではないでしょうか。

  • 検索列が左端にないとダメなの?
  • 列番号を数えるのが面倒・・・
  • 列を追加したら数式が壊れた!

これらをすべて解決するのが XLOOKUP関数 です。
Microsoft 365(旧Office 365)で使えるXLOOKUPは、VLOOKUPの弱点を完全に克服した「次世代の検索関数」です。
この記事では、中級者の方に向けてXLOOKUPの構文・実務活用例・VLOOKUPとの違いをわかりやすく解説します。

VLOOKUP関数については下記のまとめ記事を参照下さい。

【基本から応用まで】エクセルVLOOKUP関数の超まとめ!

XLOOKUP関数とは?

XLOOKUP関数は、指定した範囲から値を検索して、対応する別の範囲の値を返す関数です。
2019年にMicrosoft 365向けに登場し、長年使われてきたVLOOKUP関数・HLOOKUP関数を置き換える関数として設計されました。

一言で言うと、「縦でも横でも・左にも右にも・エラー処理まで1つの関数でこなせる万能検索関数」です。

使える環境

  • Microsoft 365(Windows・Mac)
  • Excel 2021以降
  • Excel for the web(ブラウザ版)
  • Excel 2019以前(使用不可)

自分の使っているExcelのバージョンが不明な方は「ファイル」→「アカウント」で確認できます。

XLOOKUPの基本構文

=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [一致モード], [検索モード])
引数必須/任意内容
検索値必須探したい値(セル参照・文字列・数値)
検索範囲必須検索値を探す列(または行)
戻り範囲必須結果として返したい列(または行)
見つからない場合任意一致しないときに返す値(省略するとエラー表示)
一致モード任意0=完全一致(既定)、-1=以下、1=以上、2=ワイルドカード
検索モード任意1=先頭から(既定)、-1=末尾から、2=昇順バイナリ、-2=降順バイナリ

最初は必須の3引数だけ覚えればOKです。

まず試したい!基本的な使い方

例:社員番号から氏名を取得する

A列(A2~A5)に社員番号、B列(B2~B5)に氏名が並んでいる表で、E1セルに入力した番号の氏名をF1セルに表示する場合:

=XLOOKUP(E2, A2:A5, B2:B5)

これだけです。

VLOOKUPと比べてみましょう。

VLOOKUPXLOOKUP
数式=VLOOKUP(E1, A2:B5, 2, FALSE)=XLOOKUP(E1, A2:A5, B2:B5)
列番号の指定必要(2列目→2)不要
検索列の位置左端のみどこでも可
エラー処理IFERROR関数が別途必要第4引数に書くだけ

VLOOKUPでは困った3つのシーンで威力を発揮

① 左側の値を取得したいとき

VLOOKUPは「検索列より右の列しか返せない」という制約があります。
たとえばB列で検索してA列の値を取得したい場合、VLOOKUPでは対応できません。

XLOOKUPは検索範囲と戻り範囲を独立して指定できるため、どの方向でも自由です。

例:B列(B2~B5)の社員番号で検索してA列(A2~A5)の氏名を返す場合
=XLOOKUP(D1, B2:B5, A2:A5)

② エラー表示を消したいとき

VLOOKUPで一致しない場合は #N/A が表示され、別途IFERRORで囲む必要がありました。

VLOOKUPの場合:=IFERROR(=VLOOKUP(E1, A2:B5, 2, FALSE), "該当なし")
XLOOKUPの場合:=XLOOKUP(E1, A2:A5, B2:B5,"該当なし")

第4引数に表示したいテキストを書くだけで完結します。

③ 列を追加・削除しても壊れないようにしたいとき

VLOOKUPの列番号(3列目→3)は固定値なので、表の列構成が変わると数式がズレて誤動作します。
XLOOKUPは戻り範囲を直接セル範囲で指定するため、列を増減させても数式は自動追従します。

よくあるミスと対処法

症状原因対処法
#N/A が表示される検索値が検索範囲に存在しない第4引数に代替テキストを設定
#VALUE! エラー検索範囲と戻り範囲のサイズが合っていない両方の行数(または列数)を揃える
#SPILL! エラースピル先のセルが空ではない結果が広がる範囲を空にする
意図しない値が返る一致モードが「近似一致」になっている第5引数を 0(完全一致)に明示する

まとめ

XLOOKUPのポイントを振り返りましょう。

  • 検索範囲と戻り範囲を分けて指定するので、左方向の検索も自由自在
  • 第4引数でエラー処理を内包できるため、IFERRORが不要
  • 列番号の指定がないので、表の構成変更に強い
  • 複数列の戻り範囲+スピルで1つの数式で複数列を取得できる
  • 逆方向検索で最新データの取得も簡単

Microsoft 365またはExcel 2021以降をお使いであれば、今すぐVLOOKUPをXLOOKUPに置き換えることをおすすめします。
最初は3つの引数(検索値・検索範囲・戻り範囲)だけ覚えてしまえば、あとは実務の中で自然と応用が身についていきます。

ぜひ今日から試してみてください!

  • この記事を書いた人

いしはらゆうと


・瞬習エクセルアカデミー 代表
・2025年:朝日新聞「マイベストプロ」の取材を受ける
・2025年:「マイナビニュース」インタビュー登壇
・「実務直結型Excel講師」として登壇・研修経験多数
・企業の新人教育や「実務に直結する」と評判の講座を数多く実施
・Excelマクロを活用し、業務効率化ツールを多数開発
国家資格 応用情報技術者 保有
現場ニーズに即した「即戦力スキル」の習得支援を専門とする
「実務に必要なExcelの基本スキルを最短で習得できる」ノウハウを提供

-Excel
-,