これなら使えるExcel VLOOKUP関数Tech TIPS

ExcelのVLOOKUP関数は、複数の表から一致するデータを検索して、表を上手に結合してくれる便利な機能だ。ただ利用には、ちょっとした手順を踏む必要があり、ついつい忘れがちだ。本Tech TIPSでは基本的なVLOOKUP関数の使い方の要点をまとめる。

» 2023年09月21日 05時00分 公開

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Tech TIPS」のインデックス

連載目次

対象:Excel 2016/2019/2021/365


VLOOKUP関数でできること VLOOKUP関数でできること
ExcelのVLOOKUP関数を使うと、商品名と単価をまとめた表から検索し、商品コードや商品名で単価などを自動的に入力してくれる。ただVLOOKUP関数は引数が多く、使い方をつい忘れがちだ。本Tech TIPSでは基本的なVLOOKUP関数の使い方の要点をまとめる。

VLOOKUP関数とは

 例えば、鉛筆やボールペンなどを販売する文房具店を経営しているとしよう。顧客からの注文を「Microsoft Excel(エクセル)」のシートにまとめて、販売総額をExcelで算出するとする。Excelを使って、受注シートの表を作成し、受注した商品名や単価、個数を入力、後は個数と単価をかけて販売商品ごとの金額を算出して、各商品の金額を総計してトータル価格を計算する。ごくごく一般的なExcelの帳票処理だ。

 しかし、商品の価格は仕入れによっても変わる場合もあるし、商品名を毎回手入力するのはかなりばかばかしい作業で、間違えも起こりがちである。こういう場合、普通は商品一覧と単価をまとめた表を別に作っておき、受注シートに転記することが多いだろう。

 この際、手作業によるコピー&ペーストではなく、Excelの関数を使い、自動的に転記できるようにしておくとよい。それには、商品コードなど共通する列情報から、合致する行のデータを自動的に他方の表に転記できるExcelの「VLOOKUP(ブイルックアップ)関数」が使える。

 VLOOKUP関数は、指定した表の範囲内にある先頭列を検索対象として、垂直(Vertical)に探し(Lookup)、検索値と合致した行の指定した列の値を返すというものだ。

 例えば、先頭列に商品コード、2列目に商品名、3列目に単価を入力した「価格テーブル」があれば、商品コードで検索することで、商品名や単価を自動的に入力させることができる。

 同様に顧客データの顧客コードから氏名や住所などの顧客情報を取り出すといった用途や、データの抜け漏れチェックや表の結合などにも利用にも使える。

 VLOOKUP関数は、Excelで表形式のデータを検索する場合に、よく使われる関数なので、ぜひ覚えておきたい。ただし、VLOOKUP関数は引数が多いこともあり、いざ使おうと思っても、正しい使い方がなかなか思い出せないものでもある。そこで、本Tech TIPSでは基本的なVLOOKUP関数の使い方を紹介する。

 なお、同様の関数として、表の先頭行を水平(Horizontal)方向に検索する「HLOOKUP(エイチルックアップ)関数」や水平、垂直のどちらでも使える「XLOOKUP(エックスルックアップ)関数」もある(XLOOKUP関数は、Excel 2016とExcel 2019では使用できないので注意)。参照する表の方向が違うだけで、使い方は同じなので、VLOOKUP関数の使い方をマスターしておけば、HLOOKUP関数やXLOOKUP関数も使えるようになるはずだ。

VLOOKUP関数を使う手順

 VLOOKUP関数の書式は下図の通りである。

VLOOKUP関数の書式 VLOOKUP関数の書式

引数 説明
第1引数 検索値となる商品コードなどが入力されたセル番号
第2引数 参照先の表の範囲
第3引数 そのセルに入力したい項目が、参照先の表の範囲で先頭から何列目にあたるか(列番号)を指定
第4引数 検索方法を指定する。「FALSE」または「0」ならば検索値が完全一致するデータのみ/「TRUE」または「1」ならば検索値が完全一致するか、ない場合は一番近いデータを探して入力
VLOOKUP関数の引数

