XLOOKUP関数

Excel 365, Excel 2021+

概要

XLOOKUP関数は、指定した範囲や配列から検索値に対応する項目を柔軟に検索・取得する強力なルックアップ関数です。VLOOKUPやHLOOKUPの制限を克服し、戻り列の位置に関係なく検索が可能で、完全一致・近似一致・ワイルドカード検索など多彩な検索モードをサポートします。

構文

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

パラメータ

パラメータ タイプ 必須 説明
検索値 Any はい 検索対象の値。省略すると検索範囲内の空白セルを対象とする。
検索範囲 Range はい 検索を行う配列または範囲。
戻り配列 Range はい 一致した行から返す配列または範囲。
[見つからない場合] Any いいえ 一致が見つからない場合に返す値。省略すると#N/Aエラー。
[一致モード] Number いいえ 0:完全一致(既定), -1:次の小さい値, 1:次の大きい値, 2:ワイルドカード。
[検索モード] Number いいえ 1:先頭から(既定), -1:末尾から, 2:バイナリ昇順, -2:バイナリ降順。

XLOOKUP関数の使用

XLOOKUPは従来のVLOOKUP/HLOOKUPの制約を解消した次世代ルックアップ関数です。検索列と戻り列の位置関係に縛られず、柔軟な検索条件でデータを取得できます。特に表形式データの検索に最適で、動的なデータ処理や複雑な条件検索に威力を発揮します。

XLOOKUPの一般的な例

基本的な完全一致検索

=XLOOKUP(F2,B2:B11,D2:D11)

国名を検索して国際電話コードを返す。VLOOKUP(F2,B2:D11,3,FALSE)と同等。

複数列同時取得

=XLOOKUP(B2,B5:B14,C5:D14)

従業員IDから名前と部署を同時に取得。

見つからない場合の処理

=XLOOKUP(B2,B5:B14,C5:D14,"従業員が見つかりません")

従業員が見つからない場合にメッセージを表示。

近似一致(税率表)

=XLOOKUP(E2,C2:C7,B2:B7,,1)

収入に基づく税率を近似一致で取得。

2次元ネスト検索

=XLOOKUP(D2,$B6:$B17,XLOOKUP($C3,$C5:$G5,$C6:$G17))

行と列の両方で検索して表の値を抽出。

範囲合計

=SUM(XLOOKUP(B3,B6:B10,E6:E10):XLOOKUP(C3,B6:B10,E6:E10))

2点間の値を合計計算。

よくある質問

いいえ。Excel 365およびExcel 2021以降でのみ使用可能です。ただし、新しいExcelで作成されたファイルはExcel 2016/2019でも表示される場合があります。

XLOOKUPは戻り列が左右どちらにあっても使用可能で、列番号ではなく直接範囲を指定します。また、より多くの検索オプションがあります。

0は完全一致のみ(#N/Aで終了)、1は完全一致が見つからない場合次の大きい値を返します。

一般的なエラーと解決策

#N/Aエラー

Cause: [見つからない場合]引数を指定せず一致が見つからない

Solution: [見つからない場合]に代替値や""を指定する

不正な結果

Cause: バイナリ検索(2,-2)で範囲がソートされていない

Solution: バイナリ検索前にデータを昇順/降順でソートする

#VALUE!エラー

Cause: 検索範囲と戻り配列の行数が異なる

Solution: 両方の範囲が同一行数になるよう調整する

注記

  • Excel 365、Excel 2021以降でのみ利用可能
  • VLOOKUP/HLOOKUPの完全互換代替
  • ワイルドカード使用時は一致モードを2に設定
  • バイナリ検索使用時は事前のデータソート必須
  • 配列関数として複数列・複数行を同時に返す

互換性

利用可能: Excel 365, Excel 2021

利用不可: Excel 2016, Excel 2019, Excel 2013以前

コンテンツ最終レビュー: December 9, 2025
更新頻度: 必要に応じて
テスト済みExcelバージョン: Excel 365, Excel 2021+