会計ソフトなどのツールから出力されたエクセルデータを整理・分析する際に、エクセルのVLOOKUP関数は欠かせません。VLOOKUPを使えば事務作業が飛躍的にスピードアップできるからです。営業に渡す資料も素早く用意できるため、営業効率が高まり、会社全体に大きなメリットをもたらします。
【初心者向け】Excelでの表作成や関数が学べる基礎ガイド
基本的な操作方法から、表やグラフ、利用頻度の高い関数の活用方法を初心者でもわかりやすいよう解説。
- シートの操作方法
- 関数の使い方
- ピボットテーブルの活用方法
- 実践用Excelテンプレート
今すぐダウンロードする
全てのフィールドが必須です。
ただし、ほんの少しの入力ミスでエラーが発生しやすいため、しっかりと関数を理解して起きたいところ。今回は、VLOOKUP関数の使い方を詳しく解説します。
エクセル初心者の人でも理解しやすいよう、6つの手順に沿って画像付きで解説しますので、ぜひ参考にしてみてください。
VLOOKUPとは
VLOOKUP(ブイ・ルックアップ)とは、表中を列番号を指定して検索し、特定のデータに合った値を抽出するエクセル関数です。
実際にVLOOKUPを使ったものが以下の図となります。
上図では、「受注表」の商品名と単価の項目にVLOOKUP関数を用いています。「商品マスタ」のなかから該当する型番を探し出し、型番に見合った商品名と単価を「受注表」へと抽出する仕組みです。
上図のデータは非常にシンプルですが、受注表などのデータは情報量が多く、一つひとつの値を直接入力していては効率性は高まりません。一方、一度VLOOKUP関数を入力しておくと、その他ほとんどの値をコピー&ペーストで入力できるため、作業効率が大幅に改善されます。
また、VLOOKUPとよく似た関数にHLOOKUP(エイチ・ルックアップ)があります。VLOOKUPが列番号を指定して値を抽出するのに対し、HLOOKUPは行番号を指定する点が大きな違いです。後ほどVLOOKUP関数の構文を紹介しますが、HLOOKUPにも応用ができます。
VLOOKUPの用途
VLOOKUP関数は、主に以下のようなシーンで活用されます。
- 受注管理・在庫管理:商品マスタから商品名や単価を抽出する
- 営業リスト作成:住所録マスタから住所や電話番号を抽出する
- 請求書作成:該当する品目や単価を抽出する
- 財務分析表作成:該当する勘定科目や金額を抽出する
VLOOKUPは、膨大なデータから瞬時に該当する要素を抽出できる点がメリットです。よって、大量のデータが存在し、なおかつ複数の関連した項目を探し当てたいときに役立ちます。
VLOOKUP関数の構文
VLOOKUP関数の構文は、以下の数式によって成立します。
「=VLOOKUP(検索値,範囲,列番号,検索の型)」
上記の通り、VLOOKUPには4種類の引数が必要です。以下では、それぞれの引数について解説します。
第一引数:検索値
検索値とは、表のなかで参照するセルを表します。
以下は、C3のセルにVLOOKUP関数を適用させた場合の図です。
検索値に入力しているのは「B3」です。つまり、「後ほど指定する範囲のなかから、B3の値を参照してください」と指示しています。(上図では「NB-004」という特定の型番を指定しています)
VLOOKUPでは、あらかじめ検索値となるセル(上図では型番)を入力しておく必要があります。この検索値のセルに入力ミスがあるとうまく検索できないので注意してください。
第二引数:範囲
範囲とは、データを参照する表の範囲を指定したものです。
上図では、「商品マスタ」全体の表を指定しています。つまり、「B8:D20の表のなかから、B3(検索値)のデータを参照してください」と指示を出しているわけです。
また、「B8:D20」の範囲には「$」のマークが付いています。この状態を絶対参照と呼び、範囲を指定したときにF4キーを押すと付与できます。
範囲に絶対参照が適用されていると、ほかの列(行)に関数をコピーしたときに範囲がぶれません。反対に絶対参照が付いていなければ、ほかの列(行)に関数をコピーすると1列(1行)ずつ範囲がずれてしまうのです。
検索データにかかわらず常に一定の範囲を指定する場合は、絶対参照を適用させましょう。絶対参照の付け忘れはよくあるミスの一つなので要注意です。
第三引数:列番号
列番号とは、指定した範囲から検索をする際、その検索データが存在する場所を表します。
上図の場合は商品名を検索したいため、指定した範囲の2列目を設定します。よって引数には「2」が指定されています。仮に単価のセルを抽出したい場合は、3列目の「3」を指定します。
上記の通りVLOOKUPの列番号とは、あくまで指定した表の左から数えた列の番号です。ワークシート全体の列番号ではないので、入力の際には注意してください。
第四引数:検索の型
検索の型には、「FALSE」と「TRUE」の2種類が存在します。またはFALSEは「0」、TRUEは「1」と入力しても構いません。
- FALSE(0):範囲のなかから検索値と完全に一致する値のみを抽出
- TRUE(1):範囲のなかから検索値の近似値を抽出
以下の図では完全一致の値を抽出したいため、FALSEを指定しています。
仮にFALSEを指定し、一致する値が存在しない場合は、「#N/A」の結果が表示され入力エラーとなります。
FALSEとTRUEについては後ほど詳しく紹介します。
VLOOKUPでは左から右に検索するのがルール
先述した通り、VLOOKUP関数では検索範囲を列番号で指定して値を抽出します。列番号は検索範囲の左端が1列目となり、そこから右へ2列目、3列目と数えていきます。そのため、抽出したい項目を検索値の列よりも左に置くことはできません。今回の図を例にすると、「型番」の左に「商品名」が入っているとうまく機能しないということです。
なお、列番号はアルファベットでは指定できないため、必ず半角の数字で入力しましょう。
VLOOKUPの数式でデータを取得するには一意の識別子が必要
VLOOKUP関数をうまく機能させるには、一意の識別子に対する理解が大切です。
一意の識別子とは、2つのデータソースに共通している情報を表します。たとえば検索範囲のなかに「NB-001」という型番が存在し、なおかつデータを抽出する表のなかにも「NB-001」の値があれば、一意の識別子がしっかりと関連付けられているということです。
一意の識別子がなければ検索範囲からデータを参照することができません。エラーが発生する原因にもなるため、スペースの有無や全角半角など、2つのデータソースにある共通データに誤りがないかを確認しておきましょう。
VLOOKUP関数の基本的な使い方
ここでは、実際にエクセルを使ってVLOOKUP関数を入力する手順を解説します。
VLOOKUP関数を使用する手順は以下の通りです。
- VLOOKUP関数を入力
- 第1引数[検索値]を指定
- 第2引数[範囲]を指定
- 第3引数[列番号]を指定
- 第4引数[検索の型]を指定
- 数式の入力を完了
それぞれの手順について詳しく解説していきます。
1.VLOOKUP関数を入力
VLOOKUP関数を利用するには、まずマスタとなる表とマスタからデータを抽出するための表の2つが必要です。VLOOKUPの練習として以下のような表を用意しましょう。
今回は、「受注表」の型番を参照し「商品マスタ」から商品名と単価を抽出します。よって、まずはB3に参照する型番を入力していきます。
今回は「NB-004」の型番を参照するように設定しました。
次にC3を選択し、VLOOKUP関数を入力していきます。
2.第1引数[検索値]を指定
最初に入力する引数は検索値です。半角で「=vlookup(」と入力した後に、検索値を入力しましょう。
ここではB3を検索値に指定しました。つまり、B3に入力した「NB-004」を検索範囲から参照することを指示しています。
3.第2引数[範囲]を指定
次に検索範囲を指定します。
ここでは、商品マスタのデータであるB8からD20までを検索範囲としました。なお、セル番号は直接入力しなくても、ドラッグで囲えば簡単に指定できます。
検索範囲が常に一定の場合は「F4キー」を押して絶対参照に設定しておきましょう。
上記のように絶対参照を表す$マークが付与されました。これで関数をコピーした場合でも、検索範囲がずれることはありません。
4.第3引数[列番号]を指定
続いて列番号を指定します。
検索範囲のなかで商品名に該当するのは2列目です。よって、ここでは列番号に「2」を入力します。
5.第4引数[検索の型]を指定
最後に検索の型を指定します。
今回は完全一致データを抽出したいため、検索の型には「FALSE」と入力しました。ここは大文字でも小文字でも構いません。
6.数式の入力を完了
VLOOKUPの入力が完了すると、セル上に抽出したデータが表示されます。
また、上図では単価もVLOOKUPで抽出することができます。
単価の項目でも基本的な関数は変わりませんが、今度は列番号を「3」と入力しましょう。
すると、上図のように単価も簡単に抽出することができました。これでVLOOKUP関数の入力はすべて完了です。
VLOOKUP関数の便利な使い方
少しマニアックなVLOOKUP関数のテクニックを2つ紹介します。
複数条件を指定する
VLOOKUP関数は、基本的に1つの検索条件(表の1番左の値)しか指定できません。そこで、表1番左の値にいくつか条件を組み込むことで、複数条件を指定します。表1番左に新しいセル(検索値)を挿入し、VLOOKUP関数の値として組み込むイメージです。
例えば、型番と商品名を組み合わせた「NB-001商品A」という条件で検索したい場合は、B8以降に型番と商品名を足し合わせた値を一覧化し、「NB-001商品A」で検索できるようデータを整えます。
その後、C3、D3、E3にそれぞれVLOOKUP関数を組み込むと、複数条件でデータを抽出できるようになります。
別シートを参照する
「シート名!」を参照するセル番号の前に付けることで、別シートのデータを参照できます。
VLOOKUP関数を組むにあたり、参照元データと抽出したいデータが膨大になる場合や、VLOOKUPの処理後のみを分かりやすく記載したい場合は、シートを分けるのがおすすめです。
検索の型のFALSEとTRUEの違いとは
VLOOKUP関数では、4つ目の引数でFALSEまたはTRUEの指示を行います。これは、前述した通り以下となります。
- FALSE(0):範囲のなかから検索値と完全に一致する値のみを抽出
- TRUE(1):範囲のなかから検索値の近似値を抽出
FALSEを指定すると、検索範囲から検索値と完全一致する値を抽出できますが、一致する値がない場合はエラー入力となってしまいます。一方のTRUEは、検索値未満の最大値を抽出できる点が特徴です。
たとえば検索値が「100」として、検索範囲にも「100」の値が含まれている場合には、FALSEを指定することで完全一致した値を抽出できます。
反対にTRUEを指定する場合、検索範囲に「100」が含まれず、たとえば「95・98・101」などの値があると検索値未満の最大値である「98」が抽出される仕組みです。
検索範囲と検索値に商品番号や氏名といった完全一致するデータが含まれる場合には、FALSEを指定するとよいでしょう。TRUEは、成績や予算などを記載した表で、一定の基準値を超えないデータを参照するときに役立ちます。
VLOOKUPでよくあるエラー「#N/A」の対処法
VLOOKUPは、数あるエクセル関数のなかでもエラーが現れやすい関数です。エラーが出ると「#N/A」と表記されます。よりスムーズに関数を活用するためにも、エラーが出る原因や対処法を知っておきましょう。
ここでは、VLOOKUPでエラーが表示されたときの対処法を解説します。
FALSE指定で完全一致データが存在しない
第四引数である検索の型を指定する際、FALSE指定で完全一致データが存在しない場合はエラーが表示されます。
たとえば商品マスタのなかから「NB-001」のデータを参照するとしましょう。しかし、商品マスタに「NB-001」のデータがなければ、検索ができず入力エラーとなってしまいます。また、「NB-001」のセルに入力ミスがあった場合もエラーの対象です。
検索範囲のなかから完全一致データを探すには、「Ctrl + F」のショートカットキーで要素を検索するとよいでしょう。仮に検索範囲のなかに完全一致データが存在する場合、小文字と大文字が区別され正確に入力されているかを確認する必要があります。
TRUE指定で近似データが存在しない
第四引数である検索の型でTRUEを指定する場合、検索範囲には検索値未満の値が入力されていなければなりません。仮に検索値未満の値がなければ、近似値が存在しない原因でエラーとなってしまいます。
たとえば、第一引数である検索値「100」でTRUE検索を行ったとしましょう。しかし、検索範囲には「101・105・110」と、検索値未満の値が含まれていませんでした。TRUEの指定ではあくまで検索値未満の最大値を抽出するため、検索範囲の値が検索値よりも大きい数字ばかりだとエラーが発生してしまうのです。
TRUEの指定を行うときは、必ず検索範囲に検索値未満の値を入力しましょう。
検索範囲に誤りがある
VLOOKUPでエラーが出た場合、次に確認したいのが検索範囲です。検索範囲に誤りがある場合には、「#N/A」としてエラーが返ってきます。
たとえば本来はA3からE14を検索範囲に指定するつもりでも、セルが1列(1行)でもずれているとうまく検索ができません。
また、別の列や行に関数をコピーした際、コピー元の検索範囲がずれてしまうケースもあります。検索範囲を常に一定の状態に保つには、コピー元の検索範囲に絶対参照を適用(F4を押す)させておきましょう。
検索値の空白や大文字・小文字の違い
検索値そのものに入力ミスや誤りがあると、エラーが発生する可能性があります。
たとえば「#10012」と入力するつもりが「# 10012」のようにスペースが空いていたり、「AB」や「AB」など大文字・小文字の違いで検索ができないケースも考えられます。また、検索値が空白になっているとエラーが発生するため、正確に入力できているかを確認することが大切です。
検索データが空白でもエラーを表示させない方法(IFERROR関数
検索値が検索データ内にない場合、「#N/A」と表示されますが、こちらを防ぐ方法があります。VLOOKUP関数とIERROR関数かけ合わせる方法になります。
=IFERROR(VLOOKUP(検索値,検索範囲,列,検索方法),エラー時に表示する文字))
上記の式に当てはめれば、エラーを表示させずにVLOOKUP関数を使用できます。
エラー時に表示する文字は、自由に指定できるため、目的に応じて表記を変更しましょう。
VLOOKUP関数の押さえておきたいポイント
ここではポイントを2つご紹介いたします。
検索データの表示書式設定に注意する
文字列の書式設定が適切に設定されていない場合、データを検索できずエラーになってしまうことがあります。セルの書式設定から適切な表示形式を選択し、標準のまました場合自動変換され「#N/A」と表記されてしまいます。
例えば、商品番号「0005」というデータを探すさい、書式を文字列に変更しなかった場合は自動的に「5」に変換されエラーとなりますのでご注意ください。
[範囲]の指定は列をまとめて選択する
検索範囲となるデータを指定するときは、列ごと設定するようにしましょう。例えば、「F3:I20」と設定するのではなく、「F:I」と設定します。
=VLOOKUP(E1,F3:I5,2,0)
↓
=VLOOKUP(E1,F:I,2,0)
データが増えたり減ったりする度、関数の選択範囲を変更する必要がなくなり、検索対象データの抜け漏れを防止できます。
便利なVLOOKUP関数で業務全体を効率化しよう
見積書や請求書を作成するときに便利なVLOOKUP関数。検索条件に一致したデータを容易に抽出できるため、事務作業を飛躍的にスピードアップできます。
今回ご紹介したVLOOKUPは、エクセルの500種類近くある関数の一つに過ぎません。たとえばLOOKUP関数だけでも、ほかにXLOOPUPやHLOOKUPが存在するため、複数の便利な関数を覚えておくと事務作業をさらに効率化できます。
事務作業の生産性が高まると、営業や企画など他部署の社員にも好影響を与えます。関数の知識を習得する際は、会社全体の生産性までを配慮しながら取り組みましょう。