Excelの関数と聞いて多くの方が思い浮かべるほど“定番”の関数が「VLOOKUP」関数です。
類似の関数に「LOOKUP」関数や「HLOOKUP」関数もありますが、頻出度からすれば圧倒的に「VLOOKUP」関数がよく使われます。
「LOOKUP」関数や「HLOOKUP」関数について、機会があれば改めてご紹介しますが、今回は「VLOOKUP」関数についてご紹介します。

「VLOOKUP」関数が扱うデータは、いくつかの項目に対する値を横並びにしたデータセットが、縦に並べられたものです。
例えば、下図のようなデータを考えてみます。

 

先頭行に「名前」「ふりがな」などの項目が並び、続く行にはそれぞれの項目に対応するデータが入っていて、横一列で 1つのデータセットを構成しています。
そのようなデータセットが縦方向に並べられています。
このような配置の表データは、実に多く使われていますね。

さて、「VLOOKUP」関数の働きですが、検索キーとする値で指定されたセル範囲の左端の列を検索、該当する行にある指定列のセルから値を返します。
書式は
 =VLOOKUP(検索値,範囲,列番号,検索方法)
です。
文章で表すと何やら難しそうですので、分かりやすく上図のデータを使って例示します。

まず、「VLOOKUP」関数とセットでやったほうがよいのが「名前の定義」です。
Excel 名前の定義(1)」の回でご紹介したように、セル範囲などに名前を付けておくと、数式をあとで見てもとても分かりやすくなります。
A1~A10セルを選択し、[数式]タブ [定義された名前]グループ [選択範囲から作成]をクリック、現れたダイアログで「上端行」が選択されていることを確認して「OK」を押します。
これで A2~A10セルの範囲に「名前」という名前が付けられました。
次に、VLOOKUP関数が参照するデータ範囲、ここでは A2~H10セルの範囲に例えば「名簿」と命名します。
A2~H10セルを選択し、名前ボックスに「名簿」と入力し [Enter]します。

それでは検索してみます。
空いているセル、例えば A12セルを選択し、[データ]タブ [データツール]グループ [データの入力規則] をクリックします。
「設定」タブにおいて「入力値の種類」を「リスト」に、「元の値」に「=名前」(「=」は半角)と入力し「OK」します。
これで、A12セルにドロップダウンリストが設定されました。

続いて、B12セルに「=VLOOKUP(A12,名簿,4,FALSE)」と入力します。
A12セルに何も入っていないと「#N/A」と出ますが、A12セルにドロップダウンリストから 1人選択すると、その人の年齢が B12セルに表示されます。
A12セルのドロップダウンでいろいろ人名を変えて選択してみると対応して年齢が表示されます。

 

VLOOKUP関数の引数をおさらいしておくと、A12セルの値が検索キーで、セル範囲「名簿」の一番左側の列を上から下に向けて順にその検索キーがあるか検索していきます。
見つかれば、その行のデータセットのうち、「名簿」の「4」列めのデータを返します。

この「上から下に向けて」つまり縦方向に検索していくので、「vertical」(縦の)「lookup」(検索)ということで「VLOOKUP」と命名されています。

第4引数は「検索方法」を表し、「TRUE」(近似一致)か「FALSE」(完全一致)のいずれかを指定します。
指定しなかった場合は「TRUE」であると見做されます。
ただし、「=VLOOKUP(A12,名簿,4,)」のように「,」(半角カンマ)で終わらせて第4引数を省略したときは「FALSE」であると見做されます。
上記の例では「FALSE」を指定したので、セル範囲「名前」の中に検索キーと完全に一致するものがないとエラーになります。

なお、第1引数の検索値にはワイルドカードが使えます。
「?」(半角):任意の 1文字
「*」(半角):任意の文字列
例えば A12セルに「吉永*」と入力しても「53」と表示します。

今回は、検索方法「FALSE」の場合のみご紹介しました。
次回に「TRUE」の場合の「VLOOKUP」関数の使用例をご紹介します。