「VLOOKUPって聞いたことはあるけれど、なんだか難しそう」
「先輩に『これVLOOKUPでやっておいて』と言われたものの、意味がわからない」
Excelを使い始めたばかりの方が、最初にぶつかる大きな壁がこのVLOOKUP関数です。
ですが、安心してください。
VLOOKUPがやっていることは、実はとてもシンプルです。
一言でいえば「表の中から、目的のデータを自動で探し出してくる」だけ。
この記事では、専門用語をできるだけかみ砕きながら、そのまま試せる具体例を使って、VLOOKUPの基本をゼロから解説します。読み終えるころには、ご自身の仕事の表でも使えるようになっているはずです。
この記事の対象読者
- 仕事でExcelを使い始めたばかりの事務職・新社会人の方
- VLOOKUPという言葉は知っているが、使い方がわからない方
- 過去にVLOOKUPに挑戦したものの、途中で挫折してしまった方
VLOOKUPとは?「手作業の検索」を自動化してくれる関数
たとえば、社員番号がずらりと並んだ名簿があり、「社員番号1003の人の名前を知りたい」とします。
名簿が10人ほどなら目で探せますが、これが1000人分あったらどうでしょうか。
ひとつずつ探すのは大変ですし、見間違いも起きやすくなります。
このとき「1003番の人を表から探して、名前を持ってきて」とExcelに命令できるのがVLOOKUPです。
VLOOKUPの「V」はVertical(垂直=縦方向)の略で、「縦に並んだ表を上から下へ探していく関数」という意味になります。
つまり、これまであなたが目でやっていた検索作業を、Excelに肩代わりさせる関数だと考えてください。
VLOOKUPの構文(書き方のルール)
VLOOKUPは、次のような形で書きます。
=VLOOKUP(検索値, 範囲, 列番号, 検索方法)VBカッコの中に、カンマで区切って4つの情報を入れていきます。
最初はこの4つが呪文のように見えますが、ひとつずつ見ればまったく難しくありません。
日本語に言い換えると、こうなります。
=VLOOKUP(何を探す?, どの表から探す?, 左から何列目を取ってくる?, ピッタリ一致でいい?)VBそれぞれの意味を、表で整理しておきます。
| 引数 | 呼び方 | 意味 |
|---|---|---|
| 第1引数 | 検索値 | 探したいキーワード(例:社員番号1003) |
| 第2引数 | 範囲 | 探しにいく表全体(例:名簿全体) |
| 第3引数 | 列番号 | 範囲の左から数えて何列目の値を取り出すか |
| 第4引数 | 検索方法 | 完全一致ならFALSE、おおよその一致ならTRUE |
このうち、初心者の方が混乱しやすいのが3番目の「列番号」と、4番目の「検索方法」です。
ここはあとで具体例とあわせて、ていねいに説明します。
実際にやってみよう|そのまま試せる具体例
言葉だけではイメージしづらいので、実際の表で試してみましょう。次のような社員名簿があるとします。
| A列 | B列 | C列 | |
|---|---|---|---|
| 1行目 | 社員番号 | 名前 | 部署 |
| 2行目 | 1001 | 佐藤 | 営業部 |
| 3行目 | 1002 | 鈴木 | 経理部 |
| 4行目 | 1003 | 高橋 | 開発部 |
| 5行目 | 1004 | 田中 | 総務部 |
この表を、ExcelのA1セルから貼り付けたとイメージしてください。
ここで「社員番号1003の人の名前を知りたい」とします。空いているセル(たとえばE2)に、次の式を入れます。
=VLOOKUP(1003, A2:C5, 2, FALSE)VBすると、結果は「高橋」と表示されます。何が起きたのか、4つの引数に分けて読み解いてみましょう。
ひとつ目の「1003」が検索値です。
「1003を探して」という指示ですね。
ふたつ目の「A2:C5」が範囲で、「名簿のこの範囲の中から探して」という指定です。
みっつ目の「2」が列番号で、ここが大事なポイントになります。
範囲(A2:C5)の左端の列を1列目として数えます。
今回の範囲は左からA列・B列・C列の順なので、A列が1列目、B列(名前)が2列目、C列(部署)が3列目です。
名前がほしいので「2」を指定しているわけです。
よっつ目の「FALSE」が検索方法で、「1003とピッタリ一致するものだけを探して」という意味になります。
もし部署のほうを知りたければ、列番号を「3」に変えるだけです。
=VLOOKUP(1003, A2:C5, 3, FALSE)VBこれで結果は「開発部」になります。
列番号を変えるだけで取り出す情報を変えられる、これがVLOOKUPの便利なところです。
初心者がつまずきやすい3つのポイント
ここまでが基本ですが、初心者の方がよく引っかかる落とし穴が3つあります。
先に知っておくと、エラーで悩む時間をぐっと減らせます。
1. 列番号は「Excelの列名」ではなく「範囲の左から数えた順番」
たとえば範囲をB2:D5のようにB列から始めた場合、左端のB列が1列目になります。
A・B・Cといった列の名前そのものとは関係なく、あくまで「指定した範囲の中での順番」で数えると覚えてください。
ここを勘違いすると、欲しい列とずれた値が出てきてしまいます。
2. 第4引数は基本的にFALSE(完全一致)を使う
TRUEは「近い値でOK」という意味で、表が昇順に並んでいないと意図しない結果を返します。
初心者のうちは「VLOOKUPの最後は迷わずFALSE」と覚えておけば、ほとんどの場面で正しく動きます。
3. 検索値は範囲の「いちばん左の列」にないと探せない
VLOOKUPは範囲の左端の列を見て検索します。
今回の例なら、検索値の社員番号がA列(範囲の左端)にあるから探せました。
もし名前から社員番号を逆引きしたいというように、検索したい列が右側にある場合は、VLOOKUPだけでは少し工夫が必要になります。
使いこなすコツ:範囲は「絶対参照」にしておく
実務では、ひとつの式を作ったら、それを下のセルにコピーしてたくさんのデータをまとめて処理することがほとんどです。このとき、範囲(A2:C5)がコピーするたびにズレてしまうと、正しく探せなくなります。
それを防ぐのが「絶対参照」という指定で、範囲をドルマークで固定します。
先ほどの式なら、こう書き換えておくと安心です。
=VLOOKUP(E2, $A$2:$C$5, 2, FALSE)VBここでは検索値も、決め打ちの「1003」ではなく「E2」のようにセルを指定する形にしました。
こうしておけば、E2に好きな社員番号を入れるだけで、対応する名前が自動で出てきます。
ドルマークをつけるには、範囲を入力したあとにF4キーを押すと一発で付けられるので、ぜひ覚えておいてください。
まとめ:VLOOKUPは「表からデータを自動で探してくる関数」
最後に、この記事のポイントを振り返っておきましょう。
VLOOKUPは表の中から目的のデータを自動で探し出してくれる関数で、書き方は「何を・どの表から・左から何列目を・どの探し方で」の4つを指定するだけです。
列番号は範囲の左端から数えること、第4引数は基本的にFALSEを使うこと、検索値は範囲の左端の列にあること。
この3つを押さえれば、最初の壁はほぼ越えられます。
そして実務では範囲をドルマークで固定(絶対参照)しておくのが定番、というのが要点でした。
VLOOKUPは、一度仕組みがわかると「あの面倒な照合作業は、全部これでよかったのか」と世界が変わる関数です。
まずはこの記事の社員名簿の例を、実際にご自身のExcelに打ち込んで動かしてみてください。
手を動かすことが、いちばんの近道です。
おまけ:業務の効率化をしたいと感じたら
今やっている作業をもっと効率的にしたい、単調な作業が正直めんどくさい。
そんな感覚をもったらプログラミングを学ぶいい機会かもしれません。
プログラミングを学ぶことで、定型業務を圧倒的な短時間でこなすことができます。
仕事を全自動化して6年間も働かず年収1000万円を得ていたプログラマの話も有名ですが、
場合によっては仕事内容の大半を自動化することも可能なのです。
件のプログラマは空いた時間でゲームしまくったせいで解雇されましたが、自動化したプログラムは完璧に成果を出し続けていたそうで、その技術には目を見張るものがありますね。
くわえて今は生成AIの時代。
AIの業務での活用はもはやすべての企業、ビジネスマンに求められるスキルとなってきました。
生成AIの活用法を学ぶなら、効率的かつ体系的に学べるスクールを使うのがおすすめです。
どんなスクールがあるか、どう選べばいいかを解説した記事が以下になります↓

