「Excel(エクセル)」には業務改善に役立つ、さまざまな関数が存在します。その中でも、数式がややこしく難しい印象があるのが「VLOOKUP(ブイ・ルックアップ)関数」ではないでしょうか。使いこなせるようになると、手入力していた箇所を自動入力できるなど大幅な時間短縮になるものの、その難解さから敬遠している人も多いようです。

そこで今回は、書類作成等に便利なVLOOKUP関数について、概念から使い方の具体例、注意点をわかりやすくまとめました。この機会にVLOOKUP関数を攻略して、生産性の向上に役立てましょう。

VLOOKUP(ブイ・ルックアップ)関数とは

VLOOKUP関数とは、指定した表や範囲について、行ごとに数値や文字列を検索し、自動入力してくれる機能を持った関数です。

VLOOKUP関数を使うことで、ルーチン作業や値を扱う書類の作成、情報の管理などを行う際に、その手間を省くことができます。情報を一斉に上書きしたい場合にも、VLOOKUP関数を使えば一つ一つ手作業でコピペすることなく、一度に修正可能です。

またVLOOKUP関数には、「完全一致」か「近似一致」かを選択して検索できる特徴があります。まったく同じ値だけでなく、ある一定の基準に達した数値をまとめて算出したり、値が存在するかどうかを検索したりすることもできるため、使い方次第で多くの業務に反映できます。

VLOOKUP(ブイ・ルックアップ)関数はどのような場合に使うのか

VLOOKUP関数の「指定した範囲から値を検索して表示する」という特徴を上手に活かすには、以下のようなシーンで利用するのがおすすめです。一例として参考にしてみてください。

複数の一覧表を統合する

エクセル上で別々のシートにある複数の表を一つの表に統合したい場合、VLOOKUP関数を使えば、それぞれの情報を拾って統合してくれます。一つずつコピペをせずに済むので、作業時間の短縮になるでしょう。複雑な表を統合したいときなど、より効果的です。

書類(請求書・納品書・見積書等)を作成する

請求書・納品書・見積書・伝票といった書類を大量に作成する場合にも、VLOOKUP関数が活躍します。たとえば、商品番号・商品名・価格を入れたリストを用意しておけば、請求書や納品書には商品番号を入力するだけで必要な内容が自動入力され、短時間で書類を完成させることができます。

社員番号から所属部署や社員名を割り出す

人材管理の面において、社員番号から担当部署や名前を割り出して表示させることも可能です。名前は漢字のミスが生じやすい入力箇所なので、社員番号を使うことでミスの防止にも役立ちます。名前以外にも住所や電話番号、複雑な商品名を扱うようなシーンでも活用するとよいでしょう。

アンケート情報の集計

アンケートの結果を集計して分析したい場合にも、VLOOKUP関数を使って効率化を図ることができます。条件が一致する値をVLOOKUP関数で抜き出して合計値を算出すれば、グラフを作成して分析するという一連の流れがスムーズに行えます。

情報を一斉に更新する

大量の情報を修正したい場面でも、VLOOKUP関数が便利です。参照元のリストを上書きするだけで、情報の一斉更新が完了します。

VLOOKUP(ブイ・ルックアップ)関数の使い方

上記を踏まえて、VLOOKUP関数の数式の書き方を解説します。この関数を利用する場合は、あらかじめ「参照用のリスト」を準備する必要があります(下記で具体例を出して説明します)。このリストは非常に重要な役割を果たしますので、ミスや漏れのない一覧を作成してくださいね。

参照用のリストを用意したら、いよいよVLOOKUP関数の数式を記述していきます。基本となるVLOOKUP関数の数式は以下の通りです。

【VLOOKUP関数の数式】

VLOOKUP(検索値,範囲,列番号,検索方法)

検索値:参照元のリストから値を拾う際に、その糸口になる値を示します。たとえば、商品番号から商品名を検索したい場合、「商品番号」が検索値に当たります。ここには、値・セル参照・文字列を指定します。

範囲:参照するリスト全体を示します。セル範囲の参照、またはセル範囲名を指定します。

列番号:参照リストのうち、何列目を検索したいかを示します。範囲の先頭列には 1 を指定します。

検索方法:完全一致か近似一致かの検索方法を示します。論理値 (近似値を含めて検索 = TRUEまたは省略、完全一致の値を検索 = FALSE) で指定します。

【VLOOKUP関数を使って表を統合する方法】

image1.png
まずは上記のように2つに分かれた表を、左の表に統合したい場合についてみていきましょう。

今回は、左の表に足りない「出勤日数・残業時間」の情報を、VLOOKUP関数を使うことで補足し、統合していきます。

まず、2つの表を統合すると「氏名・所属部署・出勤日数・残業時間」の4列の表になるので、左の表のA・B列の右に「出勤日数・残業時間」を統合するスペースを作るため、C列の右に2列空白の列を挿入します。

空白となったⅭ~E列のうち、Ⅽ列に出勤日数、Ⅾ列に残業時間をVLOOKUP関数で表示させます。この時、Ⅽ・Ⅾ列にVLOOKUP関数を記入するのですが、その参照元となるリストが上の図の右の表です。これを「参照用リスト」と呼びます。

この参照用リストの出勤日数・残業時間をVLOOKUP関数で呼び出して、C・D列に表示させるのです。

実際にC2に入れるVLOOKUP関数は、このようになります。

出勤日数(C2)に入るVLOOKUP関数
=VLOOKUP(F2,$F$2:$H$7,2,FALSE)

