XLOOKUPとVLOOKUPの違いを徹底比較|どっちを使えばいい?【2026】

スポンサーリンク
スポンサーリンク

「VLOOKUP は使えるけど、XLOOKUP って結局なにが違うの?」そんな疑問をよく見かけます。フリーランスのブロガーとして日々 Excel を使っていますが、XLOOKUP に切り替えた途端、作業効率が体感でかなり上がりました。

 

この記事では XLOOKUP と VLOOKUP の違いを比較表つきで整理し、どちらを選ぶべきかを判断できるよう解説します。

「XLOOKUP が使えない環境の見分け方」や「既存のVLOOKUP ファイルをどう移行するか」といった実務的な話も含めて、ひとつずつ丁寧に見ていきましょう。

スポンサーリンク

XLOOKUP と VLOOKUP、そもそもどう違う?

まず、両者の立ち位置を整理します。VLOOKUP(垂直方向に検索)は 2003 年ごろから Excel に搭載されており、長年にわたって「定番の検索関数」として使われてきました。一方、XLOOKUP(拡張検索)は 2019 年に登場した後継関数で、VLOOKUP が抱えていた構造的な弱点を根本から解消しています。

 

ひとことで言うと、VLOOKUP は「列番号を数える」関数、XLOOKUP は「範囲を指定する」関数です。この違いが、以下で紹介するすべての差につながっています。

比較項目 VLOOKUP XLOOKUP
検索の方向 右方向のみ 左・右・上・下すべて対応
列番号の指定 数値で指定(列追加でズレる) 範囲で指定(列追加に強い)
エラー時の処理 IFERROR を別途ネスト 第4引数で直接指定できる
一致モード 完全一致 or 近似一致(2択) 完全・近似・ワイルドカード・正規表現対応
検索順序 先頭から末尾のみ 末尾から先頭(逆順)も選べる
複数列の返却 1列ずつ関数を書く必要あり 範囲指定で複数列まとめて返却
利用可能バージョン Excel 2003 以降すべて Excel 2021・Microsoft 365 のみ

この表を見れば、機能面で XLOOKUP が VLOOKUP を大きく上回っていることは明らかです。ただし「どっちを使うべきか」は、環境によって変わります。その判断軸を次のセクションで整理します。

スポンサーリンク

XLOOKUP が圧倒的に優れている3つのポイント

機能面の優位性はすでに比較表で確認しましたが、実際の作業でどう差が出るのかをポイント別に掘り下げます。日々の Excel 業務で「あの不便さはここから来ていたのか」と腑に落ちる部分が必ずあるはずです。

① 列が増えても数式が壊れない

VLOOKUP 最大の落とし穴が「列番号のズレ」です。たとえば、

=VLOOKUP(A2,B:E,3,0) と書いた後で B 列と C 列の間に新しい列を挿入すると、取得したい列が自動でズレてしまいます。これは構造上の問題であり、IFERRORを使っても根本的には解決しません。

 

XLOOKUP は列番号の代わりに「返却する範囲そのもの」を指定します。列を追加・削除しても参照範囲が自動で追随するため、大規模な表管理や複数人での共同編集に非常に強いのが特徴です。

 

📊
列を追加したときの挙動の違い
❌ VLOOKUP ✅ XLOOKUP
列挿入前 …, B:E, 3, 0) …, B:B, D:D, …)
C列に新列を挿入 「3」はズレたまま変わらない
→ 意図しない列の値を返す
D:D の参照が自動で追随
→ 正しい列を返し続ける
修正が必要か ⚠️ 数式を手動で直す必要あり 🙆 修正不要・そのまま使える

💡 実務ポイント:月ごとに列が増える売上管理表や、複数部署が更新する共有ファイルには XLOOKUP が特に威力を発揮します。

② エラー処理が1行で完結する

VLOOKUP で検索値が見つからない場合、#N/A エラーが表示されます。これを回避するには =IFERROR(VLOOKUP(…),””) のように外側に IFERROR をネストする必要があり、式が長くなりがちです。

 

