【Excel】VLOOKUP関数の使い方を具体例で紹介!
◇概要
今回はこんな感じの伝票を用意しました。
よくある伝票ですが、入力する欄が点在していて入力が面倒だったりします。
そこで、データを入力するシートと印刷用のシートを分けます。
先ほどのシートは印刷用です。
データ入力(蓄積用)にこんなシートを作っておきます。
印刷用シートに伝票No.を入力すると、入力用シートからデータを引っ張ってくるようにします。
◇使用する関数
今回のシートではVLOOKUP関数とIF関数を使用します。
↓のうすだいだい色のセルに関数を入れます。
具体的には、それぞれこんな関数を入れます。
・C4
=IF(I2="","",VLOOKUP(I2,データシート!A2:L11,2,FALSE))
・C6
=IF(I2="","",VLOOKUP(I2,データシート!A2:L11,3,FALSE))
・B9
=IF(I2="","",VLOOKUP(I2,データシート!A2:L11,4,FALSE))
・E9
=IF(I2="","",VLOOKUP(I2,データシート!A2:L11,5,FALSE))
・G9
=IF(I2="","",VLOOKUP(I2,データシート!A2:L11,6,FALSE))
・I9
=IF(I2="","",VLOOKUP(I2,データシート!A2:L11,7,FALSE))
・B10
=IF(I2="","",VLOOKUP(I2,データシート!A2:L11,8,FALSE))
・E10
=IF(I2="","",VLOOKUP(I2,データシート!A2:L11,9,FALSE))
・G10
=IF(I2="","",VLOOKUP(I2,データシート!A2:L11,10,FALSE))
・I10
=IF(I2="","",VLOOKUP(I2,データシート!A2:L11,11,FALSE))
・B13
=IF(I2="","",VLOOKUP(I2,データシート!A2:L11,12,FALSE))
基本全て同じですが、VLOOKUP関数の第3引数だけ一個ずつずれていきます。
IFを利用しているのは、伝票No.欄が空欄の時にエラーが出ないようにするためです。
「#N/A」の表示が気にならない人は省略してOKです。
◇使い方
実際に動かしてみましょう。
まずは入力用シートに適当なデータを入力します。
印刷用シートに伝票No.を入力します。
試しにA-001を入れてみると・・・
一瞬で伝票が完成しました!
入力セルが点在しているよりも、表形式で一か所にまとまっている方が入力も楽ですよね。
また表でデータがあると二次利用もしやすいです。
なお、品目欄の2行目に「0」が表示されていることに関しては、VLOOKUP関数の仕様になります。(「検索先が空欄⇒0を表示」という仕様です。)
これが気になるかたは、該当セルの式をこのように書き換えると回避することができます。
≪例としてB10の式を書き換える≫
=IF(I2="","",IF(VLOOKUP(I2,データシート!A2:L11,8,FALSE)=0,"",VLOOKUP(I2,データシート!A2:L11,8,FALSE)))
IF文で分岐を1つ増やして、検索結果で0が帰ってきたら空白にするようにしています。
この式を反映させた印刷用シートだとこんな感じになります。
0が表示されなくなって、見た目がスッキリしましたね。