【スプレッドシート】VLOOKUP関数の検索を複数条件にする方法
本記事では、スプレッドシートのVLOOKUP関数で複数条件を指定する方法を解説していきます。
VLOOKUP関数を複数条件で検索する方法
VLOOKUP関数を使ってデータを抽出する際、条件を複数指定したい時が多々あります。
ですが、VLOOKUP関数で指定できる条件は基本的に1つです。
では、どうすれば複数の条件で検索できるのでしょうか。
今回は以下のサンプルを用いて解説していきます。
「2022/08/02」の「すいか」の売上を取得する
条件の列を結合した新しい列を用意する
VLOOKUP関数で複数条件を使うには、条件に指定する列を結合し新たな列を元データに用意する必要があります。
今回の例で言うと「日付」と「項目」が条件になりますので、「日付+項目」となるような列を用意し条件を結合します。
=text(C3,”yyyy/mm/dd”)&D3
VLOOKUP関数は条件列から右側の値しか取得できないので、結合する列は基本的に左端に作成しましょう。
結合した列をキーにし参照範囲を広げる
これで元データの調整は完了です。
新しく追加した列が検索キーになるようVLOOKUP関数の参照範囲を広げます。
=VLOOKUP(“2022/08/02″&”すいか”,B3:F11,5,false)
「2022/08/02」の「すいか」と言う複数条件でも欲しい情報を取得することができました。
部分一致で検索もできる
VLOOKUP関数の検索キーにワイルドカードを使えば、部分一致での検索(あいまい検索)も可能です。
例えば、「2022/08/02」の「み」が付く項目の売上を取得したい場合は以下のように指定します。
=VLOOKUP(“2022/08/02″&”*み*”,B3:F11,5,false)
画像のように「2022/08/02」の「みかん」の売上を取得することができました。
部分一致(あいまい検索)は他の関数でも使えるので覚えておくと良いでしょう。
VLOOKUP関数の#N/Aエラーをiferrorで非表示にする
ここまで、VLOOKUP関数で複数条件で検索する方法をご紹介しましたが、条件に一致する値がない場合「#N/A」が返ってきます。
このエラーはIFERROR関数を使うことで非表示にすることが可能です。
=IFERROR(VLOOKUP(“2022/08/02″&”ぶどう”,B3:F11,5,false))
「2022/08/02」に「ぶどう」と言う条件がないためエラーが表示されますが、IFERROR関数で非表示にしています。
まとめ
今回は、スプレッドシートのVLOOKUP関数で複数条件を指定する方法をご紹介しました。
VLOOKUP関数のほかの使い方や応用テクニックを知りたいと言う方は、ぜひこちらの記事もチェックしてみてください。
補足
今回ご紹介した方法は、元データの列追加ができる場合のみ有効です。
場合によっては元データを弄れない可能性もあるため、そういった場合はQUERY関数を使うと良いでしょう。