XLOOKUP には「見つからない場合の値」を指定する第4引数(省略可)が用意されています。=XLOOKUP(A2,B:B,C:C,”該当なし”) のように書くだけで、エラー処理まで1行で完結します。式がシンプルになると、他の人がメンテナンスしやすくなるのも大きなメリットです。

 

⚠️
エラー処理の書き方比較

❌ VLOOKUP ― IFERRORを外側に重ねる必要あり
=IFERROR(VLOOKUP(A2, $B$2:$E$100, 3, 0), “該当なし”)
↑ IFERROR で二重に囲む構造のため、式が長く読みにくい

↓ XLOOKUP なら

✅ XLOOKUP ― 第4引数に直接書くだけ
=XLOOKUP(A2, $B$2:$B$100, $D$2:$D$100, “該当なし”)
↑ 1行で完結。第4引数(赤枠部分)がエラー時の表示値になる

 

→ IFERROR のくわしい使い方はExcelでエラーを消す!IFERROR関数の使い方と具体例【保存版】で解説しています。

③ 左方向にも検索できる

VLOOKUP は「検索キーが一番左の列にある」という制約があります。このため、右側の列でキーを検索して左の列の値を取得したい場合、INDEX と MATCH を組み合わせる必要がありました。

 

XLOOKUP にはこの制約がなく、検索範囲と返却範囲をそれぞれ独立して指定できます。左右どちらの方向でも検索できるため、テーブルの列順を気にせず自由に設計できます。

🔍
検索方向の違い ― テーブルで比較

商品名(A列) カテゴリ(B列) 商品コード(C列)
りんご 果物 A001
にんじん 野菜 B002

やりたいこと VLOOKUP XLOOKUP
商品コード(C列)から商品名(A列)を取得 ❌ 不可
キーより左の列は返せない
INDEX+MATCHが必要
✅ 可能
=XLOOKUP(C2, C:C, A:A)
商品名(A列)から商品コード(C列)を取得 ✅ 可能
=VLOOKUP(A2, A:C, 3, 0)
✅ 可能
=XLOOKUP(A2, A:A, C:C)
💡 XLOOKUP は検索列と返却列を別々に指定するため、テーブルの左右どちらへでも自由に検索できます。
スポンサーリンク

VLOOKUP を使い続けてよいケース

XLOOKUP が優れているとはいえ、VLOOKUP が適しているシーンも確かに存在します。判断の目安は「ファイルを共有する相手の Excel バージョン」です。

XLOOKUP は Excel 2021 以降と Microsoft 365 でしか動きません。古いバージョンの Excel(2019 以前)で開くと #NAME? エラーになり、数式が機能しなくなります。

🔀
XLOOKUP か VLOOKUP か — 判断フロー

Q1
ファイルを開く人の Excel は 2021 以降 または Microsoft 365 ですか?
✅ はい
❌ いいえ / 不明

✅ はい → XLOOKUP を選ぶ
  • エラー処理が簡潔
  • 左方向検索も可能
  • 列追加に強い
  • 複数列を一括返却できる
❌ いいえ → VLOOKUP を継続
  • 2019以前では #NAME? になる
  • 互換性を優先する局面
  • 社外・取引先への共有ファイル
  • バージョン確認ができない場合

社内のみで完結するファイルなら XLOOKUP への移行を進めやすいですが、取引先や外部委託先に送るファイルの場合、先方の環境を事前に確認することが重要です。「互換性が読めないときは VLOOKUP のまま」と判断することも、立派なプロの選択です。

スポンサーリンク

既存の VLOOKUP ファイルを XLOOKUP に移行する現実的な手順

競合の解説記事では「XLOOKUP の書き方」は詳しく紹介されていますが、「今ある VLOOKUP をどう置き換えるか」という実務的な移行手順まで踏み込んでいるものは多くありません。ここでは、段階的に安全に移行する方法を整理します。

ステップ1:XLOOKUP が使える環境か確認する

