VLOOKUP・XLOOKUPの違いを人事目線で解説|今から覚えるならどっちを使うべき?

候補者の名簿から部署名を引っ張ってきたり、社員データから該当者を探したり——人事の仕事では「表から必要な情報を引き出す」作業が本当に多いですよね。

そんなときに欠かせないのが「VLOOKUP関数」と、その進化版「XLOOKUP関数」です。

「名前は聞いたことあるけど、結局どっちを覚えればいいの?」という方に向けて、現役IT人事の視点から、実務で使う場面をイメージしながら違いを解説します。

でんちゃん
でんちゃん

私も昔は「とりあえずVLOOKUP」で覚えて、後からXLOOKUPの存在を知って衝撃を受けました…

結論:新しく学ぶならXLOOKUP、ただし職場のExcelバージョン次第

先に結論からお伝えします。

この記事の結論
  • これから新しく学ぶなら → XLOOKUPがおすすめ(エラーが出にくく、直感的に使えるため)
  • ただし、職場のExcelが古いバージョンの場合 → VLOOKUPを覚えるしかない(XLOOKUPが使えないバージョンが存在するため)

つまり「どちらが優れているか」ではなく「自分の職場環境で使えるかどうか」が最初の分かれ道になります。まずはそれぞれの関数がどんなものか、順番に見ていきましょう。

VLOOKUP関数とは

VLOOKUP関数は、指定した範囲の中から検索値に一致するデータを探し、指定した列の値を取り出す関数です。長年使われてきた「表引き」の定番関数で、Excel 2007以降のほぼすべてのバージョンで使用できます。

基本構文

=VLOOKUP(検索値, 範囲, 列番号, 検索方法)

引数内容
検索値探したい値(社員番号や候補者IDなど)
範囲検索対象の表全体(検索値の列を一番左にする必要あり)
列番号範囲の左から何列目を取り出すか
検索方法FALSE(完全一致)/TRUE(近似値一致、省略可)

実務での使用例(人事の候補者名簿)

以下のような候補者名簿があるとします。

候補者IDから氏名を取得する場合、数式は次のようになります。

=VLOOKUP(F2, A2:D10, 2, FALSE)

「候補者ID(F2)を、A列〜D列の表から探して、2列目(氏名)を完全一致で取り出す」という意味です。

VLOOKUPで注意したい2つのポイント

  • 検索値は必ず範囲の一番左の列にする必要がある(例:氏名を検索値にして候補者IDより左の列にある「応募日」を取得することはできない)
  • 列番号は手入力の数値なので、表に列を挿入すると数値がズレて誤った結果を返す(列を追加・削除するたびに数式の見直しが必要)

XLOOKUP関数とは

XLOOKUP関数は、VLOOKUPの後継として2020年に登場した関数です。Microsoft 365、およびExcel 2021以降で使用できます。

基本構文

=XLOOKUP(検索値, 検索範囲, 戻り範囲, 見つからない場合, 一致モード)

引数内容
検索値探したい値
検索範囲検索値を探す列(1列のみ指定)
戻り範囲取り出したいデータの列(検索範囲と別に指定)
見つからない場合該当なしのときに表示する値(省略可)
一致モード省略時は自動的に完全一致

実務での使用例(同じ候補者名簿で比較)

同じ候補者名簿で、候補者IDから氏名を取得する数式は次のようになります。

=XLOOKUP(F2, A2:A10, B2:B10, “該当なし”)

「候補者ID(F2)をA列から探して、見つかった行のB列(氏名)を返す。見つからなければ”該当なし”と表示する」という意味です。

VLOOKUPと違い、検索範囲(A列)と戻り範囲(B列)を別々に指定するため、検索値が表の左端になくても取得可能です。たとえば「氏名」から「応募日」を取得するような、VLOOKUPでは工夫が必要だった検索も一発でできます。

5つの違いを比較表で整理

比較項目VLOOKUPXLOOKUP
検索方向右方向のみ(検索値は表の左端が必須)左右どちらでも検索可能
エラー処理見つからない場合は#N/Aエラー。IFERROR関数などを別途組み合わせる必要あり引数内で「見つからない場合」の表示を直接指定できる
完全一致の指定検索方法に「FALSE」を明示しないと近似値一致になる省略時は自動的に完全一致(設定ミスが起きにくい)
列の指定方法列番号(数値)を指定。表に列を挿入すると数値がズレるセル範囲で指定。表に列を挿入してもズレない
対応バージョンExcel 2007以降、ほぼすべてのバージョンで使用可能Microsoft 365、Excel 2021以降のみ

こうして並べると、検索方法の柔軟さやエラー処理の手軽さはXLOOKUPが上ですが、「どのExcelでも使える」という点だけはVLOOKUPに分があることが分かります。

【人事目線】実務でどう使うか

人事の仕事でよくある「表からデータを引っ張る」場面を、VLOOKUP・XLOOKUPそれぞれで整理してみます。

実務シーンおすすめの関数理由
社員番号から部署名・氏名を取得どちらでも可検索値が表の左端にあり、シンプルな検索のため
候補者名簿から選考ステータスを一覧化XLOOKUP複数列の追加・削除が起きやすく、列番号のズレを避けたいため
氏名や部署名など、表の途中の列から左側の情報を逆引きXLOOKUPVLOOKUPでは左方向検索ができないため
会社支給PCがExcel 2019以前VLOOKUPXLOOKUPが使用できないため選択の余地がない