VLOOKUP関数の数式、VLOOKUP(検索値,範囲,列番号,検索方法) に当てはめて読み解くとわかりやすくなります。検索値に名前を指定し、分離した右側の表を参照範囲に指定して、該当者の出勤日数と残業時間を表示させています。

このように、C・D列にVLOOKUP関数を入れて行くと、以下のような表になり統合が完了します。
image3.png

【VLOOKUP関数を使って請求書を作る方法】

image2.png
番号から商品名と単価を検索して、請求書の該当項目に自動入力させる場合は、以下のようなVLOOKUP関数を使いましょう。まずは、商品名や単価を記載した参照用のリストを準備します。

image4.png
請求書の「単価(D5)」に入るVLOOKUP関数
=VLOOKUP(B5,商品一覧!$A$2:$C$7,3,FALSE)
※シートは「商品一覧」と「請求書」の2つに分けておきます。
※請求書の合計金額欄は省略しています。

上記は「商品一覧」シートを参照しながら、商品番号で検索を行い、商品名と単価を自動で表示させています。これを応用すれば、納品書や伝票、報告書といったさまざまな書類作成において応用でき、作業時間も短縮できますよね。

VLOOKUP(ブイ・ルックアップ)関数で間違えやすい点

続いて、VLOOKUP関数を使用する際に、初心者がつまづきやすいポイントをまとめました。あらかじめ注意点を頭に入れておくことで、エラーを起こしづらくなります。また、エラーが起こった際の原因究明にも役立つため、内容を把握しておきましょう。

数式をコピーする際は「絶対参照」でコピーする

数式をコピーする方法には、「相対参照」と「絶対参照」の2つの方式があります。相対参照とは、参照するセルを一つずつずらしてコピーするもの。これは「オートフィル」と呼ばれ、セルの右下にカーソルを合わせて、現れる十字架を下に引っ張って数式をコピーする方法です。SUM関数等の数式をコピーする場合は、非常に便利な方法です。

ただし、VLOOKUP関数の数式をコピーする際に相対参照でコピーするオートフィルを使用すると、正しい結果を表示しなくなってしまいます。これは、参照する範囲が1列ずつずれてしまうからです。

この問題を解消するには、相対参照ではなく「絶対参照」という方式を用いましょう。絶対参照とは数式をコピーしても参照するセルがずれることなく、常に同じ範囲を選択するコピー方式です。絶対参照は以下のように表記します。

$A$1:$D$15
※A1〜D15までの範囲を参照したい場合の表記です。

VLOOKUP関数では、基本的に「絶対参照」で数式を組んでおくと良いでしょう。

同じ列に同じ値が2つ以上ある場合、2つ目以降は検知しない

VLOOKUP関数で参照リストを作成する際は、同じ列に同じ値が入っていないかに気をつける必要があります。なぜなら、VLOOKUP関数は指定した範囲を参照するものの、該当する値を見つけた時点で検索を終了してしまうからです。

つまり、参照範囲に同じ値が複数入っていた場合、2つ目以降のデータは表示されなくなります。このような見逃しが起きないよう、同じ値は一つに統合する、または区別できるような表記を付け加えましょう。

参照リストに空白文字があると検知しない

VLOOKUP関数では、指定した選択範囲に何かしらのミスがあると正しい表示がされなくなってしまいます。たとえば、参照リスト中の文字の末尾に空白文字が入っていた場合、見た目ではわかりませんが、エラーを引き起こす原因になります。

VLOOKUP関数を正しく活用するには、参照リストを作成する際にこのようなミスがないよう、十分に注意する必要があります。

セルの書式設定が「文字列」になっていると正しく表示されない

テキストファイルやCSVファイルから読み込みを行った際など、セルに入力した数式が計算されずに、数式の状態で表示されることがあります。この場合、該当するセルの書式設定が「文字列」になっている可能性が高いです。

書式設定が「文字列」になっていると、数値も文字列として扱われ、セルには入力した値がそのまま表示されます。これは書式設定を「標準」にすることで解決できます。

計算式が正しい場合でもエラーが出る

VLOOKUP関数では、なんらかの影響で結果を表示できない場合、すべて「#N/A」と表示されます。数式が正しくても誤っていても、同じエラーが表示されるため、エラーの原因究明が難しくなってしまうのです。

たとえば、社員番号が2,500番まで振られた社員一覧があるとします。この社員一覧を参照してVLOOKUP関数を組んだ場合、2,501番と入力すると値が存在しないことから「#N/A」が表示されます。ただし、数式自体が間違っているわけではありません。

VLOOKUP関数ではこのような現象が起こるため、「#N/A」が表示された場合は、数式の誤り以外に数字の入力間違いや参照リストの誤りがある可能性もある、と覚えておきましょう。

まとめ

指定した範囲から値を検索して表示させる機能を持ったVLOOKUP関数は、日常の業務の効率化に役立つ便利な関数です。数式がややこしい印象がありますが、一つずつ理解していけば、それほど難しくないことがおわかりいただけたのではないでしょうか。

いくつか初心者が間違えやすい注意点が存在するものの、基本的なルールを守って活用すれば、エラーに頭を悩ませることなく使いこなせるのではないでしょうか。重要なポイントとしては、誤りのない参照リストを準備することと、絶対参照で数式をコピーすることです。

日々の業務にVLOOKUP関数を活用して、情報管理や書類作成などに役立ててくださいね。