エクセル関数辞典 エクセル関数辞典

XLOOKUP関数の使い方|VLOOKUPとの違いも解説

XLOOKUP 検索 参照 Excel関数 Microsoft 365
広告スペース (article-top)

XLOOKUP関数は、VLOOKUP関数の後継として登場した検索関数です。VLOOKUPの制限を解消し、左方向への検索や複数結果の取得など、より柔軟な検索が可能になりました。Microsoft 365およびExcel 2021以降で利用できます。

この記事では、XLOOKUP関数の基本的な使い方と、VLOOKUPとの違いについて解説します。

XLOOKUP関数の基本構文

=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [一致モード], [検索モード])

引数の説明

引数説明必須/任意
検索値検索する値必須
検索範囲検索対象の範囲(1列または1行)必須
戻り範囲結果を返す範囲(1列または1行)必須
見つからない場合検索値が見つからない場合に返す値任意
一致モード0=完全一致(既定)、-1=完全一致または次に小さい値、1=完全一致または次に大きい値、2=ワイルドカード一致任意
検索モード1=先頭から検索(既定)、-1=末尾から検索、2=昇順バイナリ検索、-2=降順バイナリ検索任意

VLOOKUPと異なり、検索範囲と戻り範囲を別々に指定するため、列番号を数える必要がありません。

VLOOKUPとの主な違い

機能VLOOKUPXLOOKUP
検索方向右方向のみ左右どちらも可
既定の一致モード近似一致完全一致
エラー時の代替値IFERROR関数が必要第4引数で指定可
列番号の指定数値で指定不要(戻り範囲で指定)
列の挿入・削除への耐性弱い強い
複数列の結果取得不可可能

実践例1:基本的な検索

商品マスタから商品コードで商品名を検索する基本的な例です。

商品コード商品名単価
A001ノートPC89000
A002マウス2500
A003キーボード5800
=XLOOKUP(E2, A2:A4, B2:B4)

検索範囲(A2:A4)と戻り範囲(B2:B4)を個別に指定します。VLOOKUPのように列番号を数える必要がなく、直感的に記述できます。

実践例2:見つからない場合の処理

VLOOKUPではIFERROR関数を別途使う必要がありましたが、XLOOKUPでは第4引数で直接指定できます。

=XLOOKUP(E2, A2:A4, B2:B4, "該当なし")

検索値が見つからない場合に「該当なし」と表示されます。数式がシンプルになり、可読性が向上します。

実践例3:左方向への検索

VLOOKUPでは不可能だった、検索列より左側のデータを取得する例です。

以下のように、商品名がA列、商品コードがB列にある場合を考えます。

商品名商品コード単価
ノートPCA00189000
マウスA0022500

商品コードから商品名を取得する場合、VLOOKUPでは範囲の左端列にコードがないため使えません。XLOOKUPなら問題なく検索できます。

=XLOOKUP(E2, B2:B3, A2:A3, "該当なし")

検索範囲と戻り範囲が独立しているため、方向の制約がありません。

実践例4:複数列の結果を一度に取得する

XLOOKUPでは、戻り範囲を複数列に設定することで、一度に複数のデータを取得できます。

=XLOOKUP(E2, A2:A4, B2:C4, "該当なし")

この数式は、商品名と単価の両方を一度に返します。数式を入力したセルとその右隣のセルに結果がスピルされます。

実践例5:末尾から検索する

同じ検索値が複数ある場合、最後に一致したデータを取得したいことがあります。第6引数を-1に設定します。

=XLOOKUP(E2, A2:A10, B2:B10, "該当なし", 0, -1)

売上履歴などで、同じ商品コードの最新レコードを取得する場合に便利です。

よくあるエラーと対処法

#N/Aエラー

検索値が見つからない場合に発生します。第4引数を設定することで回避できます。見つからない場合の値を設定していない場合は、データの存在確認や全角半角の統一を行ってください。

#VALUE!エラー

検索範囲と戻り範囲のサイズが異なる場合に発生します。行数(または列数)が一致しているか確認してください。

# 正しい例:どちらも3行
=XLOOKUP(E2, A2:A4, B2:B4)

# エラーになる例:行数が異なる
=XLOOKUP(E2, A2:A4, B2:B5)

#NAME?エラー

XLOOKUPがサポートされていないバージョンのExcelで使用した場合に発生します。Excel 2019以前のバージョンでは使用できません。Microsoft 365またはExcel 2021へのアップグレードを検討してください。

XLOOKUPとVLOOKUPの使い分け

XLOOKUPが使える環境であれば、基本的にXLOOKUPを使うことを推奨します。ただし、以下の場合はVLOOKUPを選択する理由があります。

  • ファイルの共有先がExcel 2019以前を使用している場合: XLOOKUPが使えないため、VLOOKUPで記述する必要がある
  • 既存のファイルにVLOOKUPが多用されている場合: 統一性のためにVLOOKUPを継続使用する判断もある
  • 学習コストの観点: チーム全体がVLOOKUPに慣れている場合、移行のタイミングを検討する

Google スプレッドシートでの互換性

Google スプレッドシートでもXLOOKUP関数は利用可能です。基本的な構文と動作はExcelと同じですので、どちらの環境でも同様に使えます。

まとめ

XLOOKUP関数は、VLOOKUPの制限を解消した検索関数です。

  • 左方向の検索ができる
  • 第4引数でエラー時の代替値を直接指定できる
  • 列番号が不要で、列の挿入・削除に強い
  • 既定が完全一致なので、FALSEの指定忘れによるミスがない

新しいファイルを作成する場合はXLOOKUPを積極的に使い、VLOOKUPとの互換性が必要な場合のみVLOOKUPを選択するのがよいでしょう。

広告スペース (article-bottom)

あわせて読みたい