【PR】本記事にはアフィリエイトリンクが含まれます。価格は変動するため、最新価格はリンク先でご確認ください。
VLOOKUPに3時間悩んだ経験はありませんか。結論として、2026年現在の正解は「新規はXLOOKUPで書く、既存のVLOOKUPは無理に書き換えない」です。XLOOKUPはMicrosoft 365で2020年から、買い切り版でもExcel 2021以降で正式提供されているのに、未だにVLOOKUPで苦しんでいる人が多いのは、移行判断の基準が情報として整理されていないからです。本記事では、関数の基本から「いつVLOOKUPを残し、いつXLOOKUPに移行すべきか」まで、私が業務で繰り返し使ってきた判断軸で整理します。
結論早見表
| 状況 | 使うべき関数 |
|---|---|
| Excel 2021 / Microsoft 365 を使用中 | XLOOKUP(新規はこちら) |
| 共有先が Excel 2019 以前 | VLOOKUP(互換性優先) |
| 左方向の検索が必要 | XLOOKUP(VLOOKUPでは不可) |
| 大量データで何度も呼ぶ | XLOOKUP(高速) |
| 古い数式が10年以上動いている | VLOOKUP(動くものを壊さない) |
VLOOKUP の基本構文
VLOOKUP は「Vertical(垂直)+ LOOKUP(探す)」の略です。表を縦方向に検索し、一致する値の右側にあるデータを取り出します。
=VLOOKUP(検索値, 範囲, 列番号, [検索方法])
引数の意味:
- 検索値:探したい値(例: A2 セル)
- 範囲:検索する表全体(例: D2:G100)
- 列番号:返したい値が範囲の左から何列目か(範囲がD:Eなら2、D:Fなら3など)
- 検索方法:0 または FALSE(完全一致)/ 1 または TRUE(近似一致)
実例:商品コードから商品名を取得
| A列(商品コード) | B列(商品名) | D列 | E列 |
|---|---|---|---|
| A001 | =VLOOKUP(A2, $D$2:$E$100, 2, FALSE) | A001 | りんご |
| A002 | =VLOOKUP(A3, $D$2:$E$100, 2, FALSE) | A002 | みかん |
$ を付けて絶対参照にするのは、数式を下にコピーした時に範囲が動かないようにするためです。これを忘れると意図しないエラーが出ます。
VLOOKUP の致命的な4つの弱点
四半世紀使われてきた関数ですが、実用上の不便さが残っています。
1. 左方向の検索ができない
検索値の右側しか取れません。「商品名 → 商品コード」のように、左の列を取得したい場合、VLOOKUP では不可能です(INDEX/MATCH で代用するのが従来の解)。
2. 列の挿入で壊れる
「列番号:3」のように数字で指定するため、範囲の途中に列を挿入すると参照がずれて、突然意図しない値が返るようになります。これが業務でVLOOKUPが嫌われる最大の理由です。
3. 近似一致がデフォルトの古い記法
第4引数を省略すると「近似一致(TRUE)」になります。Excelの初期設計の名残ですが、業務で求めたいのはほぼ100%「完全一致(FALSE)」。書き忘れて謎のデータが返るトラブルが今も発生しています。
4. 速度が遅い
大量のVLOOKUP を含むファイルは、Excel の再計算が体感できるレベルで遅くなることがあります。XLOOKUP は二分探索モード(検索モード=2)を指定すると大規模データに対して高速で、一般用途でもVLOOKUPと同等以上の性能を出すケースが多い、というのが個人の体感です。
XLOOKUP への移行判断
Microsoft 365 / Excel 2021 以降を使っているなら、新規はすべてXLOOKUPで書くのが正解です。構文も直感的です。
=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない時], [一致モード], [検索モード])
同じ商品コード検索を XLOOKUP で書き直すとこうなります:
=XLOOKUP(A2, $D$2:$D$100, $E$2:$E$100, "該当なし")
VLOOKUP の弱点が全部消えています:
- 左方向の検索OK
- 列の挿入で壊れない(範囲を直接指定)
- 完全一致がデフォルト
- 見つからない時の値を引数で指定可能(IFERROR不要)
VLOOKUPを残すべきケース
「全部XLOOKUPにすればいい」というわけではありません。以下はVLOOKUPを残す判断:
- 共有先がExcel 2019以前: XLOOKUPは2021以降のみ対応。共有先の環境を確認
- 10年以上動いている既存数式: 動いているものを書き換えてリスクを背負う必要なし
- 外部システム連携の自動出力: 出力テンプレが固定されている場合は触らない
よくあるエラーと対処
| エラー | 原因 | 対処 |
|---|---|---|
| #N/A | 検索値が見つからない | IFERROR でメッセージ表示、または XLOOKUP の第4引数で対応 |
| #REF! | 列番号が範囲を超えている | 範囲または列番号を見直し |
| #VALUE! | 列番号が数値じゃない | 数値で指定 |
| 意図しない値が返る | 近似一致になっている | 第4引数に FALSE を明示 |
同じ作業を月100回行う方へ(エンジニア向け)
VLOOKUP/XLOOKUP の限界は「Excel単体での処理」です。データ量が数万行を超え、複数ファイル横断の集計が必要になったら、Python の pandas ライブラリの merge 関数に移行する方が圧倒的に速い場合があります。AWS Lambda に Excel処理を逃がして自動化する手も。Microsoft 365 環境なら Power Automate + Azure Logic Apps の組み合わせで本格的な自動化が組めます。
まとめ
2026年のExcel関数選択の正解は「新規はXLOOKUP、既存は無理に書き換えない」。Microsoft 365 を使っているなら、今すぐXLOOKUPを練習する価値があります。月¥1,490〜¥2,130の Microsoft 365 個人プランで、最新版が常に使えるのは大きなアドバンテージです。
合わせて読みたい関連記事
- Excel初心者 Stage3|IF関数とVLOOKUP・XLOOKUP
- Excelピボットテーブル30分マスター|関数不要で集計が劇的に速くなる
- Excelエラー値の主要7種類|原因と即直しテクの辞典
関連:
- UdemyのExcelコース(セール時¥1,500前後)
- Microsoft 365 個人プラン
- Amazonで「Excel関数 辞典」「XLOOKUP 入門」検索

