【完全マニュアル】ExcelのVLOOKUP/XLOOKUP完全ガイド

ソニック

事務職の必修関数を徹底解説

「VLOOKUPが使えると人生が変わる」

これは私が学校事務員時代に身をもって体感した言葉です。手作業で1日かかっていた名簿照合作業が、VLOOKUPを覚えてから30分で終わるようになりました。

Excelの関数の中でも、VLOOKUPは「使える人と使えない人の差」が最も大きい関数の1つです。逆に言えば、これをマスターするだけで業務時間は劇的に変わります。

この記事では、VLOOKUPの基本から最新のXLOOKUPまで、画像付きで完全解説します。

第1章|なぜVLOOKUPが事務職の必修関数なのか

目次

業務でVLOOKUPが活躍するシーン

私自身、学校事務員時代に毎日のようにVLOOKUPを使っていました。具体的には:

  • 新入生名簿から、保護者情報マスタを照合する
  • 生徒IDから、就学支援金の判定結果を引っ張る
  • 商品コードから、単価マスタを参照する
  • 社員番号から、給与テーブルを取得する
  • 顧客IDから、過去の取引履歴を取り出す

これらは「2つの表を照合する」という共通点があります。手作業でやると気が遠くなりますが、VLOOKUPなら数式1つで瞬時に完了します。

VLOOKUPの真の威力

VLOOKUPが他の関数と決定的に違うのは、「**人間に置き換えると数時間かかる作業が、コンピュータに任せられる**」点です。

業務手作業VLOOKUP使用
100人の名簿照合約2時間3分
商品コード→単価検索約30分1分
生徒情報の集約約1日10分

第2章|VLOOKUPの基本構文と使い方

VLOOKUPの構文

VLOOKUPの構文は、4つの引数を取ります。一見複雑に見えますが、覚えてしまえばシンプルです。

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

4つの引数を分解する

引数意味
検索値「何を探すか」A2(商品コード)
範囲「どこから探すか」マスタ!A:C
列番号「何列目を返すか」3(範囲の3列目)
検索方法「完全一致 or 近似一致」FALSE(完全一致)

「検索方法」は基本「FALSE(完全一致)」を使います。「TRUE」は特殊な用途以外、ほぼ使いません。

VLOOKUPの3つの絶対ルール

  1. 検索値は「範囲の左端列」になければならない
  2. 列番号は「範囲内での列数」を指定する(シート全体ではない)
  3. 検索方法は「FALSE」(完全一致)が基本

この3つを覚えておけば、VLOOKUPの9割は使いこなせます。

第3章|VLOOKUPの実例|商品マスタからの単価取得

シナリオ:売上明細に商品単価を埋め込む

以下のようなデータがあるとします。

【売上明細シート】

商品コード数量単価(自動取得したい)
P0015???
P0033???
P00210???

【商品マスタシート】

商品コード商品名単価
P001ボールペン100
P002ノート250
P003消しゴム80

実際に書くVLOOKUP数式

売上明細シートのC2セルに以下の数式を入力します。

=VLOOKUP(A2, 商品マスタ!A:C, 3, FALSE)

これだけで、商品コード「P001」の単価「100」が自動で取得されます。C2セルをC4までドラッグすれば、全行に単価が入ります。

引数の解説(具体例で再確認)

  • A2:「P001」(探したい商品コード)
  • 商品マスタ!A:C:「商品マスタの A〜C列を範囲とする」
  • 3:「範囲(A〜C)の中の3列目=単価」を返す
  • FALSE:「完全一致で検索する」

便利テクニック:範囲を絶対参照に

数式を下にドラッグするとき、範囲がズレてしまわないように、範囲を絶対参照($)で固定するのがおすすめです。

=VLOOKUP(A2, 商品マスタ!$A:$C, 3, FALSE)

F4キーを押すと、$を一発でつけることができます。これでドラッグしても範囲は固定されます。

第4章|VLOOKUPでよくある4つのエラーと対処

VLOOKUPは便利な関数ですが、使い方を間違えるとエラーが出ます。代表的な4つのエラーと対処法を整理します。

エラー1:#N/A(該当なし)

原因:

検索値が範囲内に存在しない。

対処:

IFERROR関数で「該当なし」と表示するか、空白を返すように修正します。

=IFERROR(VLOOKUP(A2, 商品マスタ!A:C, 3, FALSE), "該当なし")

エラー2:#REF!(参照エラー)

原因:

列番号が範囲を超えている(例:範囲がA:Cなのに、列番号「4」を指定)。

対処:

範囲と列番号を確認します。A:Cなら列番号は最大「3」です。

エラー3:#VALUE!(値エラー)

原因:

引数の型が間違っている(例:列番号にテキストを指定)。

対処:

各引数が正しい型かを再確認します。列番号は必ず数値です。

エラー4:見た目は同じなのにヒットしない

原因:

「P001」と「P001 」のように、末尾に余分なスペースが入っている。または全角・半角が混在。

対処:

TRIM関数で余分なスペースを除去するか、データクレンジングをします。

=VLOOKUP(TRIM(A2), 商品マスタ!A:C, 3, FALSE)

根本的にデータが汚れている場合は、Pythonでクレンジングが有効です(別記事「Pythonで業務データを自動クレンジング」参照)。

第5章|XLOOKUPの基本|VLOOKUPの上位互換

Microsoft 365 / Excel 2021以降では、VLOOKUPの上位互換である**XLOOKUP**が使えるようになりました。

XLOOKUPの構文

=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合])

VLOOKUPの例をXLOOKUPで書き直す

