Tips: VLOOKUP関数は何をやっているのか?

例題では呪文のような計算式を説明せずに入力したが、ヘルプで VLOOKUPを調べると次のように書いてある。

書式
VLOOKUP(検索値,範囲,列番号,検索の型)

VLOOKUPは上の書式に書いたように、 4つの引数を取る。この関数の分かりにくいところは、「VLOOKUP関数を入力している表の中から取ってくる引数と、別の表に関係している引数が混在している」点である。以下に具体的な例で示そう。ここで使うデータは、表1と表2の二つ、それぞれ別のシートに入っていて、表2についてはデータが入っている範囲に商品情報という名前を付けてあるとしよう。表1の空欄(商品名、販売価格、仕入価格)の列に、既にデータが入っている商品コードをキーとして表2から検索したい。

下図にセル VLOOKUP(A2, 商品情報, 2, FALSE) という計算式を入れた時の処理の流れを示す。

  1. VLOOKUPは最初の引数(検索値)がいくつかをチェックする。この例では、検索値はA2セルの内容なので 1 である。
  2. 続いて、検索範囲(この場合は商品情報)の一番左側の列を上からチェックし、第4引数がFALSEの場合は、検索値と一致するものが見つかるまで1行ずつ下を見る。
  3. 検索範囲の一番左の列の値と、検索値が一致したものが見つかったら、その行の中から第3引数で指定された列位置の値を返す。

という形になる。検索値はデータを入れたい表の中を指定し、検索範囲と列番号はデータを探したい表の中身を入れる。ここがメンドクサイところ。

だから、VLOOKUP(A3,商品情報, 3, FALSE)という計算式なら、A3に入っている商品コード(この場合は3)を使うので、範囲商品情報の一番左の列が3のものを探す。すると、4行目で一致するので、今度は商品情報の4行目のうち,左から3列目のデータを関数の値として返す。この場合は148になる。

表1. 月間販売データ