XLOOKUP 関数の使い方:構文・例・エラー対処
2026-10-12 更新 · 無料 · Excel と Google Sheets に対応
構文
=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [一致モード], [検索モード])クイック回答
XLOOKUP は 1 つの列から値を探し、同じ行の別の列(範囲)の値を返します——左右どちら向きでも検索でき、既定で完全一致、さらに「見つからない場合」のメッセージも組み込みです:=XLOOKUP(A2, $D$2:$D$500, $E$2:$E$500, "見つかりません")。#NAME? はほぼ必ず Excel のバージョンが 2021 未満であることを意味し、#N/A は値が検索列にないか、見た目だけ同じ(文字列の数字、見えない空白)であることを意味します。
構文
=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [一致モード], [検索モード])| 引数 | 必須 | 意味 |
|---|---|---|
| 検索値 | 必須 | 探す値:数値、文字列、日付、または A2 のようなセル参照。 |
| 検索範囲 | 必須 | 検索する列。VLOOKUP と違い、どの範囲の第一列である必要はなく、その列を直接指定します。 |
| 戻り範囲 | 必須 | 返す値がある列(または複数列)。検索列の左にあっても構いません。両方の範囲の行数は同じである必要があります。 |
| 見つからない場合 | 省略可 | 見つからないときに #N/A の代わりに返すメッセージや値——IFERROR で包む必要はありません。 |
| 一致モード | 省略可 | 0(既定)= 完全一致。-1 = 完全一致または次に小さい値。1 = 完全一致または次に大きい値。2 = ワイルドカード一致(* と ?)。 |
| 検索モード | 省略可 | 1(既定)= 先頭から末尾へ。-1 = 末尾から先頭へ(最後の一致を先に返す)。2/-2 = ソート済みデータのバイナリ検索。 |
地域設定によっては、引数をカンマではなくセミコロンで区切ります:=XLOOKUP(A2; $D$2:$D$500; $E$2:$E$500; "見つかりません")。小数点にカンマを使う地域ではこれが標準です。
基本的な使用例
=XLOOKUP(A2, $D$2:$D$500, $E$2:$E$500, "見つかりません")毎日の定番パターン:D 列から A2 の値を探し、E 列の対応する値を返します。見つからない場合は生の #N/A ではなく「見つかりません」と表示され、エラー処理で包む必要はまったくありません。
=XLOOKUP(A2, $E$2:$E$500, $D$2:$D$500, "見つかりません")左方向の検索:戻り列が検索列の左にあります。XLOOKUP が登場する前は、このケースで INDEX/MATCH を使わざるを得ませんでした。
=XLOOKUP(A2, $D$2:$D$500, $E$2:$E$500, "見つかりません", 0, -1)末尾から先頭へ検索:キーが重複している場合、最初ではなく最新の一致を返します——価格表やステータス履歴で便利です。
検索範囲と戻り範囲の行数は完全に一致させなければなりません。片方が D2:D500 でもう片方が E2:E499 だと、XLOOKUP は #VALUE! で失敗します。
よくあるエラーと対処法
| エラー | 最も多い原因 | 対処法 |
|---|---|---|
| #NAME? | Excel のバージョンが XLOOKUP より古い(Excel 2019 以前)、または関数名のタイプミス。 | XLOOKUP には Microsoft 365 または Excel 2021 以降が必要です。古いバージョンでは INDEX/MATCH か VLOOKUP を使います。 |
| #VALUE! | 検索範囲と戻り範囲の行数が違う、または片方に単一セルしか指定していない。 | 両方の範囲を同じ高さにします。例:D2:D500 と E2:E500。 |
| #N/A | 値が検索列にない——または見た目だけ同じ(文字列の数字、末尾の空白、改行しない空白)。 | VALUE() で文字列の数字を変換し、見えない空白を取り除きます。または「見つからない場合」引数でわかりやすいメッセージを返します。 |
| #SPILL! | 複数列の戻り範囲が隣接セルにふさがれていてスピルできない。 | 結果が展開される数式の下・右のセルを空にします。 |
Web からコピーした末尾の空白や改行しない空白も、ここでも最も陰湿な #N/A の原因です:XLOOKUP にとって「NYC 」と「NYC」は別の文字列です。検索する前にワンクリックで列全体をきれいにしましょう。
XLOOKUP と VLOOKUP の違い
| XLOOKUP | VLOOKUP | |
|---|---|---|
| 使える環境 | Microsoft 365 と Excel 2021 以降 | すべての Excel バージョン(Google Sheets 含む) |
| 左方向の検索 | できる | できない |
| 既定で完全一致 | はい | いいえ——FALSE を書く必要あり |
| 列の挿入に強い | 強い——範囲が列全体を直接指す | 弱い——固定の列番号がずれる |
| 値が見つからないとき | 「見つからない場合」引数を内蔵 | #N/A(IFERROR で包む) |
| 複数列の返却 | 可能——1 つの数式で複数列にスピル | 不可——1 数式につき 1 値 |
Microsoft 365 を使っているなら、新しいブックはすべて XLOOKUP にしましょう:「第一列ルール」、FALSE を書く習慣、IFERROR で包む手間を一気に解消できます。古い共有ブックや全環境で動かす必要がある Google Sheets の数式では、引き続き VLOOKUP が役立ちます。
Google Sheets での XLOOKUP
Google Sheets は XLOOKUP をサポートしており、6 つの引数と既定の動作は Excel と完全に同じです。上の数式はそのまま貼り付けて使えます。
- 既定の完全一致と「見つからない場合」引数の動作は両プラットフォームで同じです。
- ワイルドカードは一致モード 2 で使います。Excel と Sheets で同じように動きます。
- 小数点にカンマを使う地域設定(ヨーロッパやラテンアメリカの多くの地域)では、引数の間にセミコロンを書きます:=XLOOKUP(A2; D2:D500; E2:E500; "見つかりません")。Excel も同様です。
- XLOOKUP より前の古い Sheets ドキュメントでも VLOOKUP はそのまま動きます——両関数は共存できるので、混在していても問題ありません。
限界と実践テクニック
- バージョンの壁:XLOOKUP は Microsoft 365 と Excel 2021 以降にのみ存在します。使ったブックは Excel 2019 のユーザーが開いた瞬間に #NAME? になります。
- 両方の配列は同じ高さである必要があります——D2:D500 と E2:E500 を一度に選ぶ習慣をつけましょう。
- フィルハンドル(選択範囲の隅の小さな四角)をダブルクリックすると、数式を最終行まで一気にコピーできます。
- 検索モード -1 を使うと、キーが重複するログから最新の一致を取り出せます。
- 行と列の両方で探す二次元検索は、XLOOKUP の中に XLOOKUP をネストします——古い INDEX/MATCH/MATCH パターンを置き換えます。
1 つの値ではなく、別のファイルから多くの列を取り込みたいですか?それは検索ではなく表の結合です:下の無料ツールなら数式なしでできます。
関連ツール
関連関数
よくある質問
XLOOKUP 関数は何をするためのものですか?
XLOOKUP は 1 つの列から値を探し、同じ行の別の列の値を返します——方向はどちらでもよく、既定で完全一致、組み込みの「見つからない場合」メッセージも付いています。VLOOKUP と INDEX/MATCH の現代的な代替です。
自分の Excel で XLOOKUP が使えないのはなぜですか?
ほとんどはバージョンの問題です:XLOOKUP は Microsoft 365 と Excel 2021 以降にのみ存在します。Excel 2019 以前では #NAME? が返ります。解決策はアップグレードするか、全バージョンで動く INDEX/MATCH に書き換えるかです。
XLOOKUP で #N/A の代わりに「見つかりません」と表示するには?
4 番目の引数を埋めます:=XLOOKUP(A2, D2:D500, E2:E500, "見つかりません")。VLOOKUP と違い、IFERROR で包む必要はありません——メッセージ自体が関数の一部です。
XLOOKUP は左方向にも検索できますか?
はい。検索列と戻り列は独立した範囲なので、戻り列はどこにあっても構いません——左でも右でも別シートでも。これが VLOOKUP より XLOOKUP を好む最大の理由です。
XLOOKUP は複数列を一度に返せますか?
はい。戻り範囲に複数列の範囲を渡します。例:=XLOOKUP(A2, D2:D500, E2:G500)。数式は要求したすべての列にスピルします。隣接セルが空であることを確認してください。空でないと #SPILL! になります。
XLOOKUP は VLOOKUP より良いですか?
Microsoft 365 ユーザーには、はい:既定で完全一致、左方向の検索、組み込みの未検出メッセージ、複数列の返却、列を挿入しても壊れない。VLOOKUP の価値は古いバージョンとの互換性にあります。
XLOOKUP は Google Sheets でも使えますか?
はい——Sheets は Excel と同じ引数・既定値の XLOOKUP をサポートしており、「見つからない場合」のメッセージも含まれます。小数点にカンマを使う地域設定では引数の区切り文字だけが変わり、セミコロンを使います。
自分のファイルで試す準備はできましたか?
2つのExcelテーブルをキーで結合を開く — 無料