前回・前々回はCOUNTIF関数とSUMIF関数を紹介しました。過去の内容は以下から参照ください。
あるデータテーブルの値を別のデータテーブルから参照するときに活躍します。
VLOOKUP関数の使い方
今回も、前回と同じ以下のリストを使用します。
このリストの販売価格(単価)が空欄になっていて、別シートの料金表に記載の単価を参照するようなケースを想定してください。
VLOOKUPの使用方法は以下の通りです。
=VLOOKUP(検索値, 範囲, 列番号, [検索方法)
料金表からバナナの料金を参照する場合であれば、
検索値は”バナナ”、
範囲は上の表の”B3:C5″、
列番号は、参照したいデータである単価は設定した範囲(B3:C5)農地の2列目に該当するので、”2”
検索方法は、近似一致の場合は”True”もしくは”1″、完全一致の場合は”False”もしくは”0″ですが、今回は完全一致なので”0″です。(ほぼ完全一致しか使いません。)
それを式にすると以下のようになります。
- =VLOOKUP(“バナナ”,料金表!B2:C5,2,1)
“”は文字列をして委する時に必要です。”料金表!B2:C5”というのは、料金表というシートのB2:C5という意味です。
これで、上のように”料金表”シートから、バナナの料金を引っ張ってくることができました。あとはオートフィルを使えば、テーブルの下まで単価が参照されます。 オートフィルについて知りたい方は以下の記事を参照ください。
VLOOKUP関数の注意点
上記のような使い方で有用なVLOOOKUP関数ですが、注意点があります。それは、参照先のデータテーブルで参照したい値が検索値よりも左にある場合には使用できないということです。
上の例で言えば、検索値である”バナナ”を使って料金表内のデータを検索するわけですが、バナナから数えて右側何番目の列(今回なら2列目)に参照したいデータがあるか、という指定の方法になっています。そのため、”バナナ”より左側にあるデータは参照できないのです。
- =VLOOKUP(検索値, 範囲, 列番号, [検索方法)
- =VLOOKUP(“バナナ”,料金表!B2:C5,2,1)
例えば、仮に料金表が以下の形になっていたら、データを参照できないことになります。
これに対する解決策はいくつかあります。最新のExcelの関数であるXLOOKUP関数を使えば右側の列からの参照できますが、サラリーマンの場合使用できるExcelのバージョンが会社のシステム部門に規定されていて、XLOOKUP関数が使えるバージョンがまだリリースされていないケースも多いので、多くの人にとってはXLOOKUP関数はまだ解決策になりません。
もう一つ、INDEX関数とMATCH関数を組み合わせるという方法もありますが、これは説明するとそれだけで一つの記事になるくらいの内容なので、また次の機会に紹介します。
まずはVLOOKUP関数で用が足りることが大半だと思うので、VLOOKUP関数から習得しましょう。
コメント