ソニック事務職の必修関数を徹底解説
「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つの絶対ルール
- 検索値は「範囲の左端列」になければならない
- 列番号は「範囲内での列数」を指定する(シート全体ではない)
- 検索方法は「FALSE」(完全一致)が基本
この3つを覚えておけば、VLOOKUPの9割は使いこなせます。
第3章|VLOOKUPの実例|商品マスタからの単価取得
シナリオ:売上明細に商品単価を埋め込む
以下のようなデータがあるとします。
【売上明細シート】
| 商品コード | 数量 | 単価(自動取得したい) |
|---|---|---|
| P001 | 5 | ??? |
| P003 | 3 | ??? |
| P002 | 10 | ??? |
【商品マスタシート】
| 商品コード | 商品名 | 単価 |
|---|---|---|
| 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 完全比較
| 観点 | VLOOKUP | XLOOKUP |
|---|---|---|
| 対応バージョン | 全バージョン | 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
VLOOKUPで、業務が変わる
VLOOKUPを使いこなせるかどうかで、事務職の業務時間は劇的に変わります。今日から1つの業務で試してみてください。
そして、VLOOKUPでも対応しきれない規模になったら、Pythonへのステップアップを検討しましょう。それが、業務効率化の自然な成長ルートです。
最新の解説記事は、新着記事から順次公開しています。X(旧Twitter)でも更新情報を発信していますので、ぜひフォローしてください。
この記事を書いた人
ソニック|バックオフィス出身の業務効率化ブロガー。学校事務員時代に就学支援金・奨学金の判定でVLOOKUPを日常的に活用。現在のデータサイエンス業務では、より大規模なデータをPythonのmergeで処理中。リアルな実体験をもとにしたノウハウを発信中。


コメント