候補者管理表のように「選考が進むごとに列(面接日・評価・内定日など)が増えていく」表では、列番号がズレやすいVLOOKUPよりも、セル範囲で指定できるXLOOKUPの方が事故が起きにくいというのが、実際に採用データを扱ってきた実感です。

あなたはどっちを使うべき?かんたん診断

次の質問に答えるだけで、今の自分に必要な関数が分かります。

Q
会社のExcelはMicrosoft 365、またはExcel 2021以降ですか?
A

いいえの場合:VLOOKUPを使いましょう(XLOOKUPが搭載されていません) → はいの場合:次の質問へ

Q
個人のPCだけでなく、他の人ともファイルを共有しますか?
A

共有相手のExcelバージョンが分からない・古い可能性がある場合:VLOOKUPを使いましょう(相手の環境でXLOOKUPが開けないと#NAME?エラーになります) → 自分だけで使う、または共有相手も新しいバージョンと分かっている場合:XLOOKUPを使いましょう

XLOOKUPが使えない場合の代替策

会社のExcelが古く、それでも「VLOOKUPの左方向検索できない問題」を解決したい場合は、INDEX関数とMATCH関数を組み合わせる方法があります。

=INDEX(取得したい列, MATCH(検索値, 検索する列, 0))

構文はやや複雑になりますが、XLOOKUPと同様に左方向の検索が可能です。この組み合わせについては、別記事で詳しく解説予定です。

実践問題で理解を深めよう

ここまでの内容を、実際の数式を入力しながら試せる例題で確認してみましょう。

例題1:社員研修の出席簿から部署名を自動表示する(VLOOKUP・XLOOKUP両方)

以下の社員名簿があります。

A:社員番号B:氏名C:部署名
2行目E101佐藤人事部
3行目E102鈴木開発部
4行目E103高橋営業部

出席簿のF2セルに社員番号「E102」を入力し、G2セルに部署名を自動表示させたい場合の数式は次のとおりです。

VLOOKUPの場合

=VLOOKUP(F2, A2:C4, 3, FALSE)

→ 「E102を A2:C4 の表から探して、3列目(部署名)を完全一致で返す」という意味です。結果は「開発部」になります。

XLOOKUPの場合

=XLOOKUP(F2, A2:A4, C2:C4, “該当なし”)

→ 「E102をA列から探して、見つかった行のC列を返す。見つからなければ”該当なし”」という意味です。結果は同じく「開発部」になります。

この例では検索値(社員番号)が表の左端にあるため、どちらの関数でも同じ結果が得られます。違いが出るのは、次の例題のように「左方向」を検索したいケースです。

例題2:候補者名簿から氏名で入社日を逆引きする(XLOOKUPが有利なケース)

以下の候補者管理表があります。ポイントは「入社日」が「氏名」より左の列にあることです。

A:入社日B:候補者IDC:氏名D:選考ステータス
2行目2026/09/01C001田中内定
3行目2026/09/15C002伊藤内定
4行目2026/10/01C003渡辺選考中

F2セルに氏名「伊藤」を入力し、G2セルに入社日を自動表示させたい場合、氏名(C列)は入社日(A列)より右にあるため、VLOOKUPでは直接取得できません

XLOOKUPの場合

=XLOOKUP(F2, C2:C4, A2:A4, “該当なし”)

→ 「伊藤をC列から探して、見つかった行のA列(入社日)を返す」という意味です。検索範囲と戻り範囲を自由に指定できるため、左方向でも問題なく取得でき、結果は「2026/09/15」になります。

VLOOKUPで無理やり実現する場合 VLOOKUPだけでは実現できないため、INDEX関数とMATCH関数を組み合わせる必要があります。

=INDEX(A2:A4, MATCH(F2, C2:C4, 0))

構文が複雑になる分、XLOOKUP1本で完結する手軽さが際立つ例と言えます。

まとめ

  • 新しく学ぶならXLOOKUPがおすすめ。エラー処理がシンプルで、列の増減にも強い
  • ただし職場のExcelバージョンが古い場合はVLOOKUP一択
  • 人事の候補者管理のように列が増えていく表では、XLOOKUPの方が事故が起きにくい
  • ファイルを他人と共有する場合は、相手の環境も考慮して関数を選ぶ

「どちらが正解か」ではなく、「今の自分の環境でどちらが使えるか」を基準に選んでみてくださいね。

でんちゃん
でんちゃん

私は会社PCがようやくMicrosoft 365になったタイミングでXLOOKUPに切り替えました。エラー処理が本当に楽になったのでおすすめです!

この記事を書いた人
でんちゃん

IT企業で人事として6年、200名以上の面接を担当。基本情報技術者資格保有。IT転職・Excel・子育て情報を発信中。

【経歴】
・IT企業で採用・教育・労務・人事制度を6年経験
・200名以上のIT転職者を面接
・基本情報技術者資格保有
・Excelを使ったデータ分析が得意
・一児の父として子育て奮闘中

【このブログについて】
「IT転職で損してほしくない」という想いからスタート。採用する側のリアルな視点でIT転職・Office365・子育てと仕事の両立について発信しています。

でんちゃんをフォローする
office365
シェアする
でんちゃんをフォローする

コメント

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