よくある質問(FAQ)
- VLOOKUPとXLOOKUPは何が違うのですか?
-
XLOOKUPは、VLOOKUPの弱点を改善した新しい関数です。検索値が左端の列になくても探せるなど、より柔軟に使えます。ただしXLOOKUPは比較的新しいバージョンのExcelでしか使えないため、職場の環境によってはVLOOKUPのほうが確実に動きます。まずはVLOOKUPを理解しておくとよいでしょう。
- 「#N/A」というエラーが出ます。どうすればよいですか?
-
「#N/A」は、検索値が見つからなかったときに表示されるエラーです。検索値のスペルや余分な空白、検索値が範囲の左端の列にあるか、第4引数がFALSEになっているかを確認してみてください。数値と文字列の違い(例:1003という数値と「1003」という文字列)も原因になりやすいポイントです。
- 第4引数は省略してもよいですか?
-
省略するとTRUE(おおよその一致)として扱われ、意図しない結果になることがあります。初心者のうちは省略せず、必ずFALSEを指定することをおすすめします。
- VLOOKUPで複数の条件を指定して検索できますか?
-
VLOOKUP単体では、基本的にひとつの検索値による検索になります。複数条件で検索したい場合は、作業用の列を作って条件を結合する方法や、別の関数を組み合わせる方法があります。まずは1条件の基本をしっかり身につけてから挑戦するとスムーズです。
- 数式をコピーすると結果がおかしくなります。なぜですか?
-
範囲が絶対参照になっていないことが原因の場合が多いです。コピーすると範囲がずれてしまうため、範囲をドルマークで固定(例:$A$2:$C$5)してからコピーすると、正しく動作します。範囲を入力後にF4キーを押すと簡単に固定できます。