VLOOKUP関数は、よく使われるエクセルの関数の1つである一方で、設定方法が複雑でよく間違いが起こりやすい関数でもあります。使っていて思うような結果が表示されないときに何が原因なのか?と頭を抱えることもあるのではないでしょうか。

そんな、VLOOKUP関数の使い方をここでは取り上げて解説していきます。

VLOOKUP関数とは何か?

VLOOKUP関数とは「Vertical LOOKUP(直訳で「縦方向に探す」)」の略。
※「横方向に探す」関数として、「HLOOKUP関数」があります。

VLOOKUP関数は、「=VLOOKUP(検索値,検索範囲,列番号,[型])」という形で使うのが一般的です。「検索値」を「検索範囲」の先頭列において縦方向に検索し、検索条件に一致した行を取り出してくれる関数です。取り出した行のどこ値を使うのかは、「列番号」を指定することで設定します。

VLOOKUP関数が有効な使用場面としては、

・2つの表を1つにまとめたいとき
・ある表から特定のデータに一致する情報を取得したいとき

等があげられます。特にデータ量が非常に多い(手作業で検索したらいくら時間があっても足りない)ときに、自動的に入力作業を行ってくれるので非常に便利です。

VLOOKUP関数の書式=VLOOKUP(検索値,検索範囲,列番号,[型])
対応Version365、2019、2016、2013、2010

VLOOKUP関数の「検索値」について

「検索値」には、検索したい値(“文字列”)を入力したりセルを参照したり(A2)することで指定します。

「検索値」はこの後に設定する「検索範囲」において先頭列(左端)に含まれていないといけません。

また、「検索値」は文字列の判定が厳格なので、次の2つのルールは覚えておきましょう。

・全角文字と半角文字は区別されるため、「1(全角)」と「1(半角)」は違う
・英字の大文字と小文字は区別されないので、「a」と「A」は同じ

VLOOKUP関数の「検索範囲」について

「検索範囲」には、「検索値」と取り出したい値が含まれるように範囲を指定します。

「検索範囲」の先頭列(左端)には「検索値」が含まれている必要があるので注意してください。

VLOOKUPの「列番号」について

「列番号」には、取り出したい値が「検索範囲」の左端から何列目にあるのか?を指定します。

VLOOKUPの「型」について

「型」については、必ずしも指定する必要がない、任意の引数です。検索値に一致した値が「検索範囲」の左端で見つからない際、どのような検索方法で対応するかを設定できます。検索方法については2種類あり、

・完全一致のみで対応する方法(0またはFalse)

「検索値」と完全に一致する値のみを「検索範囲」の中から探します。

・近似値を許容する方法(1またはTrue)

「検索値」と完全に一致する値が無いに、「検索値」未満の最大値を範囲の中から探します。ただし、範囲の左端の列にあるデータを「昇順」で並び替えておかないと正しい結果が表示されない」ことがあるので、注意してください。

VLOOKUP関数の具体的な使い方

①「検索範囲」を含む表と結果を表の2つを準備します。

②VLOOKUP関数を使いたいセルに「=VLOOKUP (」と入力します。

③「検索値」を入力します。

ここでは「H4]セルを参照する形で「検査値」を入力しています。

④「検索範囲」を指定します。

ドラッグで「検索範囲」を指定できます。

なお、VLOOKUP関数を他のセルにコピペして反映させる場合、このままだとコピペによって「検索範囲」も相対的に変更してしまいます。

このような状況をさけるために、絶対参照と呼ばれる範囲指定を行います。「$B$4:$D$6」のように「$」を含めて範囲指定を行うことで、VLOOKUP関数を他のセルにコピペしても「検索範囲」が変わらないように固定できます。範囲指定の際に、キーボード「F4」を押すと、範囲に自動で「$」を追加してくれるので、使ってみてください。

⑤「列番号」を指定します。

※必要な場合は「型」を指定します。

⑥「Enter」を押し、表示された結果を確かめます。

⑦他のセルへVLOOKUP関数を反映させる

VLOOKUP関数をコピペする方向によって注意点があります。

・垂直方向にコピペしてVLOOKUP関数を反映させる場合

「検索範囲」の指定(④)において、「絶対参照」を使った範囲指定をしていない場合、「検索範囲」が不正確である可能性がありますので、注意してください。

・水平方向にコピペしてVLOOKUP関数を反映させる場合

「検索範囲」の指定に加えて、「検索値」や「列番号」も見直す必要がありますので、注意してください。

「#N/A」というエラーが表示されたら、関数の設定が間違っているということなので、焦らずに基本に立ち返って見直しましょう。