EXCEL VLOOKUP

VLOOKUP( 検索値, 範囲, 列番号, {検索型} )

はじめに

Virtical(縦方向)に Lookup(検索)をするという意味で
[検索値]で指定した値を
[範囲]で指定した一番左の列で上から下に検索し
一致した行の左から[列番号目]の値が返ってきます
検索値 : 探したい値またはセル番号
範囲 : 検索値と探したい値が含まれている範囲
列番号 : 範囲で指定した一番左の列から数えて何番目の列の値を探したいか
検索型 : 検索値を超える値を検索する(True)かしないか(False)。省略可能

なんだか難しそうに見えますが例えば下記の場合だと
VLOOKUP(“りんご”, B:F, 3)
「りんご」という言葉を : 最初の”りんご”
B列から探して : B:F のB
見つかった行のD列の値を返して : 最後の3 Bから数えて B, C, D 3番目
と言う意味になります
かみくだいて見るとシンプルだったりします
ではVLOOKUPがいわゆる通常の「検索」と違う点は何でしょうか?

自動で欲しい値が返ってくるという点です
数件なら手動の検索で探して、欲しい値をコピーするのもよいかもですが
数百、数千と検索したい場合は「検索」では非効率です
そこはVLOOKUPで自動取得しましょう
VLOOKUPはIF, SUM, COUNT, SUMIF, COUNTIFと並んでエクセルの覚えておきたい人気関数です

VLOOKUP こんな使い方が便利
  • 商品番号から、価格を自動で探す
  • 1000件の店舗番号が分かっていて、数万行の店舗シートから一致した店舗住所を探す
  • 数万行ある売上シートと数万行ある顧客シートを顧客番号で一致させメールアドレスを探す
 

上記の便利例 最初の商品価格の例をみていきましょう

下記商品一覧の中から商品番号”P1011″の商品価格を探すとします

 
 
  A B C D E F G
1 連番 商品番号 カテゴリー 商品名 サイズ 価格(円) 販売日
2 1 P1001 コーヒー ドリップコーヒー – ダークロースト ショート 290 2021/01/01
3 2 P1002 コーヒー ドリップコーヒー – ダークロースト トール 330 2021/02/01
4 3 P1003 コーヒー ドリップコーヒー – ダークロースト グランデ 370 2021/03/01
5 4 P1004 コーヒー ドリップコーヒー – ダークロースト ベンティ 410 2021/04/01
6 5 P1010 コーヒー カフェミスト ショート 340 2021/01/01
7 6
P1011
コーヒー カフェミスト トール
380
2021/02/01
8 7 P1012 コーヒー カフェミスト グランデ 420 2021/03/01
9 8 P1013 コーヒー カフェミスト ベンティ 460 2021/04/01

検索値 商品番号の”P1011″を指定します。セル番号を指定する事も可能で、例えばA100のようにすると、セルの値を変えるだけで関数を変えなくても自動的にその検索値で探してくれます。むしろセル番号で指定するケースが多いです
範囲 商品番号のB列を検索し、F列の価格を探したいのでB1:F9を指定します。列全体のB:Fと指定しても大丈夫です
列番号 一番左がB列から、F列までを、B,C,D,E,Fと数えて5番目なので5となります。ちなみに1とするとB列が返されます
検索型 近似値にするか?(True)完全一致か?(False)を指定します。False

実践編
セルを参照するケース

つづいて便利例の2つ目をみていきましょう
スペースの関係で1000件のデータは使わないですが考え方は同じです(この例では3つだけですが別の1000件でも同手順)

A3~A5の店舗番号から住所を探したいとします
7行目以降のデータから住所を抜き出します

検索値の値に前回のような文字列ではなく、セル番号を指定してあげます
A3の店舗番号を検索したいので、B3のセルに =VLOOKUP(A3,A8:F11,5,FALSE) と入力します

 
 
  A B C D E
1 検索        
2 店舗番号 店舗名 住所    
3 S1001 =VLOOKUP(A3,A8:F11,2,FALSE) =VLOOKUP(A3,A8:F11,3,FALSE)    
4 S1002 =VLOOKUP(A4,A8:F11,2,FALSE) =VLOOKUP(A4,A8:F11,3,FALSE)    
5 S1003 =VLOOKUP(A5,A8:F11,2,FALSE) =VLOOKUP(A5,A8:F11,3,FALSE)    
6          
7 連番 店舗番号 店舗名 住所  
8 1 S1001 ルミネ横浜店 神奈川県横浜市西区高島2-16-1 ルミネ横浜店2F  
9 2 S1002 アクアシティお台場店 ドリップコーヒー – ダークロースト  
10 3 S1003 八王子オクトーレ店 ドリップコーヒー – ダークロースト  
11 4 S1004 LAQUE四条烏丸店 ドリップコーヒー – ダークロースト  
エラーを表示させない方法

VLOOKUPは月次売上などのレポートでよく使われます

会議前にいざレポートを人数分印刷して、ふとVLOOKUPのセルを見たら #N/A と謎の文字が出てきてしまってるケースありませんか?
これはVLOOKUPが検索値を見つけられなかった場合などに表示されるエラーメッセージです
せっかく作り込んだレポートなのにエラーが印刷に出てしまうのは悲しいので
エラーが出た場合の対策をしておきましょう

いたってシンプルで IFERROR構文を追加し
VLOOKUPがエラーを返した場合は、空白 (“”)を表示するとします

=IFERROR(VLOOKUP(A1,B:D,3,0),””)

IFERRORの詳細はIFERRORのページを参考にしてみてください
VLOOKUPとIFERRORはセットで覚えておくと便利です

押さえておこう
  • 検索範囲の一番左に必ず検索したい列が来る事
  • 検索値をセルで参照する場合、検索したいセルのデータタイプと検索範囲のデータタイプが一致している事
さらにもう一歩

Excelが得意なケースとそうでない場合とでベストなツールを使い分けられるようにしましょう
VLOOKUPと同じようなことを他のツールでどうやってやるかもあわせて見てみましょう

SQL データベース

あわせてご覧ください

EXCEL DATEDIF

Excel

Excel EOMONTHの使い方を分かりやすい例で紹介

Read More

SQL GROUP BY

SQL

SQL Tips

Read More