VLOOKUPはExcelの基本だと教わった。
そういう人は少なくありません。
実際、多くの現場でVLOOKUPは使われています。
しかし最近では、XLOOKUPという関数が登場しました。
何が違うのか分からない。
結局どちらを覚えればいいのか迷う。
そう感じている人もいるはずです。
本記事では、VLOOKUPとXLOOKUPの違いを整理し、これから学ぶ人がどちらを優先すべきかを実務目線で考えます。
目次
まずはVLOOKUPを整理する
VLOOKUPは、指定した値を縦方向に検索し、別の列の値を取得する関数です。
構文は次の通りです。
=VLOOKUP(検索値, 範囲, 列番号, 検索方法)
検索対象は、範囲の一番左の列でなければなりません。
そして、取得する列は「列番号」で指定します。
この仕様はシンプルですが、実務では注意が必要です。
たとえば、表の途中に列を追加した場合、列番号が変わります。
式自体はエラーにならなくても、別の列を参照してしまうことがあります。
気づきにくい不具合が発生する可能性があるということです。
XLOOKUPは何が違うのか
XLOOKUPは、VLOOKUPの制約を解消する形で設計された関数です。
構文はより直感的です。
=XLOOKUP(検索値, 検索範囲, 戻り範囲)
検索範囲と戻り範囲を分けて指定できるため、左側の列も取得できます。
また、列番号を数える必要がありません。
どの列を返すのかを「範囲」で直接指定するため、列追加によるズレが起きません。
この違いは、長く使うファイルほど重要になります。
列ズレ問題をどう考えるか
実務では、ファイルは一度作って終わりではありません。
他の人が触ることもあります。
仕様変更で列が増えることもあります。
VLOOKUPは列番号で管理するため、構造変更に弱い面があります。
XLOOKUPは範囲指定のため、構造変更に比較的強い設計です。
安定性を重視するなら、この差は無視できません。
エラー処理の違い
VLOOKUPでは、検索値が存在しない場合「#N/A」が表示されます。
回避するにはIFERROR関数と組み合わせます。
=IFERROR(VLOOKUP(...),"該当なし")
式が長くなり、読みにくくなることがあります。
XLOOKUPでは、第4引数にエラー時の値を直接指定できます。
=XLOOKUP(A2, A:A, B:B, "該当なし")
式が簡潔になり、メンテナンスもしやすくなります。
既存環境という現実
ただし、注意点もあります。
XLOOKUPは比較的新しい関数です。
古いバージョンのExcelでは使えない場合があります。
また、既存の業務ファイルの多くはVLOOKUPで構成されています。
そのため、VLOOKUPを理解しておくこと自体は無駄ではありません。
では、どちらを優先すべきか
ここまで整理すると、結論は見えてきます。
これから新しく覚えるのであれば、XLOOKUPを優先する方が合理的です。
理由は明確です。
・列ズレが起きにくい
・構文が直感的
・エラー処理が簡単
・検索の柔軟性が高い
一方で、VLOOKUPは既存資産として残り続けます。
そのため、学習の順番としては、
- まずXLOOKUPを理解する
- 次にVLOOKUPを読めるようにする
この順番が現実的です。
検索関数は「壊れにくさ」で選ぶ
検索関数は一度組み込むと、長期間使われます。
重要なのは「書けるかどうか」よりも「壊れにくいかどうか」です。
ファイルは共有されます。
列は追加されます。
担当者は変わります。
その前提で考えると、構造変更に強いXLOOKUPを基準にする方が安全です。
まとめ
VLOOKUPは長年使われてきた標準的な検索関数です。
しかし現在は、より柔軟で安定性の高いXLOOKUPが存在します。
これからExcelを学ぶのであれば、まずXLOOKUPを理解すること。
その上で、既存ファイル対応のためにVLOOKUPを押さえる。
それが、実務で合理的な選択です。
