- 投稿日:2024/08/22
- 更新日:2025/10/03

ExcelのXLOOKUP関数とは
XLOOKUP関数は新しい関数
XLOOKUP関数は、Office2021以降で使えるようになった新しい関数です。
VLOOKUPやHLOOKUPの使いづらかったところを改善した便利な関数です。
XLOOKUP関数の特徴
XLOOKUP関数は、VLOOKUPとHLOOKUPを合わせた検索関数で、縦方向にも横方向にも検索できます。
XLOOKUP関数には、次の2つの特徴があります。
1. 左右どちらの方向でも検索でき、検索する列や行の場所に関係なく柔軟に使える。
2. 値が見つからない場合のデフォルト値も設定できる。
XLOOKUP関数の使用イメージ
XLOOKUP関数は、次のような感じで使うことができます。
・表1から商品名をキーにして、商品の値段やお店の名前などを取得する
・表2に、表1から取得した商品の値段やお店の名前を表示する
XLOOKUP関数の使い方
XLOOKUP関数は、次のように使うことができます。
***********
=XLOOKUP(検索値, 検索範囲, 戻り値範囲, 見つからなかった場合の値, 一致の型, 検索の順序)
***********
検索値
検索する値を指定します。
例えば、「りんご」などの商品名、「田中」などの名前を入力します。
検索値が設定されているセルを指定することも可能です。
検索範囲
検索値を探す範囲を指定します。
この範囲には、検索値が存在する列や行が含まれます。
例えば、名前が入力されている列(A列など)を指定します。
戻り値範囲
検索が成功した場合に返す値が含まれる範囲を指定します。
検索値が見つかった行や列に対応するデータを含む列や行を指定します。
例えば、年齢が入力されている列(B列など)を指定します。
見つからなかった場合の値(デフォルト値)
検索値が見つからなかった場合に返すデフォルト値を指定できます。
エラーメッセージ(#N/A)を表示する代わりに、例えば「見つかりません」や「該当なし」などのメッセージを表示することができます。
一致の型
検索する際の一致の基準を指定します。以下のオプションがあります。
よく使うのは、「0:完全一致」です。
・0: 完全一致(デフォルト)
・-1: 検索値以下で最も近い一致
・1: 検索値以上で最も近い一致
・2: ワイルドカード文字を使用した一致(例: * や ?)
検索の順序
検索の方向を指定します。以下のオプションがあります。
よく使うのは、「1: 最初から最後まで検索」です。
・1: 最初から最後まで検索(デフォルト)
・-1: 最後から最初まで逆方向で検索
・2: バイナリ検索(昇順にソートされている場合)
・-2: バイナリ検索(降順にソートされている場合)
XLOOKUP関数の使用例
ここからは、実際にXLOOKUPを使って検索する例を紹介します。
例1: 商品名をキーに、値段を検索する (検索方向:右)
1つ目の例は、商品名をキーに、商品の値段を検索する例です。
商品名をキーに、表1の値段を検索するには、下記の関数を使用します。
***********
=XLOOKUP(B2, 表1!C:C, 表1!D:D, "見つかりません", 0, 1)
※ 表2のC2に設定する場合
***********
検索値は、表2のB2(りんご)です。
検索範囲は、表1のC列(商品列)です。
戻り値範囲は、表1のD列(値段列)です。
見つからなかった場合の値は、「見つかりません」という文字列です。
一致の型と検索の順序のデフォルトの値です。
例2: 商品名をキーに、お店を検索する (検索方向:左)
2つ目の例は、商品名をキーに、お店の名前を検索する例です。
商品名をキーに、表1のお店を検索するには、下記の関数を使用します。
***********
=XLOOKUP(B2, 表1!C:C, 表1!B:B, "見つかりません", 0, 1)
※ 表2のD2に設定する場合
***********
検索値は、表2のB2(りんご)です。
検索範囲は、表1のC列(商品列)です。
戻り値範囲は、表1のB列(お店列)です。
見つからなかった場合の値は、「見つかりません」という文字列です。
一致の型と検索の順序のデフォルトの値です。
商品名の右側の値段だけではなく、左側のお店を検索できるのが、XLOOKUPのメリットです。
例3: 見つからなかった場合の値
3つ目の例は、「見つからなかった場合の値」の使用例です。
下記の関数を設定する場合、表1にB5(めろん)はないため、見つからなかった場合の値が表示されます。
ここでは、「”見つかりません”」という文字列を設定しているため、表には「”見つかりません”」が表示されます。
***********
=XLOOKUP(B5, 表1!C:C, 表1!D:D, "見つかりません", 0, 1)
※ 表2のC5に設定する場合
=XLOOKUP(B5, 表1!C:C, 表1!B:B, "見つかりません", 0, 1)
※ 表2のD5に設定する場合
***********
XLOOKUP関数とVLOOKUP関数・HLOOKUP関数との違い
XLOOKUP関数と似たような関数で、VLOOKUP関数とHLOOKUP関数があります。
VLOOKUP関数とは
VLOOKUP関数は、縦方向の表で、左端の列から検索値を探し、その行にある指定した列のデータを返す関数です。
VLOOKUP関数には、次の2つの制約があります。
1. 検索範囲の最左列からしか検索できない。
2. 検索範囲内で左から右にしかデータを取得できない。
HLOOKUP関数とは
HLOOKUP関数は、横方向の表で、上端の行から検索値を探し、その列にある指定した行のデータを返す関数です。
HLOOKUP関数には、次の2つの制約があります。
1. 検索範囲の最上行からしか検索できない。
2. 検索範囲内で上から下にしかデータを取得できない。
XLOOKUP・VLOOKUP・HLOOKUPの比較
XLOOKUP・VLOOKUP・HLOOKUPの比較した結果を表にまとめました。
比較すると、XLOOKUPは、VLOOKUPやHLOOKUPの上位互換となる関数であることがわかります。
注意点としては、Office2021以降出ないと使えないため、古いExcelでは使えないという点です。
まとめ
本記事では、ExcelのXLOOKUP関数について紹介しました。
ExcelのXLOOKUP関数の使い方や、ExcelのXLOOKUP関数とVLOOKUP・HLOOKUPの違いについても解説しました。
XLOOKUPは、なんだか難しそうな印象がありますが、とても便利な関数です。
一度使ってみると、使い方もすぐにわかるかと思います。
XLOOKUPを使ったことがないという人は、ぜひ一度使ってみてください。