ビジネスのシーンでは、スプレッドシートの膨大なデータから必要なデータだけを取り出すケースが多くあります。
データを目視で探すのは時間がかかるだけでなくミスが発生する可能性も高いため、VLOOKUP関数を使えるようになると仕事の効率化が目指せるでしょう。
今回は、表内から特定の値に対応するデータを取り出す関数VLOOKUPの使い方を紹介します。
VLOOKUPをまだ使ったことのない方もぜひ参考にしてください。
VLOOKUPとは
VLOOKUPは、表内の指定の列を検索する関数の一つです。
ビジネスで必須の関数とも言われ、エクセルでもよく使われる関数なのでなじみのある方も多いでしょう。
VLOOKUPのVはverticalを表し、表内を縦(垂直)方向に検索します。同様の関数に横(水平)方向に検索するHLOOKUPがあり、使い分けられるようになると便利です。
VLOOKUPを使うケース
縦方向に検索する関数と聞いてもイメージしづらいかもしれません。
VLOOKUPは他の関数と組み合わせて使うことも多く、さまざまなケースで使用されています。
- 商品IDで検索し、商品一覧表から商品名や単価を調べる
- 顧客コードで検索し、顧客一覧から氏名や住所を取り出す
- 請求書や見積書で商品IDを入れると商品名や価格が入力されるようにする
ここでは、顧客管理表から顧客情報を検索する例をもとに操作方法を紹介していきます。
VLOOKUPの使い方
関数では、決まった形式にあてはめて式の作成が必要です。ここではVLOOKUPの構文と使用方法を紹介します。
【VLOOKUPの構文】
VLOOKUP関数で使う構文は次のようなものです。
VLOOKUP(検索キー, 範囲, 指数, 並べ替え済み)
括弧の中の引数は分かりづらいので、以下のように覚えてみてください。
- 検索キー:この値を
- 範囲:この範囲の
- 指数:何列目から探すか
- 並べ替え済み:並べ替えはしているか(FalseまたはTrue)
VLOOKUPを難しいと感じる方の多くは、4つ目の引数「並べ替えはしているか」の判断に悩む傾向があります。
たとえば検索キー「みかん」と完全一致する「みかん」に関するデータを探す場合には、並べ替えは必要ありません。
けれども完全一致ではなく、検索キー「30」までの近似値で探したい場合には並べ替えが必要になります。
ややこしい話になりましたが、実はVLOOKUPを使う多くの場合が「完全一致」のケースなので、慣れるまでは単純に「4つ目の引数はFalse」と覚えておくほうが分かりやすいでしょう。
また、Falseは0で代用することも可能です。綴り違いでエラーが出そうな場合は「0」を使うのがおすすめです。
【VLOOKUPの使い方】
VLOOKUPの操作方法を、顧客管理表を例にして紹介します。
この表では、右側の「顧客ID」を左の表から探し対応する「氏名」を取り出します。
右側の表の「氏名」のセルを選択して関数を入れていきましょう。
まず、メニューバーの「挿入」―「関数」の順に選択します。VLOOKUP関数は「参照」の関数なので、「参照」―「VLOOKUP」を選択してください。
上部の数式バーか選択したセルに数式とヒントが表示されます。確認しながら引数を入れていきましょう。
見本では、次のような数式を入れています。
=vlookup(G2,A2:E25,2,0)
または
=vlookup(G2,A2:E25,2,false)
【注意するポイント】関数をコピーする予定がある場合は絶対参照を使う
見本の例では、「氏名」以外に「利用店舗」のデータも取り出す予定です。
オートフィルを使って隣のセルに関数をコピーすると、検索キーや範囲のセルも隣へずれてしまうため正しい値が取り出せなくなってしまいます。
そのため、絶対参照でセルを固定する必要があります。絶対参照にするには、セルを選択した後にF4キーを押すか、数式バーなどで手入力で「$」を入力します。
関数をコピーする予定がある場合、関数を入れる段階で絶対参照をしておきましょう。
※オートフィル:関数の入っているセルの右下のフィルハンドルをドラッグして文字や数式を自動入力する機能
Point
3つ目の引数「指数」では、選択範囲の左端から何列目のデータを取り出すのかを指定します。
ここで注意したいのが、選択範囲の左端です。検索キーに対応する列が必ず左端にくるように範囲選択してください。
左端に検索キーがない場合、目的の値が取り出せなくなります。
応用:複数条件では「&」を使う
VLOOKUPでは指定できる検索キーは1つだけです。複数の値を同時に使いたい場合は、新しい列に「&」を使った式を用いて複数のセルを1つにまとめて取り出します。
見本の表では、「氏」と「名」を「氏名」として取り出します。手順は次のとおりです。
- 「挿入」メニューから列を一列挿入する
- 作成した列に次のように式を入れ、Enterで確定する
(例)=「C2&D2」 - 必要な場合は、数式をオートフィルで下のセルにもコピーする
次にVLOOKUP関数を使って、さきほど作成した「氏名」を検索キーとして、利用店舗を表示してみましょう。
- セル「J2」に「=VLOOKUP( 」と入力する
- 検索キーとなる「I6」を選択しF4キーで絶対参照にします。半角カンマ(,)で区切る
- 次に顧客番号が左端になるように範囲選択しF4キーで絶対参照にする。半角カンマで区切る
- 取り出したい「氏名」は選択範囲の6列目になるため、「6,」と入力する
- 「0」」を入力してEnterを押すと、利用店舗が表示される
エラーの対処法:「#N/A」が表示された場合
「#N/A」は、該当なしや利用不可を示すエラー値です。スプレッドシートでは、エラーメッセージを確認して修正できます。
完全一致で検索している場合は次のようなケースでもエラーが起きる場合が多いです。
【#N/Aの起きやすいケース】
- 絶対参照をせずに数式をコピーしている
- 関数をコピーした後、引数の3番目(何列目か)を修正していない
- 検索キーのあるセルや対応するセルが空白になっている
- 検索キーが対応する列が選択範囲の左端になっていない