営業ラボ

営業力強化に役立つノウハウを公開
eセールスマネージャー 営業ラボ・ブログ EXCEL VLOOKUP関数の使い方|エラーの対処法や活用シーンを紹介
そのまま使える!EXCELのVLOOKUP関数の使い方と構文を解説
更新日:

EXCEL VLOOKUP関数の使い方|エラーの対処法や活用シーンを紹介

EXCELでのデータ管理や入力の効率化に役立つVLOOKUP関数を初心者にもわかりやすく、具体的に解説します。「構文はあっているはずなのに、うまく機能しない」という場合のエラーの対処法なども解説しているので、業務効率化の参考としてください。

VLOOKUP関数の使い方とは?

VLOOKUP関数は、さまざまな場面で業務効率化に利用できる便利な関数です。ただし、ちょっとしたミスで正確な値が表示されなかったり、エラーとなってしまいます。
ここでは、コピー&ペーストでそのまま使える関数の構文の紹介と解説を行います。

Excelの基本的な使い方からおさらいしたい方は、以下の記事を参考にしてください。

参考:Excel(エクセル)の使い方・基本機能を初心者向けに解説【2024年版】

コピぺで使えるVLOOKUP関数

とにかくVLOOKUP関数をすぐに使いたい、という方は、以下のコードをコピーして、引数部分を修正してご利用ください。

=VLOOKUP(B3,A7:F16,2,FALSE)

VLOOKUP関数の構文解説

EXCELの関数に記載すべき項目を引数と呼びます。VLOOKUP関数には4つの引数があるので、構文とEXCELの画面を見ながら解説していきます。

VLOOKUP関数の構文1

VLOOKUP関数の構文
2

画像の例は、セルB3に取引先IDを入力することで、取引先一覧の表からIDが一致する取引先の情報の一部を表示させるためのシートです。
セルC3〜F3にVLOOKUP関数を使っていますが、解説ではセルC3の内容を説明していきます。

1番目の引数:検索値

関数の最初の引数(例文の「B3」に当たるの)は検索値です。検索値と合致する値が検索範囲にあった場合にVLOOKUP関数が値を返します。

具体例では、セル「B3」に入力された取引先IDによって取引先一覧のデータを検索する形となっています。

 2番目の引数:検索する範囲

検索値で検索する対象となる範囲です。範囲で指定された一番左の列と検索値が一致するかを検索します。

具体例では、セル「B3」に入力された取引先IDで、セル範囲「A7:F16」の一番左の列「A7:A16」を検索しています。

 3番目の引数:表示する値の列番号

検索した結果表示する列番号です。2番目の引数で指定した範囲の一番左の列を1として、列番号として指定します。

具体例では、2番目の列を指定しているので、取引先名が表示されます。

 4番目の引数:検索方法(基本はFALSEを選択)

検索値と完全一致の場合のみ表示するか、それ以外の方法をとるかを指定します。多くの場合、完全一致でないと参照したい値が正しく表示されないため、基本的に「FALSE」を指定します。

4番目の引数は省略も可能ですが、省略すると完全一致ではない「TRUE」を指定した扱いになるので、省略せずに「FALSE」を記入しましょう。

VLOOKUP関数の利用例

ここからは、VLOOKUP関数がどんな場面で活用できるのかを紹介していきます。

基本編①:特定の値の参照:IDや名称などでデータを検索し値を表示する

構文解説で紹介した例です。特定の取引先や商品などをIDや名称で検索して、表示させたい値を表示させる利用例です。

多数のデータから一つの値を表示させるために使うので、実際の業務では、名称などを使って検索することも多くなります。

この利用例では、入力ミスや表記のゆれ、重複データの存在により正しいデータが表示されない可能性があるので注意が必要となります。

基本編②:データ入力の効率化:IDや名称入力だけでデータの入力を完了する

取引先一覧(取引先マスタ)シートなどに入力されたデータを繰り返し使う場合などに利用する方法です。