Excel のセルに =XLOOKUP( と入力したとき、関数の候補が表示されれば利用可能です。#NAME? が出る、または候補が出ない場合は対応バージョンではありません。

 

Microsoft 365 の場合は常に最新版が適用されているため基本的に問題ありません。ただし、管理者によって更新が制限されている企業環境では、IT部門への確認をお勧めします。

ステップ2:置き換え候補の式をリストアップする

Ctrl + H(検索と置換)ではなく、まず Ctrl + ` (バッククォート)で「数式の表示モード」にし、VLOOKUP が使われているセルを目視確認します。影響範囲を把握してから作業を始めることで、ミスを防げます。

ステップ3:1つだけ置き換えて動作確認する

いきなり全置換するのは危険です。まず1つのセルだけ XLOOKUP に書き直し、返却値が VLOOKUP と同じになるか確認します。問題がなければ他のセルに展開していきます。

 

🔄
VLOOKUP → XLOOKUP 変換例

❌ 移行前(VLOOKUP)
=IFERROR(VLOOKUP(A2, $B$2:$E$100, 3, 0), “該当なし”)
  • 列番号「3」はB列から数えて3列目(D列)
  • B〜E間に列を追加すると「3」がズレる
  • IFERRORを外側にネストする必要がある

✅ 移行後(XLOOKUP)
=XLOOKUP(A2, $B$2:$B$100, $D$2:$D$100, “該当なし”)
  • 返却したい列(D列)を直接範囲で指定
  • 列が増えても自動追随する
  • エラー処理が第4引数で完結

 

数式の構造変化に慣れるまでは戸惑うかもしれませんが、慣れてしまえば XLOOKUP の書き方のほうがシンプルに感じられるはずです。

→ VLOOKUP のエラーが出て困っている方はVLOOKUPエラーの原因と直し方|症状別逆引きチェックリスト【2026】も合わせてご確認ください。

スポンサーリンク

数式が思い通りに動かない時に確認すること

XLOOKUP に切り替えたあとも、想定外の結果が返ってくることがあります。よくあるつまずきポイントを整理しておきます。

症状 主な原因 対処法
#NAME? が出る XLOOKUP 非対応バージョン Excel 2021 / M365 に切り替える
検索値が見つからない データ型の不一致(数値 vs 文字列) VALUE() や TEXT() で型を統一する
別の値が返ってくる 検索範囲と返却範囲の行数が合っていない 両方の範囲の行数を揃える
スピルが発生する 返却範囲に複数列を指定している 単一列に絞るか、スピルを活用する

特に多いのは「データ型の不一致」です。マスターデータに数値として入っている ID と、別シートに文字列として入力した ID を照合しようとすると、完全一致でも見つからない結果になります。これは VLOOKUP でも同じ問題が起きますが、XLOOKUP に移行したタイミングで改めて気づくケースが多いです。

→ 数式が期待通り動かない場合はExcelの数式が反映されない原因と直し方7選【即解決チェックリスト】も参考にしてください。

スポンサーリンク

まとめ:XLOOKUP と VLOOKUP、結局どっちを使うべきか

最後に、この記事の要点を整理します。

 

  • 新規で作るファイルなら XLOOKUP が一択。機能・可読性・保守性のすべてで上回っています。
  • 既存の VLOOKUP ファイルは、共有相手の環境を確認してから移行。Excel 2019 以前が混在する環境では互換性リスクがあります。
  • 移行は1件ずつ確認しながら進める。一括置換は予期せぬズレを起こすことがあるため、段階的に行いましょう。

 

「XLOOKUP VLOOKUP どっち」で悩んでいる方の多くは、機能よりも「今のファイルをどう扱うか」で困っているはずです。環境の確認と段階的な移行を組み合わせることで、リスクを最小限に抑えながら新しい関数に移行できます。

 

まずは新規ファイルで XLOOKUP を試してみて、書き方に慣れることから始めてみてください。思いのほか直感的に使えると感じるはずです。

→ Excel 関連のトラブル解決はExcel数式が表示されるだけの原因と直し方!計算されない時の解決策Excelでエラーを消す!IFERROR関数の使い方と具体例【保存版】もあわせてどうぞ。

タイトルとURLをコピーしました