VLOOKUP関数は、検索キーに指定できる条件は一つです。
ですが、普段の業務のなかで「VLOOKUP関数で複数の条件を指定したい」と思ったシーンはありませんか?
実はちょっとした小技を使えば、簡単にVLOOKUP関数で複数条件の値の抽出ができるようになるんです。
- VLOOKUP関数で、日付と社員番号の両方の条件に合致する値を抽出したい。
- CSVデータから自動で整理された表をつくりたい。
- ピボットテーブルに頼らず、おしゃれな表をつくりたい。
VLOOKUP関数の基礎から復習したい、という人はこちらの記事をご覧ください。
今日の公式
繰り返しになりますが、VLOOKUP関数は一つしか検索キーを指定できない、という弱点があります。
では、複数の条件でデータを抽出したいときはどうしたらいいのか?
答えは、シンプルです。
複数の条件を結合して、一つの文字列にし、それを検索キーとして使用すればいいのです。
項目 | 説明 |
条件1 | 最初の条件に指定したい値、または値が含まれるセルを指定します。 |
条件2 | 2番目の条件に指定したい値、または値が含まれるセルを指定します。 |
範囲 | 検索対象の範囲です。範囲の先頭列で [検索キー] で指定したキーを検索します。 |
番号 | 先頭列から数えて、何列目の値を返すか指定します。 |
並び替え済み | 先頭列が並び替え済みかどうかを指定します。 多くの場合では「FALSE」を指定すれば問題ありません。 |
VLOOKUP関数で複数条件の検索をする方法の解説
下記のような売上データから、縦軸が日付、横軸がスタッフ名の売上報告書を作成するケースで解説します。
1参照元の表で、複数条件を結合して一つの検索キーを作成する
VLOOKUP関数を組む前の準備として、参照元である売上データで、複数の条件を結合し一つの文字列を作ります。
この文字列はあとで、VLOOKUP関数の検索キーとして使用するため、一番左側(今回はA列)に列を追加します。
次に、A列に「日付」と「スタッフ名」を結合する式を記述します。
方法はいくつかありますが、今回は「&」を使ってみましょう。
このとき、筆者はよく条件と条件の間に文字列「_」を挿入します。
こうしている理由は以下の2つ。
- いくつの条件が結合されているか目で確認しやすい。
- 数値の条件を2つ結合すると、不意のエラーの原因になる。
2番目の理由の具体例ですが、下の表をご覧ください。
条件と条件をそのまま結合すると、本来は別の条件の組み合わせであるはずなのに、同じ文字列になってしまうケースがあるのです。
条件1 | 条件2 | そのまま結合した場合 | 「_」を挿入した場合 |
123 | 4567 | 1234567 | 123_4567 |
1234 | 567 | 1234567 | 1234_567 |
稀にこのようなことがあるので、条件と条件を結合するときは、なにかしら記号を挿入することをおすすめします。
- 複数の条件を結合する場合は、あいだに「_」など記号を入れると、不意のエラーを防ぐことができる。
2VLOOKUP関数を組む
さて、検索キーの準備ができたら、あとは売上報告書に戻ってVLOOKUP関数を組むだけです。
あとでセルをコピペすることを想定して、絶対参照「$」を使うのも忘れずに。
そのほかのセルにもVLOOKUP関数を反映させれば完成です。
練習問題
練習問題を解いてみましょう。
※「ファイル」>「コピーを作成」でスプレッドシートをコピーすることで、編集可能になります。