はじめに
スプレッドシートで表データを扱うとき、「この値に対応する情報を別の表から取り出したい」という場面はよくあります。
そんなときに使う代表的な関数といえば VLOOKUP ですが、最近ではより柔軟で使いやすい XLOOKUP(エックスルックアップ) 関数が登場し、注目を集めています。
この記事では、Googleスプレッドシートでも使える XLOOKUP 関数について、基本から応用、VLOOKUPとの違いまでをわかりやすく解説します。
1. XLOOKUP関数とは?
XLOOKUP は、指定した値を検索し、対応する値を返す関数です。
VLOOKUPやHLOOKUPの進化版といえる関数で、より柔軟でミスの少ない検索が可能になります。
2.XLOOKUPの特徴と使い方
=XLOOKUP(検索キー, 検索範囲, 戻り値の範囲, [見つからない場合の値], [一致モード], [検索モード])
引数 | 説明 |
---|---|
検索キー | 探したい値(例:「A001」など) |
検索範囲 | どこから検索するか(例: 商品コードの列) |
戻り値の範囲 | 対応する値を返す列 |
見つからない場合の値(省略可) | 該当がない場合に返す値(例:「該当なし」) |
一致モード(省略可) | 完全一致や近似一致の指定(通常は0=完全一致) |
検索モード(省略可) | 上から検索・下から検索など |
3.XLOOKUPの使用例
たとえば、以下のような商品マスタがあるとします。

表にcodeが入力されていて、それに対応する作品名を取得したい場合、次のように書きます:
=XLOOKUP(D2,A:A,B:B,"未登録")
この関数は、D2列に入力されたcodeをもとに、A列でcodeを検索し、B列から該当する作品名を返します。

もし該当がなければ「未登録」と表示されます。

4.VLOOKUPとの違いは?使い分けは必要?
特徴 | VLOOKUP | XLOOKUP |
---|---|---|
検索方向 | 左から右 | 左でも右でもOK |
挿入や削除の影響 | 列番号で指定 → 影響大 | 範囲で指定 → 安定 |
デフォルト一致 | 近似一致(注意!) | 完全一致 |
見つからない時 | エラー(#N/A) | 任意の値を指定可能 |
注目ポイント!
・左検索ができる!
VLOOKUPでは、検索対象が「検索列より左にある」と使えませんが、
XLOOKUPでは左でも右でも自由に取得できます!

・列追加による柔軟性が高い!
VLOOKUPでは「2列目」と指定しますが、列を追加するとずれる問題があります。

XLOOKUPでは範囲を直接指定するため、構造変更に強くなります。

5.応用例:社員IDから部署名を取得
以下のような社員マスタがあるとします。

社員IDをもとに部署名を取得したいときは:
=XLOOKUP(E2,$A$2:$A$16,$C$2:$C$16,"未登録")
F2セルに社員IDが入っていて、それに対応する部署名を返す関数です。

6.エラー処理にも便利!
従来は IFERROR(VLOOKUP(…)) のようにネストして書く必要がありました。

XLOOKUPでは第4引数で簡単にエラー処理ができます。
=XLOOKUP(A2, A列, B列, "データなし")

これだけで、該当しない場合の表示が制御できるのはとてもスマートです。
7.検索モードと一致モードの活用(上級)
XLOOKUPには高度なオプションもあります。
一致モード(第5引数)
0:完全一致(デフォルト)
使い方例
「スコア80に完全一致するランクを取得したい」
=XLOOKUP(A2, G2:G5, H2:H5, “該当なし”, 0)

-1
:以下の最も近い値(降順に並んでいる必要あり)
使い方例
「各社員がどのランクに近いか(以下の最も近い値)を知りたい」
=XLOOKUP(B2, $E$2:$E$5, $F$2:$F$5, "該当なし", -1)

1
:以上の最も近い値(昇順に並んでいる必要あり)
使い方例
「スコア○○以上のランクを知りたい(以上の最も近い値)」
=XLOOKUP(B2, $E$2:$E$5, $F$2:$F$5, "該当なし", 1)

検索モード(第6引数)
1
:上から下に検索(デフォルト)
使い方例
「重複があった際に最初に一致するスコアを取得したい」
最初に見つかった「91」の社員IDを探したい
=XLOOKUP(91, B2:B16, A2:A16, "該当なし", 0, 1)

-1
:下から上に検索(最後の一致を取得したい時に便利)
使い方例
「重複があった際に最後に一致するスコアを取得したい」
最後に見つかった「91」の社員IDを探したい
=XLOOKUP(91, B2:B16, A2:A16, "該当なし", 0, -1)

モード | 説明 | 並び順 | 代表的な用途 |
---|---|---|---|
0 | 完全一致 | 不問 | 値がそのままあるとき |
-1 | 以下の最も近い値 | 降順 | 評価・ランクなどの下限判定 |
1 | 以上の最も近い値 | 昇順 | 評価・ランクなどの上限判定 |
検索1 | 上から下 | 不問 | 最初の一致を取得 |
検索-1 | 下から上 | 不問 | 最後の一致を取得 |
8.まとめ
XLOOKUP は、従来の VLOOKUP の欠点を補った次世代の検索関数です。
改めて今回解説したXLOOKUP関数の概要をまとめると
・左右どちらにも対応可能
・範囲指定で列挿入に強い
・エラー処理がシンプル
・柔軟な検索モードが選べる
スプレッドシートでのデータ検索が多い方には、間違いなく覚えておきたい関数です!
ご質問や「こんな場面で使える?」など気になることがあれば、お気軽にコメントやメッセージくださいね!
当サイトではGoogleスプレッドシート、Excel、AIと表計算の組み合わせ等の便利な情報を発信しています!
当サイトをブックマークしていつでも遊んできてくださいね
それじゃまた他の記事でお会いしましょう
コメント