VLOOKUP関数をマスターしてスプレッドシートのデータ分析を効率化しよう!
GoogleスプレッドシートのVLOOKUP関数は、表の中から特定の値を見つけ出すための便利な関数です。
このブログでは、VLOOKUP関数の基本から応用的な使い方までを解説しますので是非スキルアップに役立ててください!
VLOOKUP関数とは
VLOOKUP関数は、指定された値を検索し、一致した場合に関連する値を返す関数です。主にデータベースや表形式のデータで使用され、効率的なデータ処理を可能にします。
読み方:ブイルックアップ
VLOOKUP関数の構文
=VLOOKUP(検索キー,検索範囲,列番号,並び替え済み) |
項目 | 説明 |
検索キー | 【必須】検索する値(セル参照や値を直接指定) |
検索範囲 | 【必須】検索される範囲 |
列番号 | 【必須】検索範囲内で返される値がある列の番号 |
並び替え済み | 【任意】FALSE(0)またはTRUE(1)を指定 |
「並び替え済み」は大抵の場合完全一致する値を検索したいのでFALSE(0)を指定することが多いです。TRUE(1)の使い方は最後に説明します。
VLOOKUP関数の使い方
VLOOKUP関数の基本的な使い方をサンプルデータと共に見ていきましょう。
売上リストに入力されている商品コードを元に、右側の商品マスタから商品名、単価をVLOOKUP関数で取得し、リストを完成させましょう。
まず、B列の商品コードと一致する商品名を商品マスタから取得してみましょう。
式 | 結果 |
=VLOOKUP(B3,$H$3:$J$7,2,0) | 商品A |
「検索キー」は左のセル(B3)を指定し、「検索範囲」として商品マスタ(H3:J7)を指定します。
この時の注意点としては以下の2つです。
- 検索キーとする商品コードが検索範囲の左端となっていること
- 検索範囲は絶対参照($H$3:$J$7)にするか、他のデータと干渉がないのであれば列ごと(H:J)指定する
指定した検索範囲の中で商品名は2番目ですので「列番号」を2とします。完全一致で検索するので「並び替え済み」は0(FALSEまたは省略でも可)にします。
同様にして、B列の商品コードと一致する単価を商品マスタから取得してみましょう。
式 | 結果 |
=VLOOKUP(B3,$H$3:$J$7,3,0) | 100 |
「検索キー」「検索範囲」「並び替え済み」は一緒ですが単価は3番目ですので「列番号」を3とします。
これで、売上リストの完成です。
VLOOKUP関数の応用例
VLOOKUP関数の応用例について3つ紹介します
1.検索キーが左端にないとき
VLOOKUP関数を使うときには「検索キー」が左端にないといけないと言いましたが、毎回左端にある訳ではないと思います。
例えば先ほどの例において売上リストに商品名が記載されているおり、商品コードと紐づけたい場合を見てみましょう。
H3:I7を「検索範囲」としても商品名が左端にないので商品コードを返すことができずエラーになってしまいます。
商品マスタの項目を入れ替えて商品名を左端にするのもひとつの手ですが、今回はデータを変更せずにできる方法を紹介します。
「検索範囲」を『{}』を使うことで入れ替えをすることができるのです!
今回は商品名を1番目にしたいので{}内の1つ目をI3:I7とし、カンマで繋いでH3:H7を2つ目として続けて入力してあげます。そして列番号は2とします。
式 | 結果 |
=VLOOKUP(C3,{$I$3:$I$7,$H$3:$H$7},2,0) | A001 |
これにより、「検索キー」が左端になくてもVLOOKUP関数を使うことができます。
2.複数条件に一致する値を返すとき
よく使われる方法としては「&」を使い、「検索キー」を繋げてしまう方法です。
例えば、ある日付(2024/04/05)の商品コード(C003)のときの個数を検索したいとします。
日付と商品コードを「&」で繋げたものをC列に用意します。そしてVLOOKUP関数を以下のように書くと条件に一致した個数を返すことができます。※日付がシリアル値となって結合されていますが問題ありません
式 | 結果 |
=VLOOKUP(J11&J12,$C$3:$G$16,4,0) | 1 |
今回、検索用で列を追加しましたが、実はこちらも『{}』とARRAYFORMULA関数を併用することでデータはそのままで複数条件に一致する値を返すことができます。
式 | 結果 |
=ARRAYFORMULA(VLOOKUP(I11&I12,{A3:A&B3:B,E3:E},2,0)) | 1 |
3.結果を複数返したいとき
基本例のように商品コードに基づいて商品名と単価の2つを返したいとき先述のように1つずつVLOOKUP関数を用いてもいいのですがよりスマートな方法を紹介します。
1つ前の方法と同様にARRAYFORMULA関数と『{}』を使います。
C3セルに以下のように計算式を書くと、一気に商品名と単価の2つが返ってきます。
式 | 結果 |
=ARRAYFORMULA(VLOOKUP(B3,H:J,{2,3},0)) | C3セル:商品A、D3セル:100 |
「列番号」を『{2,3}』と書くことで「検索範囲」内の2、3番目の値を返してくださいという意味になります。
もう1段階応用としては、IF関数を組み合わせることでC3セル1箇所に以下の計算式を書くだけですべての行へも結果を返すことができます。
式 | 結果 |
=ARRAYFORMULA(IF(B3:B<>””,VLOOKUP(B3:B,H:J,{2,3},0),)) | 表の通り |
B列で値がある(空白でない)行に対してそれぞれ計算する式となっています。
まとめ
今回はGoogleスプレッドシートでのVLOOKUP関数の基本的な使い方から応用的な活用方法までを詳しく解説しました。
VLOOKUP関数は特定の値を検索して関連する情報を取得するための便利なツールであり、データ分析や処理を効率化するのに役立ちます。
基本的な構文として特定の値を検索して関連する情報を取得する方法や、応用例として検索キーが左端にない場合や複数条件に一致する値を返す方法を解説しています。
VLOOKUP関数を使ったデータ処理のスマートな手法や便利なテクニックを紹介しておりますのでデータ処理をさらに効率化するためのヒントにしてください!
コメント