Excel関数 VLOOKUPの理解を深めよう。
はじめに
Excelを使っていて「欲しい情報を表から探すのに時間がかかる」と感じたことはありませんか?
例えば、商品コード名から商品名が知りたい。社員番号から名前を確認したい。など、何かをキーにして、情報を検索する。
そんなときに使用するのが VLOOKUP関数 です。
一度覚えてしまえば、表の中から必要なデータを一瞬で取り出すことができ、日常業務の効率が大きく向上します。
この記事では、VLOOKUPの基本的な使い方から実務で活用例を丁寧に解説しています。
初めてVlookpu関数を使うという方でも安心して理解できる内容になっていますので、ぜひ最後まで読んでみてください。
VLOOKUPとは?
Excelの中で特に使用頻度が高い関数のひとつが VLOOKUP(ブイ・ルックアップ)関数 です。
名前の由来は「Vertical Lookup」の略で、「縦方向に探す」という意味になります。
このVlookup関数が得意なことは、縦に並んだ表の中から探したい値を見つけ、その横にある関連データを取り出すことができる。という内容になります。
例えば、「商品コードから商品名を調べる」「社員番号から名前を調べる」など、「検索と参照」の場面で活躍します。この関数は頻繁に出てきますので、最初に覚えておくと、便利さを実感できる関数です。
VLOOKUPの書き方
まずは基本的な書き方を覚えましょう。
=VLOOKUP(検索値, 範囲, 列番号, 検索方法)
- 検索値:探したい値(例:社員番号「1001」など)
- 範囲:検索対象の表(例:A2:D100)
- 列番号:範囲の左端を1列目として、何列目の値を取り出すかを指定
- 検索方法:基本的に0を入力するという認識でOKです。完全一致で探すなら「0」近似一致なら「1」と入力します。※完全一致(
FALSE)、近似一致(TRUE)
商品コードから商品名を検索
次のような商品一覧表を例に考えてみましょう。

ここで「商品コード1002に対応する商品名」を取り出したいときは、次のように入力します。
=VLOOKUP(1002, A2:C4, 2, 0)
- 検索値:1002
- 範囲:A2:C4
- 列番号:2(商品名は範囲の左端から2列目)※A列が1列目、B列が2列目、C列が3列目
- 検索方法:0(FALSE(完全一致で検索))
結果: ノート
このように、左端列で探した値に対応する「横の情報」を簡単に取り出すことができます。
検索方法の違いについて
VLOOKUPの「検索方法」は、初心者が間違いやすいポイントです。
- FALSE(完全一致):指定した値と完全に一致したものだけを探す。
→ 社員番号や商品コードの検索に向いている。 - TRUE(近似一致):指定した値に最も近いものを探す。表は昇順に並んでいる必要あり。
→ 図書館で本を調べるのを思い出して下さい。本の名前で検索した時に、その名前に近い名前の本も一緒に候補として表示されたりする。まさにこれです。
FALSEとTRUE2パターンありますが、基本的に0を入力(FALSE)を使う と覚えておくのがおすすめです。
どんな場面で利用されるか
VLOOKUPは日常業務で幅広く使えます。活用例をご紹介します。
- 請求書や見積書の作成
商品コードを入力すると、商品名や単価を自動で表示。入力ミスを防げます。 - 社員番号から氏名を表示
勤怠管理や給与計算で「番号から名前を呼び出す」場面に便利です。 - 顧客IDから住所を表示
Excelだけで顧客情報を整理可能。 - 在庫管理
商品コードを入力するだけで現在の在庫数を参照できる。
よくあるエラーと対策方法
VLOOKUPは便利ですが、慣れないうちはエラーが出やすい関数でもあります。そこで、いくつかのエラーと対策方法をご紹介します。
- #N/A エラー
→ 検索値が見つからないときに表示されます。入力ミスや全角半角の違いに注意。 - #REF! エラー
→ 列番号が範囲外のときに表示されます。指定した列が存在するか確認しましょう。 - 意図しない結果が出る
→ 検索方法をTRUEにしていると近似一致になってしまうことがあります。完全一致にしたいときは必ずFALSEを指定しましょう。
エラー対策
エラーの対策方法として、よく使われるのは、IFERROR関数と組み合わせる方法です。
=IFERROR(VLOOKUP(検索値, 範囲, 列番号, 0), "未登録")
このようにすると、検索結果が見つからなかったときに「未登録」と表示でき、エラー表示を避けられます。
VLOOKUPの欠点と応用関数
VLOOKUPには次のような欠点もあります。
- 検索できるのは範囲の左端列だけ
- 左側にある値を取り出すことはできない
- 列を挿入すると列番号がずれてしまう
こうした場面では INDEX関数+MATCH関数 や、最新のExcelに搭載されている XLOOKUP関数 を使うと柔軟に対応できます。
INDEX関数+MATCH関数を使用する
Vlookupで商品コードを検索軸に、商品名と単価を反映していたけど、コピー元のデータに商品コードが一番右にあり、Vlookupが使えない。そんなときにはINDEX関数とMATCH関数を使用してVlookupと同じようにデータを反映させることが出来ます。

検索のキーとなる商品コードが、一番左にないときには、パッと2つの方法が思い浮かびます。
一つはコピー元シートの列を編集してしまう方法。これは、C列にある商品コードをA列に持ってくるという方法。
もう一つがコピー元シートを編集せずにコピー先シートで、Match関数とINDEX関数を使用し、Vlookupと同じように処理する方法の2つがあります。
Match関数とINDEX関数
商品名を取得し反映してみます。
コピー先シートのB2セルに以下を入力。
=IFERROR(INDEX(コピー元!$A:$A, MATCH($A2, コピー元!$C:$C, 0)), "")
MATCH($A2, コピー元!$C:$C, 0) コピー元シートのC列(商品コード項目)から、コピー先シートのA2(商品コード)の行番号を探します。
INDEX(コピー元!$A:$A, … ) 見つかった行の「商品名」を反映します。
IFERROR(..., "") 見つからないときは空白を反映します。
単価を取得し反映してみます。
コピー先シートのC2セルに以下を入力
=IFERROR(INDEX(コピー元!$B:$B, MATCH($A2, コピー元!$C:$C, 0)), "")
先ほどと同じ仕組みで
MATCH($A2, コピー元!$C:$C, 0) コピー元シートのC列(商品コード項目)から、コピー先シートのA2(商品コード)の行番号を探します。
INDEX(コピー元!$B:$B, … ) 見つかった行の「単価」を反映します。
IFERROR(..., "") 見つからないときは空白を反映します。
まとめ
VLOOKUP関数は、Excel初心者が最初に覚えると大きな効果を実感できる関数です。
- 基本は「=VLOOKUP(検索値, 範囲, 列番号, 検索方法)」
- 検索方法の箇所は基本的に0と入力 FALSE(完全一致) を使う
- エラーが出やすいので「#N/A」や「#REF!」の原因を理解しIFERRORも覚える
- IFERRORと組み合わせれば、エラー対策が可能
- VlookUP関数をさらにステップアップ(INDEX+MATCHやXLOOKUPに挑戦する)
Excelを使った作業は「手入力を減らすこと」が大きな効率化につながります。
その第一歩として、ぜひVLOOKUPをマスターしてみてください。


コメント
Very shortly this website will be famous amid all blogging and site-building
visitors, due to it’s nice articles