たとえば、下の図のようなEXCELを使って営業組織内で商談の管理を行う場合、商談の取引先情報を毎回入力すると、入力の手間がかかり、ミスも起こりやすくなります。

そこで、繰り返し使われる取引先情報は、IDのみ入力(E列)し、取引先一覧から必要な情報をVLOOKUP関数で検索して表示(F〜H列)します。

基本編②:データ入力の効率化:IDや名称入力だけでデータの入力を完了する

応用編①:異なるシートのデータを結合する

VLOOKUP関数を使って、異なるシートのデータを結合させて一つの表を作成する、という使い方もよく行われます。

たとえば、下の図のように、営業担当者のデータを組み合わせて部門を表示させ、部門ごとに集計できるようにデータを結合することができます。

このように、入力済みのデータにないデータ(属性情報など)を使って集計を行いたい場合などに、VLOOKUP関数が利用されます。

応用編①:異なるシートのデータを結合する

応用編②:リストとの組み合わせ

入力をより簡略化するために、リストを使った入力も可能です。

たとえば、下の図のように、

  • 商談一覧のE列に入力規則を適用
  • 入力可能な値として別シート「取引先一覧」のIDをリストで指定

とすることで、すでに取引先一覧にあるデータをプルダウンで選択することができます。

応用編②:リストとの組み合わせ

顧客管理におけるExcel活用を検討している方は、以下の記事を参考にしてください。

顧客管理はExcel(エクセル)でできる! 作り方や無料テンプレートを紹介

VLOOUP関数のエラーと対処法

ここからは、VLOOKUP関数を利用しようとする際によく起こるエラーと、その対処法について解説していきます。

表示された値が正しくない

VLOOKUP関数では、指定した範囲内を上から順に検索し、一番最初にヒットした値が表示されます。上記のような検索を行うことから、範囲内に重複したデータがある(同じIDの取引先が複数存在するなど)と、意図したデータが表示されないことがあります。

対処法としては、データの重複を排除する(IDを正しく入力する、名称が同じになる可能性がある場合には、別の値を検索値にする)か、最新のデータが先に表示されるようにデータの並び替えを行います。

他の原因としては、4番目の引数である「検索方法」が「TRUE」となっている可能性や、3つ目の引数である「表示列番号」がずれている可能性もあります。

#N/Aが表示される

VLOOKUP関数では、検索値が存在しない場合に#N/Aが表示されます。

対処法としては、まずは誤った値が検索値に指定されていないかを確認してみましょう。

検索値が正しくても、VLOOKUP関数をコピーした際に検索範囲がずれてしまうことで、検索値が範囲外になり、「データは存在するのに検索にヒットしない」という場合もあります。

検索範囲のずれが起こっていないか確認し、ずれている場合には修正して対処しましょう。

#REF!が表示される

値を表示する列番号が検索範囲を超えた列数になっている場合に表示されるエラーです。

たとえば、以下の場合、検索範囲はAからF列なので、表示可能な列は6列になります。

この関数で列番号に「7」を指定すると、エラーとなり「#REF!」が表示されてしまいます。

=VLOOKUP(B3,A7:F16,2,FALSE)

対処法としては、検索範囲もしくは列番号を修正します。

VLOOKUP関数を正しく機能させるポイント

エラーが起こったときの対処法を解説しましたが、VLOOKUP関数では、エラー表示されずに間違った情報が表示されてしまうこともあります。また、いざ使おうと思っても、データの構造によってVLOOKUP関数がうまく使えない状況も発生します。

ここでは、データの準備なども含め、VLOOKUP関数を正しく機能させる4つのポイントについて解説していきます。

検索値(ID等)は一番左の列に配置

VLOOKUP関数では、検索する値が一番左にないといけません。そのため、表示させたい値が検索するIDや名称よりも左の列に存在すると、指定することができません。

VLOOKUP関数で参照するデータでは、検索値となるIDや名称を必ず一番左に配置しましょう。

