「VLOOKUPって名前は聞いたことあるけど、何ができるかわからない」 「使おうとしたけどエラーが出て、そのまま諦めた」
こんな悩みを抱えている事務職の方に向けて、VLOOKUP関数の基本から実際の使い方まで丁寧に解説します。
私も最初はエラーが出るたびに「また失敗した…」と落ち込んでいました。でも仕組みを理解してからは、毎月の集計作業で大活躍する関数になりました。一緒に覚えていきましょう。
VLOOKUPとは何ができる関数?
VLOOKUPは「表の中から特定のデータを検索して、関連する情報を取り出す」関数です。
たとえばこういうことができます。
- 社員番号を入力したら、名前や部署が自動で表示される
- 商品コードを入力したら、商品名と単価が自動で入力される
- 請求書に顧客IDを入れたら、住所や連絡先が自動で出てくる
手で探してコピペしていた作業が、関数1つで自動化できます。
VLOOKUP関数の基本構文
=VLOOKUP(検索値, 範囲, 列番号, 検索方法)
4つの引数があります。それぞれの意味を見ていきましょう。
| 引数 | 意味 | 例 |
|---|---|---|
| 検索値 | 何を検索するか | A2(社員番号が入ったセル) |
| 範囲 | どこの表を検索するか | 社員マスタ表の範囲 |
| 列番号 | 何列目の情報を取り出すか | 2(左から2列目=名前) |
| 検索方法 | 完全一致か近似一致か | FALSE(完全一致を推奨) |
実際に使ってみよう!具体例で解説
例:社員番号から名前を自動表示する
マスタ表(Sheet2)
| A列(社員番号) | B列(名前) | C列(部署) |
|---|---|---|
| 1001 | 田中 太郎 | 営業部 |
| 1002 | 佐藤 花子 | 総務部 |
| 1003 | 鈴木 一郎 | 経理部 |
入力シート(Sheet1)
A2セルに社員番号「1002」が入っているとき、B2セルに名前を自動表示したい場合:
=VLOOKUP(A2, Sheet2!A:C, 2, FALSE)
これで「佐藤 花子」と表示されます。
各引数の意味
A2:社員番号1002が入っているセル(検索値)Sheet2!A:C:Sheet2のA列からC列が検索範囲2:左から2列目=B列(名前)を取り出すFALSE:完全一致で検索
部署を取り出したいときは列番号を3に変えるだけです。
絶対参照を使いこなすのが上達のコツ
VLOOKUPを下のセルにコピーするとき、検索範囲がずれてしまうことがあります。これを防ぐために**絶対参照($マーク)**を使います。
=VLOOKUP(A2, Sheet2!$A:$C, 2, FALSE)
$A:$Cのように$をつけると、コピーしても範囲が固定されます。これを忘れると下のセルにコピーしたとき範囲がずれてエラーになることがあるので注意しましょう。
よくあるエラーと原因・対処法
VLOOKUPでよく出るエラーを3つ紹介します。
① #N/A エラー(一番多い)
意味:検索した値が見つからない
原因と対処法
- 検索値とマスタ表の値の書式が違う(数字と文字列の違いなど) → マスタ表の書式を確認し、検索値と統一する
- 検索値に余分なスペースが入っている →
TRIM関数で余分なスペースを除去する - マスタ表に該当データがそもそもない → データの存在を確認する
② #REF! エラー
意味:列番号がおかしい
原因:列番号に指定した数字が、範囲の列数より大きい
例:範囲がA列とB列の2列なのに、列番号に3を指定してしまった
対処法:範囲の列数を確認して列番号を修正する
③ 間違った値が表示される
原因:第4引数がTRUE(近似一致)になっている
対処法:第4引数をFALSE(完全一致)に変える
事務作業ではほぼ必ずFALSEを使うと覚えておけばOKです。
VLOOKUPを使う前に知っておくこと
VLOOKUPにはいくつか制限があります。
- 検索できるのは左端の列のみ:範囲の一番左の列しか検索できない。検索したい列が左端でない場合は、表の列順を変更する必要がある
- 大文字・小文字は区別しない:「ABC」と「abc」は同じと判断される
- 重複データがあると最初の1件のみ取得:同じ検索値が複数あっても、一番上の行が返される
【補足】XLOOKUPという新しい関数もある
Excel 2021以降やMicrosoft 365を使っている場合、XLOOKUPという関数も使えます。VLOOKUPより使いやすく、左方向への検索やエラー時の表示設定なども簡単にできます。
ただし古いExcelでは使えないため、職場の環境に合わせてどちらを使うか選びましょう。
まとめ
VLOOKUPは最初こそ難しく感じますが、基本の4つの引数を覚えれば、事務作業の時短に大きく役立ちます。
=VLOOKUP(検索値, 範囲, 列番号, FALSE)が基本形- 範囲は絶対参照($)で固定する
- #N/Aエラーは書式の不一致が原因のことが多い
- 第4引数はFALSEを使うと覚えておく
まずは手元の表で試してみてください。一度使えると、「もっと早く覚えればよかった!」と思えるはずです。
関連記事

