Excel関数を学び始めの誰しもが一度はつまずくのがVLOOKUP関数ではないでしょうか。
そこまで複雑ではないので、理解してしまえばあっとゆう間に使いこなせますが、
SUM関数などと比べると、急にプログラムチックになり難しい!となってしまう人が多い気がします。
本記事では初心者向けに、ゆっくりと説明していきたいと思います。
どうしてもうまくいかないという方は、「VLOOKUP関数でエラーが出る・うまくいかない場合に確認する内容をまとめた記事」を確認してください。
この記事の内容
VLOOKUP関数とは?
まずはVLOOKUP関数が何をするものなのかを見ていきましょう。
データの検索と抽出が可能です。
VLOOKUP関数は指定した範囲内から指定したデータを検索し、該当のデータ抽出する関数です。
例えば電車の切符を買う時などが似たような場面でしょうか。
切符売り場の値段が書いてある表の中(指定の範囲)から行きたい駅(指定したデータ)をみつけて切符の値段(データの抽出)を把握する。
少しはイメージがつかめたでしょうか?
どんな時に役にたつの?
システムから出力された商品データや、売上のデータ一つ一つ該当のデータを探し出して
まとめ上げるというような作業にかなり便利な機能です。
VLOOKUP関数の入力規則
VLOOKUP関数の入力規則は以下の通りです。
項目 | 内容 |
---|---|
規則 | =VLOOKUP( 検索値, 範囲, 列番号, [検索方法] ) |
検索値 | 検索する値を指定 |
範囲 | 検索値を探す範囲を指定 |
列番号 | 検索値があった場合に抽出する列の番号(1~) |
[検索方法] | 検索する方法を指定。省略可能(省略時はTURE)
|
実際の入力のサンプル
=VLOOKUP(A1,B2:C4,2,FALSE)
上の式は、同じシートのB2~C4の範囲内からA1を完全一致で検索して該当した数値がある行の2列目を抽出する。
式自体については、ここから説明するので、
最終的にこんな感じになるのかと思ってもらえれば構いません。
※ちなみに完全一致の部分は近似値でも指定可能です。まったく同じの物を抽出するか似たようなものを抽出するかの違いです。
VLOOKUP関数の入力手順
エクセル関数は関数の挿入ではなく、予測変換を使用して入力するのがおすすめです。詳しくは「関数の挿入を使わないで予測変換を使う理由3つ」をご覧ください。
まずは入力する手順を説明したいと思います。
まずは1度この手順に従って使ってみると、イメージがつかめると思います。
今回はこちらのエクセルを元に説明します。内容としては、商品情報の表(真ん中)から商品情報全ての表(一番左)のに商品コードの情報を取得するとします。
入力手順
まずは「=VLOOKUP」と入力してみましょう。予測の変換にVLOOKUPが表示されるので、Tabを入力してください。
VLOOKUPの括弧に続く入力状態になるので、表示されているエクセルの内容に従って、まずは検索値をクリックで選択しましょう。
サンプルでは検索値であるB4を選択しました。
その後、入力完了として半角の,を入力しましょう。これもExcelに表示されていますね!
するとエクセルの太文字が検索値から範囲に移動し、次の入力に移ったことが分かります。
続いては、範囲の入力ですね。今回は商品情報の表から情報を抽出したいので商品情報の表を全て選択します。
範囲の入力になっている状態で、J3で左クリックを押したままM14までドラッグします。
あとは、,を入力して範囲の指定が完了です。
列番号の指定に移りましたが、これは選択した範囲の中から何列目の情報を取り出しますか?ということです。
このセルでは商品名を取得したいので、商品情報の表の「2」列目の抽出するため、「2」と入力してください。
もちろんその後はカンマを入力してくださいね。
最後に検索方法の指定です。TRUEで近似値の検索、FALSEで完全一致の検索が可能です。
今回のように指定した検索値と同じものの情報が欲しい場合はFALSEを選択します。
選択後にEnterを入力すると商品名に「リンゴ」と表示されます。
別シートの内容を抽出するには
同じBook内のシートであれば、VLOOKUP関数を用いてデータを抽出することが可能です。
例えば検索範囲が別のシート(Sheet2)のB2からC4にあった場合には下記のような式となり、
=VLOOKUP(A1,Sheet2!B2:C4,2,FALSE)
「Sheet2ですよ。」とExcelに教えてあげる必要があります。これをしないとエクセルは同じシート内のB2からB4を参照してしまいます。
実際には、「Sheet2!」と入力するのではなく、Sheet2にあるB2からC4をマウスで選択すれば自動で入力してくれますので、作業としてはあまり変わりません。
VLOOKUPの注意点
VLOOKUPを使うにあたってのルールがあるので注意しましょう。
検索値は選択範囲の1番左からのみ検索される
指定した検索値は選択範囲の1番左の列の中から検索されます。つまり今回の例でいくと、商品情報の表の商品コードと商品名の列が逆になっていた場合などにはB4で指定した商品コードは存在しないという結果になってしまいます。
VLOOKUP関数は選択範囲の一番左上から下に降りてきて、検索値が見つかった場合に指定した列分移動すると覚えておきましょう。
検索値が複数ある場合について
基本的にVLOOKUP関数は見つかった検索値の1つ目のみを結果として表示します。
検索範囲内に2つ以上検索値と同じ値があっても、VLOOKUP関数は1つ目の内容を表示します。
正しく情報を取得したい場合は、新に一意の検索値を用意いておく必要があります。
例を挙げてみましょう。
上の場合、先ほどと同じように商品コード3000を指定すると倉庫コードが100の方のみ抽出されます。
これでは倉庫コード110の商品コード3000の情報を抽出することはできません。
したがって、下のようにキーとなる検索用コードを新たに設けて一意するなどの回避策が必要です。
VLOOKUP関数の結果がエラー
VLOOKUP関数の引数の指定を間違えた場合などによく表示されるエラーを紹介しておきます。
#N/A
このエラーは検索範囲に検索値に該当するものがなかった場合に表示されます。
そのため、式の入力自体が正しくても実際に該当がなかった場合にも表示されます。
また、見た目は同じであったも空白が入っていたり、文字の書式が異なっていたりすると表示されます。
この場合は、検索値と検索範囲の書式や入力内容を確認しましょう。
#REF!
このエラーは列の指定が選択範囲を超えて設定される場合(参照している範囲がおかしい場合)に表示されます。
列の指定は、A列から数えるのではなく、選択範囲の左端からの列数を指定します。
この場合は、列の指定が範囲の左端からの数となっているか確認しましょう。
#NAME?
このエラーは関数名が間違っている場合に表示されます。
VLOOKUPの「O」が抜けていないかなど確認しましょう。