検索値でデータを並び替え

VLOOKUP関数では、上から順に検索がかかるので、IDなどで並び替えを行っておくと正しい値が表示されやすくなります。とくに、重複データが発生することが想定される場合には、入力した日付などで並び替えを行うなどの工夫が必要です。

たとえば、最新の商談のデータを表示させたい場合などは、商談の日付で新しい順に上から表示させる「降順」にしておく必要があります。

見つからなかった場合に表示する文字列の設定

VLOOKUP関数では、検索した結果、値がヒットしなければ「#N/A」が表示されるエラーとなります。エラー表示のままでも問題はありませんが、見栄えがよくありません。

IFERROR関数を使ってエラー時の表示内容をコントロールすることで、見やすいデータとなったり、利用者が何が起こっているのかを判断しやすくなります。

たとえば、

=VLOOKUP(B3,A7:F16,2,FALSE)

=IFERROR(VLOOKUP(B3,A7:F16,2,FALSE),"存在しないIDです")

とすることで、検索値が見つからなかった場合に、「存在しないIDです」というテキストを表示させることが可能です。

検索範囲は絶対参照か列ごとを参照

VLOOKUP関数ではコピー時に問題が出やすいので、検索範囲は範囲の絶対参照(「$」を使ってコピー時にずれないようにする)とするか、列全体を指定する(A2:Aのような指定) ことでエラーが出にくくなります。

具体例としては、以下のような記述になります。

通常の範囲指定

=VLOOKUP(B3,A7:I16,2,FALSE)

絶対参照による範囲指定

=VLOOKUP(B3,$A$7:$I$16,2,FALSE)

列による範囲指定

=VLOOKUP(B3,A:I,2,FALSE)

なお、列による範囲指定を行った場合、多数のセルにVLOOKUP関数を利用すると、検索範囲が増えることで表示までに時間がかかることがあります。VLOOKUP関数を使う場合には、パフォーマンスなども意識しながら範囲の指定方法を検討してください。

業務効率化に役立つその他の関数

いろいろと便利に使えるVLOOKUP関数ですが、似たような機能を持つ関数、取引先・商談管理などでよく使われる他の便利な関数についても簡単にご紹介します。

データの水平検索が可能なHLOOKUP

VLOOKUP関数では、データを垂直方向に検索して結果を表示させていますが、データの持ち方によっては、データを横方向に水平に検索する必要があります。

そのようなときはHLOOKUPを使いましょう。

データの縦横検索が可能なXLOOKUP

EXCELには、データを縦にも横にも検索でき、上下左右どちらから検索するかも指定できるXLOOKUP関数も存在します。

XLOOKUPは便利な関数ですが、比較的新しく実装された関数なため、多くの人になじみが薄く、EXCELのバージョンによっては使用できない場合もあります。利用には注意が必要です。

取引先や担当者別の売上・商談数を集計するSUMIF関数、COUNTIF関数

商談管理などをEXCELで行っている場合には、取引先や担当者別の売上、商談数を集計したいといった要望が必ずでます。

そのような場合には、特定の条件に合致する数字のみを合計できる「SUMIF関数」、特定の条件に合致するデータの数をカウントできる「COUNTIF関数」などを使ってみましょう。

VLOOKUP関数の利用のまとめ

VLOOKUP関数は非常に便利な関数ですが、ちょっとしたミスで、正しいデータが表示されないこともあります。

今回、解説した、

  • 検索値(ID等)は一番左の列に配置する
  • 検索値でデータを並び替える
  • 見つからなかった場合に表示する文字列の設定する
  • 検索範囲は絶対参照か列ごとを参照に

といったポイントや正しい構文をしっかり理解して、業務に活かしてください。

VlookUPを用いた顧客管理は工数が圧迫しやすいです。CRMなどを用いることで大幅に顧客管理の効率化ができますのでよろしければぜひツールのご使用をご検討ください。

ページトップへ