VLOOKUPとXLOOKUPの違いは?どっちを使うべきか比較表で初心者向けに解説!

結論からいうと、新しく数式を作るなら、対応しているExcel環境ではXLOOKUP関数がおすすめです。
検索する列と結果を返す列を別々に指定でき、左方向の検索やエラー時の表示設定にも対応しているためです。
ただし、古いExcelを使っている場合や、社内で共有するファイルに互換性が必要な場合は、VLOOKUP関数が適していることもあります。
この記事では、Excel初心者にもわかるように、2つの関数の違いを比較表や図、実際に使える数式で解説します。
-
VLOOKUPとXLOOKUPの違いと基本的な仕組み
-
2つの関数の数式の書き方と具体的な使用例
-
自分のExcel環境に合った関数の選び方
-
#N/Aや#NAME?などのエラーの原因と対処法
-
VLOOKUPからXLOOKUPへ切り替えるメリットと注意点
VLOOKUPとXLOOKUPの違いを比較表で解説
VLOOKUP関数とXLOOKUP関数は、どちらも表の中から目的のデータを探し、対応する値を取り出すための関数です。
例えば、商品コードを入力して価格を調べたり、社員番号から氏名を表示したりするときに使います。
大きな違いは、検索する範囲と結果を取り出す範囲の指定方法です。
VLOOKUPとXLOOKUPの比較一覧表
| 比較項目 | VLOOKUP関数 | XLOOKUP関数 |
|---|---|---|
| 検索方向 | 検索列から右方向に結果を取得 | 左右どちらの列からも取得可能 |
| 数式の指定 | 表全体と列番号を指定 | 検索範囲と戻り値範囲を指定 |
| 列番号 | 必要 | 不要 |
| 完全一致 | FALSEを指定 |
既定で完全一致 |
| 見つからない場合 | 通常は#N/A |
任意の文字などを指定可能 |
| 最後の一致を検索 | 標準機能では難しい | 検索モードで指定可能 |
| 複数列の結果 | 基本的に1列ずつ取得 | 対応環境では複数列をまとめて取得可能 |
| 古いExcelとの互換性 | 広い | 対応バージョンに制限あり |
2つの関数の仕組みを図で理解しよう
検索列を基準に、右側にある列から結果を取得します。
商品コード
検索する列
商品名
2列目
価格
3列目
商品コードから価格を取得するには、列番号に「3」を指定します。
VLOOKUP関数の仕組み
検索する列と、結果を取り出す列を直接指定します。
商品コード列
検索範囲
価格列
戻り値範囲
検索範囲と戻り値範囲を直接指定するため、列番号を数える必要がありません。
検索列を基準に、右側にある列から結果を取得します。
商品コード
検索する列
商品名
2列目
価格
3列目
商品コードから価格を取得するには、列番号に「3」を指定します。
XLOOKUP関数の仕組み
検索する列と、結果を取り出す列を直接指定します。
商品コード列
検索範囲
価格列
戻り値範囲
検索範囲と戻り値範囲を直接指定するため、列番号を数える必要がありません。
どちらが優れている?主な違いは3つ
1. XLOOKUPは左方向にも検索できる
VLOOKUPでは、検索値が表の左端列にある必要があります。検索値より左側にあるデータを取得することはできません。
XLOOKUPなら検索範囲と戻り値範囲を別々に指定できるため、検索値より左側の列からでも結果を取得できます。
2. XLOOKUPは列番号を指定しなくてよい
VLOOKUPでは、検索範囲の左端を1列目として、結果が何列目にあるかを数える必要があります。
XLOOKUPでは、結果を返したい列を直接指定するため、数式を見ただけで検索先を把握しやすくなります。
3. XLOOKUPは見つからない場合の表示を設定できる
XLOOKUPでは、検索値が見つからなかったときに「該当なし」などの文字を表示できます。VLOOKUPでもIFERROR関数などを組み合わせれば同様の処理が可能ですが、XLOOKUPなら1つの数式で設定できます。
VLOOKUP関数とXLOOKUP関数の書き方
ここからは、同じ商品データを使って2つの関数を実際に比較します。
VLOOKUP関数の基本的な使い方
VLOOKUP関数の基本構文は次のとおりです。
=VLOOKUP(検索値, 範囲, 列番号, 検索の型)
それぞれの意味は次のとおりです。
| 引数 | 意味 | 例 |
|---|---|---|
| 検索値 | 探したい商品コードなど | "A001" |
| 範囲 | 検索する表全体 | A2:C5 |
| 列番号 | 結果がある列の番号 | 3 |
| 検索の型 | 完全一致か近似一致か | FALSE |
通常の商品コードや社員番号の検索では、完全一致を指定するFALSEを使うのが基本です。
第4引数を省略すると近似一致になるため、意図しない結果を返す場合があります。
XLOOKUP関数の基本的な使い方
XLOOKUP関数の基本構文は次のとおりです。
=XLOOKUP(検索値, 検索範囲, 戻り値範囲)
主な引数は次の3つです。
| 引数 | 意味 | 例 |
|---|---|---|
| 検索値 | 探したい商品コードなど | "A001" |
| 検索範囲 | 商品コードが入っている列 | A2:A5 |
| 戻り値範囲 | 価格が入っている列 | C2:C5 |
XLOOKUPでは、完全一致が標準です。見つからない場合の表示などは、必要に応じて追加できます。
同じデータを検索した場合の数式を比較
次のような商品一覧表があるとします。
| A列:商品コード | B列:商品名 | C列:価格 |
|---|---|---|
| A001 | ノート | 150 |
| A002 | ボールペン | 120 |
| A003 | ファイル | 250 |
| A004 | 消しゴム | 100 |
商品コード「A003」の価格を調べる場合、次の数式を使います。
VLOOKUPで価格を検索する
=VLOOKUP("A003",A2:C5,3,FALSE)
結果:250
A列から商品コードを探し、指定範囲の3列目にある価格を返します。
XLOOKUPで価格を検索する
=XLOOKUP("A003",A2:A5,C2:C5)
結果:250
A列の商品コードを検索し、同じ行にあるC列の価格を返します。
どちらも結果は250ですが、XLOOKUPは列番号を指定しなくてよいため、数式を理解しやすいのが特徴です。
XLOOKUPで「該当なし」と表示する方法
検索した商品コードが表に存在しない場合、通常はエラーが表示されます。
XLOOKUPなら、見つからない場合に表示する文字を簡単に指定できます。
=XLOOKUP("A005",A2:A5,C2:C5,"該当なし")
この例では、商品コード「A005」が見つからないため、「該当なし」と表示されます。
見つからない場合の文字は第4引数に指定します。エラーを単純に隠すだけでなく、検索結果がないことをわかりやすく伝えられます。
XLOOKUPで左側のデータを検索する方法
例えば、商品名から商品コードを調べたい場合、検索値がB列、取得したい商品コードがA列にあります。
VLOOKUPでは、このように検索列より左側にあるデータを直接取得できません。
一方、XLOOKUPなら次の数式で検索できます。
=XLOOKUP("ファイル",B2:B5,A2:A5)
結果は「A003」です。
検索範囲にB列、戻り値範囲にA列を指定するだけで、左方向の検索ができます。
VLOOKUPとXLOOKUPはどっちを使うべき?
どちらを選ぶかは、Excelのバージョンとファイルの利用環境によって判断しましょう。
XLOOKUPがおすすめなケース
次のような場合は、XLOOKUPがおすすめです。
-
Microsoft 365やExcel 2021、Excel 2024などの対応環境を使っている
-
これから新しい検索用の数式を作る
-
検索値より左側のデータも取得したい
-
列番号の指定ミスを減らしたい
-
見つからない場合に「該当なし」と表示したい
-
1つの検索値から複数列の情報をまとめて取得したい
XLOOKUPは、完全一致が既定で、必要に応じて検索方向や一致方法も指定できます。
VLOOKUPがおすすめなケース
次のような場合は、VLOOKUPを使い続ける選択肢もあります。
-
Excel 2016やExcel 2019など、XLOOKUPに対応していない環境を使っている
-
古いExcelを使う相手とファイルを共有する
-
既存のVLOOKUP数式が問題なく動作している
-
職場のマニュアルや業務システムがVLOOKUPを前提としている
Microsoftの公式サポートでは、XLOOKUPはExcel 2016およびExcel 2019では利用できないと案内されています。新しいExcelで作成されたファイルにXLOOKUPが含まれていても、古い環境では正常に計算できない可能性があるため注意が必要です。
Excelのバージョンによる使い分け
| Excelの環境 | おすすめの判断 |
|---|---|
| Microsoft 365 | XLOOKUPを優先 |
| Excel 2021 | XLOOKUPを優先 |
| Excel 2024 | XLOOKUPを優先 |
| Excel 2019・2016 | VLOOKUPなどを使用 |
| 共有相手の環境が不明 | 互換性を確認して選ぶ |
どちらを使うか迷ったときの判断フロー
新しく検索用の数式を作る?
利用するExcelはXLOOKUP対応?
対応している
XLOOKUPを使う
対応していない
VLOOKUPなどを使う
共有ファイルの場合は、相手のExcel環境も確認しましょう。
VLOOKUPからXLOOKUPに変更するメリットと注意点
メリット1:列番号を数える手間がなくなる
VLOOKUPでは、取得したいデータが検索範囲の何列目にあるかを指定します。
項目が多い表では、列番号を数え間違える可能性があります。
XLOOKUPでは戻り値範囲を直接指定できるため、数式の意味がわかりやすくなります。
メリット2:左方向の検索や複数列の取得ができる
XLOOKUPでは、検索列の左側にあるデータも取得できます。
また、対応環境では戻り値範囲に複数列を指定し、商品名と価格などをまとめて返すこともできます。
メリット3:見つからない場合の処理を簡単にできる
VLOOKUPでもIFERROR関数などを組み合わせれば、エラー表示を変更できます。
ただし、IFERRORは検索以外のエラーもまとめて隠す可能性があります。
XLOOKUPの「見つからない場合」引数なら、検索値が見つからない場合の表示を直接指定できるため、目的が明確です。
注意点:XLOOKUPでもすべての問題を防げるわけではない
XLOOKUPは便利ですが、万能ではありません。
-
検索値に余分な空白があると、意図した値が見つからないことがある
-
検索範囲と戻り値範囲の行数が一致しないと、エラーになる場合がある
-
数式の参照先や表の構造を変更すると、修正が必要になる場合がある
-
古いExcelとの互換性に注意が必要
そのため、XLOOKUPを使えば必ずエラーがなくなるというわけではありません。
データの形式や参照範囲も確認しましょう。
VLOOKUPとXLOOKUPでよくあるエラーと対処法
Excelで検索関数を使うと、検索値が見つからなかったり、数式そのものが認識されなかったりすることがあります。
| エラー・症状 | 主な原因 | 対処法 |
|---|---|---|
#N/A |
検索値が見つからない | 検索値、空白、全角・半角を確認 |
#NAME? |
関数名が認識されない | XLOOKUPの対応状況や入力ミスを確認 |
#REF! |
無効なセル参照など | 参照範囲やVLOOKUPの列番号を確認 |
| 違う値が表示される | 近似一致や範囲の指定ミス | VLOOKUPでは第4引数にFALSEを指定 |
| コピーすると結果がずれる | 相対参照の範囲が移動した | 必要に応じて$で絶対参照にする |
#N/Aエラーが出た場合
まず、検索値と検索対象の値が一致しているか確認しましょう。
例えば、商品コードに余分な空白がある場合や、数字と文字列が混在している場合は、期待した検索結果が得られないことがあります。
VLOOKUPでは、完全一致で検索する場合に第4引数をFALSEにします。XLOOKUPでは、完全一致が既定です。
#NAME?エラーが出た場合
XLOOKUPを入力して#NAME?が表示された場合は、次の点を確認してください。
-
XLOOKUPのつづりが正しいか確認する -
利用しているExcelがXLOOKUPに対応しているか確認する
-
数式の区切り記号や括弧が正しいか確認する
Excel 2016やExcel 2019ではXLOOKUPを利用できないため、対応環境でなければVLOOKUPなどの関数に置き換える必要があります。
数式をコピーすると結果がずれる場合
数式を下の行にコピーすると、相対参照で指定したセル範囲も移動します。
例えば、検索対象の範囲を固定したい場合は、次のように絶対参照を使用できます。
=XLOOKUP(A2,$E$2:$E$100,$F$2:$F$100)
この数式では、検索値のA2はコピー先に応じて変わりますが、検索範囲と戻り値範囲は固定されます。
VLOOKUPとXLOOKUPに関するよくある質問
XLOOKUPはVLOOKUPの上位互換ですか?
検索方向や引数のわかりやすさなど、多くの点でXLOOKUPはVLOOKUPより便利です。
ただし、古いExcelでは利用できないため、互換性まで含めて完全な上位互換とは言い切れません。
XLOOKUPは古いExcelでも使えますか?
Excel 2016およびExcel 2019では利用できません。
Microsoft 365、Excel 2021、Excel 2024などの対応環境で使用しましょう。
VLOOKUPを使い続けても問題ありませんか?
問題ありません。既存の数式が正しく動作し、共有環境にも適しているなら、無理に変更する必要はありません。
新しい表を作る場合は、利用環境が対応していればXLOOKUPを検討しましょう。
VLOOKUPとXLOOKUPではどちらが簡単ですか?
基本的な検索ではXLOOKUPのほうが指定方法を理解しやすいといえます。
検索範囲と戻り値範囲を別々に指定でき、列番号を数える必要がないためです。
XLOOKUPは複数の列を一度に取得できますか?
はい。対応環境では、戻り値範囲に複数列を指定できます。
例えば、商品コードから商品名と価格をまとめて取得する使い方が可能です。
まとめ|VLOOKUPとXLOOKUPの違いを理解して使い分けよう
VLOOKUPとXLOOKUPは、どちらもExcelでデータを検索するための関数ですが、検索範囲や数式の指定方法に違いがあります。
-
XLOOKUP:新しく数式を作る場合におすすめ。左右方向の検索、エラー時の表示設定、複数列の取得などに対応
-
VLOOKUP:古いExcelとの互換性が必要な場合や、既存の数式を維持したい場合に便利
-
エラー対策:検索値、参照範囲、Excelのバージョンを確認することが重要
まずは、普段使っているExcelがXLOOKUPに対応しているか確認してみましょう。
対応していれば、商品コードや社員番号などの検索からXLOOKUPを使うと、数式を読みやすく管理しやすくなります。
参考:Microsoft公式サポート
公開前のSEOチェックポイント
-
タイトルに「VLOOKUP」「XLOOKUP」「違い」を含めている
-
冒頭で、どちらを使うべきか結論を示している
-
比較表と数式の実例を掲載している
-
Excelの対応バージョンと互換性を説明している
-
エラー対処法とFAQを掲載している
-
公式の一次情報を参照している
※検索順位3位以内を保証することはできません。公開後はGoogle Search Consoleで表示回数・クリック率・掲載順位を確認し、実際の検索パフォーマンスに応じてタイトルや本文を改善してください。