経理でも総務でも営業事務でも、「別の表から該当する値を探してきて転記する」という作業は日常的に発生します。Excelではこの検索作業をVLOOKUP関数、あるいはその後継であるXLOOKUP関数で自動化できますが、「結局どっちを使えばいいの?」「同じような数式なのにエラーになる」と迷う方は少なくありません。この記事では、両者の違いと、検索関数でつまずきやすいポイントを実務目線で整理します。

VLOOKUPとXLOOKUPの基本的な違い

どちらも「ある値を手がかりに、別の列から対応する値を取り出す」関数という点は共通しています。ただし内部の仕組みと制約が異なります。

VLOOKUP

  • 検索する列は必ず表の一番左
  • 取得したい列は検索列より右側限定
  • 列を挿入すると列番号がズレて壊れやすい
  • ほぼ全バージョンのExcelで利用可能

XLOOKUP

  • 検索列と取得列を別々に指定できる
  • 検索対象が表の右側にあっても左側にあっても対応
  • 列を挿入しても数式が壊れにくい
  • Excel 2021/Microsoft 365以降限定

つまりXLOOKUPのほうが柔軟で壊れにくい上位互換ですが、「会社のExcelがそもそも対応しているか」がボトルネックになります。まずは自分の職場のExcelのバージョンを確認し、対応していればXLOOKUP、していなければVLOOKUPという判断が現実的です。

実務でのよくある使用シーン

経理担当者であれば「社員番号を手がかりに、別シートの社員マスタから部署名や口座情報を取得する」場面。総務担当者であれば「従業員名簿から入社日を検索して勤続年数を算出する」場面。営業事務であれば「商品コードから単価表を検索して見積書に単価を反映する」場面などで、これらの関数は頻繁に使われます。共通しているのは「毎回目で探して手入力すると時間がかかり、転記ミスも起きやすい」という点で、検索関数を使うことでその両方を解消できます。

よくあるエラーとその原因・対処法

#N/A エラー

「該当する値が見つかりません」という意味のエラーです。原因としてよくあるのは次の3つです。

  • 検索したい値が検索範囲の中に本当に存在しない(表記ミス・入力漏れ)
  • 見た目は同じでも全角と半角が混ざっている、余分な空白(スペース)が入っている
  • 数値のセルと文字列のセルが混在していて、見た目が同じでも一致しない

対処法としては、検索範囲側のデータをよく確認するほか、IFERROR関数を組み合わせて「見つからない場合は空欄や『該当なし』と表示する」形にしておくと、エラーで数式が崩れて見えるのを防げます。

#REF! エラー

VLOOKUPで特に起きやすいエラーです。表の途中に列を挿入・削除すると、VLOOKUPの「右にいくつ移動するか」を指定する列番号がズレてしまい、参照先が壊れて発生します。

例:=VLOOKUP(A2,商品マスタ!A:D,3,FALSE) の後で商品マスタに列を1本追加 → 3列目の意味が変わってしまう

XLOOKUPであれば取得したい列を直接指定するため、この種のズレは起きにくくなります。表の構成が今後変わる可能性がある場合は、XLOOKUPが使える環境ならそちらを優先しましょう。

エラーは出ないのに違う値が返る

これが一番厄介なケースです。多くは、VLOOKUPの最後の引数(完全一致か近似一致か)を省略、または「TRUE」にしてしまっていることが原因です。近似一致の状態では、検索範囲が昇順に並んでいないと想定と違う行の値を拾ってしまいます。

=VLOOKUP(A2,商品マスタ!A:D,3,FALSE) ← 最後をFALSEにして完全一致検索にする

初心者がつまずきやすいポイントとコツ

まとめ

VLOOKUPとXLOOKUPは「表から値を探す」という目的は同じですが、XLOOKUPのほうが柔軟で数式が壊れにくいという特徴があります。まずは自分の職場のExcelのバージョンを確認し、使えるならXLOOKUP、使えないならVLOOKUP+IFERRORの組み合わせを基本形として覚えておくと安心です。数式そのものを一から書くのが不安な方は、下のツールで日本語の空欄を埋めるだけで数式を組み立てられます。

よくある質問

VLOOKUPで#N/Aエラーが出ます。原因は何ですか?
多くの場合、検索値が検索範囲の中に存在しないか、見た目は同じでも表記ゆれ(全角半角、余分な空白)があります。IFERROR関数と組み合わせてエラー時の表示を指定しつつ、元データの表記を確認してください。
会社のExcelがXLOOKUPに対応していません。代わりに何を使えばいいですか?
XLOOKUPはExcel 2021・Microsoft 365以降でしか使えません。古いバージョンではVLOOKUP、または検索したい列が表の左側にない場合はINDEX関数とMATCH関数の組み合わせを使ってください。
VLOOKUPとXLOOKUP、結局どちらを覚えればいいですか?
会社のExcelがMicrosoft 365やExcel 2021であればXLOOKUPを優先して覚えるのがおすすめです。ただし古いバージョンのExcelを使う取引先とファイルをやり取りする可能性がある場合は、VLOOKUPも合わせて理解しておくと安心です。

関連記事

→ VLOOKUP・XLOOKUPの数式を作ってみる ← 記事一覧に戻る