参照する製品一覧などの表を用意する

 VLOOKUP関数には、関数が参照する別に用意した表(上述の「価格テーブル」のような「商品コード」「製品名」「価格」などが並んだ表)が必要になる。その表は、同じシート上でも別シート上でも、別ブックにあっても構わない。ここでは、参照する表を別シート上に用意することとする。

 VLOOKUP関数で参照する表には、VLOOKUP関数で検索値となる商品コードや型番などを一番左の列に配置しておく。VLOOKUP関数を記述する方の表では、商品コードや型番を入力すると、対応する製品名や価格をVLOOKUP関数が埋めてくれる、というのが一般的な使い方になる。

参照先となる表を作成する 参照先となる表を作成する

受注シートなどにVLOOKUP関数を入力する

 参照する表が用意できたら、受注シートや見積表などでVLOOKUP関数を使った自動入力を設定しよう。

 実際に例を挙げて、VLOOKUP関数の動きを紹介しよう。以下の画面では、同じブック内に作成した「価格テーブル」と「受注シート」という別シートを説明しやすいように並べている点に注意してほしい。

VLOOKUP関数を入力する(1) VLOOKUP関数を入力する(1)
自動入力したいセルにVLOOKUP関数を入力する。第1引数には検索値が入力されるセル番号を指定する。
VLOOKUP関数を入力する(2) VLOOKUP関数を入力する(2)
第2引数には参照先となる表のセル範囲を指定する。別シートや別ブックなどにある参照先となる表のセル範囲をマウスでドラッグすれば、範囲を指定できる。この際、相対参照の状態だと、オートフィルを使って列にVLOOKUP関数を入力したときに、参照先の「価格テーブル」のセルの位置がズレてしまう。そのため、参照先となる表のセル範囲を絶対参照(「$A$1」のようにする)にすること。「価格テーブル」のセル範囲を選択したら、[F4]キーを押せば、相対参照から絶対参照に変更できる。
VLOOKUP関数を入力する(3) VLOOKUP関数を入力する(3)
第3引数にはセルに自動入力したい項目が何列目なのかを指定する。セルに自動入力したい項目が参照先となるセル範囲の何列目なのかを指定する。左端の列(検索対象のデータが置かれている列)が1になり、その右隣から先は順に2、3、……となる。
VLOOKUP関数を入力する(4) VLOOKUP関数を入力する(4)
第4引数は検索方法を指定する。通常「FALSE」を指定する。「FALSE」を指定すると、検索値と完全一致する場合のみデータが入力される(不一致だと「#N/A」エラーになる)。検索値が完全一致しない場合に、一番近いデータを探して入力させたい場合は「TRUE」を指定すればよい。
VLOOKUP関数を入力する(5) VLOOKUP関数を入力する(5)
商品コードを入力したら、オートフィルを使ってVLOOKUP関数をコピーすれば、自動的に商品名が入力される。
VLOOKUP関数を入力する(6) VLOOKUP関数を入力する(6)
単価も同様にVLOOKUP関数を入力し、「価格テーブル」から自動入力できるようにする。この際、「価格テーブル」の単価が入力された列を第3引数に指定するのを忘れないこと。
VLOOKUP関数を入力する(7) VLOOKUP関数を入力する(7)
VLOOKUP関数で自動入力を行うと、「価格テーブル」で設定した商品名と単価が自動的に受注シートに入力された。「価格テーブル」の単価を変更すれば、自動的に受注シートにも反映される。

検索対象列に検索値に合致する値がない場合の注意点

 検索対象列に検索値と合致する値がなかった場合、「#N/A」(該当なし)といったエラーがセルに表示される。特に、第4引数に「0」または「FALSE」を指定した場合、完全一致となるので、検索値に「−(ハイフン)」などが含まれている場合、半角と全角の違いで検索できないといったことが起きがちなので注意すること。こうした値は、事前に正規化しておく必要がある。

検索対象列に検索値と完全一致するデータがない場合 検索対象列に検索値と完全一致するデータがない場合

 また、VLOOKUP関数を記述したセルを別の場所へコピー&ペーストすると、参照する表のセル範囲まで動いてしまうことがある。このような場合、合致する検索値があるにもかかわらず、検索に合致しないので、エラーが生じた場合は、参照する表の範囲が正しいかどうかも確認しよう。セルの範囲に名前を付けておくと、こうしたミスを防ぐことができる(TIPS「Excelの『名前の定義』でセルの範囲に名前を付ける」参照のこと)。

更新履歴

【2023/09/21】画面などを最新の環境に合わせて更新しました。

【2017/09/01】初版公開。


Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。