候補者の名簿から部署名を引っ張ってきたり、社員データから該当者を探したり——人事の仕事では「表から必要な情報を引き出す」作業が本当に多いですよね。
そんなときに欠かせないのが「VLOOKUP関数」と、その進化版「XLOOKUP関数」です。
「名前は聞いたことあるけど、結局どっちを覚えればいいの?」という方に向けて、現役IT人事の視点から、実務で使う場面をイメージしながら違いを解説します。

私も昔は「とりあえずVLOOKUP」で覚えて、後からXLOOKUPの存在を知って衝撃を受けました…
結論:新しく学ぶならXLOOKUP、ただし職場のExcelバージョン次第
先に結論からお伝えします。
つまり「どちらが優れているか」ではなく「自分の職場環境で使えるかどうか」が最初の分かれ道になります。まずはそれぞれの関数がどんなものか、順番に見ていきましょう。

VLOOKUP関数とは
VLOOKUP関数は、指定した範囲の中から検索値に一致するデータを探し、指定した列の値を取り出す関数です。長年使われてきた「表引き」の定番関数で、Excel 2007以降のほぼすべてのバージョンで使用できます。
基本構文
=VLOOKUP(検索値, 範囲, 列番号, 検索方法)
| 引数 | 内容 |
|---|---|
| 検索値 | 探したい値(社員番号や候補者IDなど) |
| 範囲 | 検索対象の表全体(検索値の列を一番左にする必要あり) |
| 列番号 | 範囲の左から何列目を取り出すか |
| 検索方法 | FALSE(完全一致)/TRUE(近似値一致、省略可) |
実務での使用例(人事の候補者名簿)
以下のような候補者名簿があるとします。

候補者IDから氏名を取得する場合、数式は次のようになります。
=VLOOKUP(F2, A2:D10, 2, FALSE)
「候補者ID(F2)を、A列〜D列の表から探して、2列目(氏名)を完全一致で取り出す」という意味です。

VLOOKUPで注意したい2つのポイント
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つの違いを比較表で整理
| 比較項目 | VLOOKUP | XLOOKUP |
|---|---|---|
| 検索方向 | 右方向のみ(検索値は表の左端が必須) | 左右どちらでも検索可能 |
| エラー処理 | 見つからない場合は#N/Aエラー。IFERROR関数などを別途組み合わせる必要あり | 引数内で「見つからない場合」の表示を直接指定できる |
| 完全一致の指定 | 検索方法に「FALSE」を明示しないと近似値一致になる | 省略時は自動的に完全一致(設定ミスが起きにくい) |
| 列の指定方法 | 列番号(数値)を指定。表に列を挿入すると数値がズレる | セル範囲で指定。表に列を挿入してもズレない |
| 対応バージョン | Excel 2007以降、ほぼすべてのバージョンで使用可能 | Microsoft 365、Excel 2021以降のみ |
こうして並べると、検索方法の柔軟さやエラー処理の手軽さはXLOOKUPが上ですが、「どのExcelでも使える」という点だけはVLOOKUPに分があることが分かります。
【人事目線】実務でどう使うか
人事の仕事でよくある「表からデータを引っ張る」場面を、VLOOKUP・XLOOKUPそれぞれで整理してみます。
| 実務シーン | おすすめの関数 | 理由 |
|---|---|---|
| 社員番号から部署名・氏名を取得 | どちらでも可 | 検索値が表の左端にあり、シンプルな検索のため |
| 候補者名簿から選考ステータスを一覧化 | XLOOKUP | 複数列の追加・削除が起きやすく、列番号のズレを避けたいため |
| 氏名や部署名など、表の途中の列から左側の情報を逆引き | XLOOKUP | VLOOKUPでは左方向検索ができないため |
| 会社支給PCがExcel 2019以前 | VLOOKUP | XLOOKUPが使用できないため選択の余地がない |
候補者管理表のように「選考が進むごとに列(面接日・評価・内定日など)が増えていく」表では、列番号がズレやすい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:候補者ID | C:氏名 | D:選考ステータス |
|---|---|---|---|---|
| 2行目 | 2026/09/01 | C001 | 田中 | 内定 |
| 3行目 | 2026/09/15 | C002 | 伊藤 | 内定 |
| 4行目 | 2026/10/01 | C003 | 渡辺 | 選考中 |
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本で完結する手軽さが際立つ例と言えます。
まとめ
「どちらが正解か」ではなく、「今の自分の環境でどちらが使えるか」を基準に選んでみてくださいね。

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