XLOOKUP関数の使い方|対応バージョン・VLOOKUPと違い
ここでは、エクセルの「XLOOKUP関数の使い方」を解説します。
エックスルックアップ関数とはどのような関数か、VLOOKUP関数との違い、数式の作り方や使い方の説明です。
1.XLOOKUP(エックスルックアップ)関数とは?
まずは、XLOOKUP関数とはどのような関数か、VLOOKUP関数との違いを見てみます。
1-1.XLOOKUP(エックスルックアップ)関数とは
XLOOKUP関数とは、「条件に合うデータを抜き出す」ことができる関数です。
1つのセルに数式を作るだけで、「検索値に一致するデータを1行まるっと抽出」することができます。
なお、XLOOKUP関数は新しい関数で、使えるエクセルのバージョンは次のどれかになります。
- Office365
- Excel2021
もしExcel2021でXLOOKUP関数を使い、そのファイルをExcel2019で開いた場合には、エラーになります。
1-2.VLOOKUP関数との違い
XLOOKUP関数は、VLOOKUP関数から進化した関数です。
そのため、基本的な動きはVLOOKUP関数と同じですが、いくつかパワーアップしているところがあります。
XLOOKUP関数の、VLOOKUP関数との違いは次の通りです。
- 数式を入れるのは1つのセルだけでOK
- 条件の検索範囲が自由になった
- 「条件一致なし」時に返す値もできる
- 「下からの検索」もできる
一番の特徴は、「数式を入れるセルは1つだけ」という点です。「スピル」という機能で、他のセルにも結果が表示されます。
また、VLOOKUP関数は「条件の検索範囲は一番左側」という縛りがありましたが、XLOOKUP関数にはありません。
VLOOKUP関数で要望の多かった「『条件一致なし』時に返す値の指定」や「上からではなく下からの検索」もできるようになっています。
1-3.XLOOKUP関数の動きを確認
一つ例を見てみましょう。
上の表は、出張の実績をまとめたものです。
この表から、XLOOKUP関数を使って13行目の「№4のデータ」を抽出してみます。
XLOOKUP関数はこのように、特定の条件(例は『№4』)に該当するデータ(例では『出張先~役職』まで)を抽出できます。
特筆すべきは、「数式をセルB13に入れただけでセルC13~H13にも結果が表示される」点です。
「スピル」という機能ですが、数式作りがかなり簡単になります。
2.数式の形とVLOOKUP関数との比較
次に、XLOOKUP関数の数式の形と引数の入れ方を確認します。
2-1.数式の形
XLOOKUP関数の数式の形は、次の通りです。
XLOOKUP関数の引数は、「検索値」と「検索範囲」、「戻り範囲」と「不一致の場合」、「検索方法」、「検索方向」の6つです。
2-2.VLOOKUP関数との比較・対応
VLOOKUP関数の引数との比較・対応状況は、次の通りです。
XLOOKUP | VLOOKUP |
検索値 |
検索値 |
検索範囲 | 範囲 |
戻り範囲 | 列番号 |
不一致の場合 | (なし) |
検索方法 | 検索方法 |
検索方向 | (なし) |
VLOOKUP関数では抽出列を「列番号」として「数値」で指定しましたが、XLOOKUP関数は「戻り範囲」として「範囲」で指定します。
その他VLOOKUP関数であった「検索値」や「範囲」、「検索方法」は、基本的にXLOOKUP関数でも同じように指定します。
3.各引数の入れ方
続いて、XLOOKUP関数の各引数の入れ方を見てみます。
3-1.「検索値」の入れ方
検索値には、「探したい値」を指定します。
検索値の指定の仕方は、次の通りです。
(1) 文字列、日付、時刻の場合
検索値を文字列や日付、時刻にする場合には、値を「"」で囲みます。
数式の例は、それぞれ次の通りです。
- 文字列:=XLOOKUP("青森県",A4:A9,B4:H9)
- 日付:=XLOOKUP("4/1",A4:A9,B4:H9)
- 時刻:=XLOOKUP("9:00",A4:A9,B4:H9)
(2) 数値、セル番号の場合
検索値を数値やセル番号にする場合には、そのまま入力すればOKです。
数式の例は、それぞれ次の通りです。
- 数値:=XLOOKUP(4,A4:A9,B4:H9)
- 日付:=XLOOKUP(A13,A4:A9,B4:H9)
3-2.「検索範囲」の入れ方
検索範囲には、「検索値を検索する範囲」を指定します。
ポイントは、次の通りです。
- 指定の形は「上のセル番号:下のセル番号」
- 1列を指定する
- タイトル行は一般的に含まない
VLOOKUP関数と違い、「検索値を検索する範囲を1列」指定します。
3-3.「戻り範囲」の入れ方
戻り範囲には、「返してほしい範囲」を指定します。
ポイントは、次の通りです。
- 指定の形は「上のセル番号:下のセル番号」
- 複数列の指定可能
- タイトル行は一般的に含まない
3-4.「不一致の場合」の入れ方
不一致の場合には、「条件に合うデータがなかった場合に返す値」を指定します。
ポイントは、次の通りです。
- 指定せず条件一致のデータがない場合は”N/Aエラーになる
- 指定の仕方は「検索値」と一緒
例えば指定せず、条件一致のデータがない場合には、#N/Aエラーになります。
対して、「不一致の場合」に「""」と入れると空白表示ができます。
3-5.「検索方法」の入れ方
検索方法は、「検索値の検索方法」を指定します。
指定の種類は、次の通りです。
検索方法の種類 | 入れ方 |
完全一致のみ(省略可能) | 0 |
完全一致(ない場合は小さい近い値) | -1 |
完全一致(ない場合は大きい近い値) | 1 |
含む条件 | 2 |
一般的には「完全一致のみ」がよく使われ、「完全一致のみ」は省略可能です。
3-6.「検索方向」の入れ方
検索方向には、「検索値の検索方向」を指定します。
指定の種類は、次の通りです。
検索方法の種類 | 入れ方 |
上から検索(省略可能) | 1 |
下から検索 | -1 |
上から検索(バイナリ検索のため元データは昇順であること) | 2 |
下から検索(バイナリ検索のため元データは降順であること) | -2 |
一般的には「上からの検索」がよく使われ、その場合は省略可能です。
なお、バイナリ検索とは「2分木検索」のことで、全体を半分個して中央の値からどっちにデータが入っているかを検索するので「高速」ですが、一方で元データはきちんと並び替えられている必要があります。
4.XLOOKUP関数の使い方
最後に、XLOOKUP関数の使い方を確認します。
先ほどの例を使って数式を作ります。
セルA13に「4」と入れ、「№4のデータ」を上の表から抜き出します。
以下手順です。
(1)結果を表示させたい範囲の一番左のセルに「=XLOOKUP(」と入力する
(2)検索値を入力後、半角の「,」を入力する
(3)検索範囲を入力後、半角の「,」を入力する
(4)戻り範囲を入力する
(5)必要に応じて不一致の場合や検索方法、検索方向を指定後、Enterキーを押せば完了
例の場合、数式は次のようになります。
=XLOOKUP(A13,A4:A9,B4:H9)
以上、参考になれば幸いです。
【口コミ・評判のいいExcel本の紹介】