先ほどのVLOOKUP例:

=VLOOKUP(A2, 商品マスタ!A:C, 3, FALSE)

XLOOKUPで同じことをする:

=XLOOKUP(A2, 商品マスタ!A:A, 商品マスタ!C:C)

XLOOKUPの3つの強み

  • 検索値が左端でなくてもOK(範囲の自由度が高い)
  • デフォルトで完全一致(FALSE記述が不要)
  • 見つからない場合の値を引数で指定可能

見つからない場合の値を指定

=XLOOKUP(A2, 商品マスタ!A:A, 商品マスタ!C:C, "該当なし")

IFERRORを使わずに、XLOOKUP単体で「該当なし」表示が実現できます。

第6章|VLOOKUP vs XLOOKUP 完全比較

観点VLOOKUPXLOOKUP
対応バージョン全バージョンExcel 2021以降
検索値の位置左端列のみどの列でもOK
デフォルト検索近似一致(要FALSE)完全一致(記述不要)
該当なし対応IFERRORが必要引数で直接指定
数式の長さやや長いシンプル
学習難易度中(引数4つ)低(引数3つ)

どちらを使うべきか?

結論:**Excel 2021以降が使える環境なら、XLOOKUPに移行すべき**です。

  • XLOOKUPの方が記述がシンプル
  • 該当なしの処理がIFERROR不要で完結
  • 検索範囲・戻り範囲を別々に指定できるため柔軟

会社の環境がExcel 2019以前の場合は、VLOOKUPを使い続けるしかありません。社内環境を確認してから移行しましょう。

第7章|もっと先へ|Pythonでの実現方法

Excelの限界

VLOOKUP/XLOOKUPは強力ですが、以下のような場合はExcelでは厳しくなります:

  • 数十万行以上のデータを照合したい
  • 複数の照合を毎日繰り返す
  • 複雑な条件(複数キーでの照合)を扱う
  • 結果を別ファイルに自動出力したい

Pythonのmergeで同じことを実現

Pythonのpandasライブラリには、VLOOKUPと同等の機能「merge」があります。

# Excelの場合
# =VLOOKUP(A2, 商品マスタ!A:C, 3, FALSE)

# Pythonの場合
import pandas as pd

# 売上明細と商品マスタを読み込む
df_sales = pd.read_excel("売上明細.xlsx")
df_master = pd.read_excel("商品マスタ.xlsx")

# 商品コードをキーに統合(VLOOKUPと同じ動作)
df = pd.merge(df_sales, df_master, on="商品コード", how="left")

print(df)

数行のコードで、何百万行のデータでも一瞬で処理できます。VLOOKUPの限界を超えたら、Pythonへのステップアップを検討してください。

詳しくは別記事「【完全ガイド】Excel関数からPythonへ移行する最短ルート」をご覧ください。

第8章|まとめ

この記事のまとめ

  • VLOOKUPは事務職の必修関数。マスターすれば業務時間が劇的に変わる
  • 基本構文は「=VLOOKUP(検索値, 範囲, 列番号, FALSE)」
  • 3つの絶対ルール:①検索値は左端、②列番号は範囲内、③FALSEで完全一致
  • エラー対処にはIFERRORが万能
  • Excel 2021以降はXLOOKUPが上位互換でおすすめ
  • Excelの限界を超えたら、Pythonのmergeにステップアップ

FAQ

Q1. VLOOKUPとHLOOKUPの違いは?

VLOOKUPは「縦方向」、HLOOKUPは「横方向」に検索します。実務では縦に並んだデータが多いため、VLOOKUPの使用頻度が圧倒的に高いです。HLOOKUPはほぼ使う機会がありません。

Q2. INDEX/MATCH関数とVLOOKUPの違いは?

INDEX/MATCHはVLOOKUPの上位互換とも言われ、左端列以外でも検索できます。ただし、XLOOKUPが登場した今は、新規ではXLOOKUPを使う方がシンプルでおすすめです。

Q3. 大量データだとVLOOKUPが重くなります

数万行を超えるデータでは、計算が重くなります。対処法は2つ:①「数式」→「計算方法の設定」で「手動」に変更、②Pythonに移行して処理する。長期的には後者がおすすめです。

Q4. VLOOKUPの「TRUE(近似一致)」はいつ使う?

「年齢→等級判定」のような、範囲で区切られたマスタを参照するときに使います。ただし、データがソートされている必要があり、誤動作しやすいため、初心者はFALSEのみを使う方が安全です。

Q5. VLOOKUPをマスターするまで、どれくらいかかりますか?

基本構文を覚えるだけなら30分、実務で使いこなせるレベルまでは1〜2週間が目安です。とにかく実際に手を動かして使ってみることが上達への最短ルートです。

VLOOKUPで、業務が変わる

VLOOKUPを使いこなせるかどうかで、事務職の業務時間は劇的に変わります。今日から1つの業務で試してみてください。

そして、VLOOKUPでも対応しきれない規模になったら、Pythonへのステップアップを検討しましょう。それが、業務効率化の自然な成長ルートです。

最新の解説記事は、新着記事から順次公開しています。X(旧Twitter)でも更新情報を発信していますので、ぜひフォローしてください。

この記事を書いた人

ソニック|バックオフィス出身の業務効率化ブロガー。学校事務員時代に就学支援金・奨学金の判定でVLOOKUPを日常的に活用。現在のデータサイエンス業務では、より大規模なデータをPythonのmergeで処理中。リアルな実体験をもとにしたノウハウを発信中。

→ 詳しいプロフィールはこちら→ はじめての方へ

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次