- 公開日:
- 更新日:
ExcelのVLOOKUP関数を複数条件で検索する方法
ExcelのVLOOKUP関数では条件を1つしか指定ができません。VLOOKUP関数は「=VLOOKUP(検索値, 範囲, 列番号, [検索の型])」のように記述しますが、指定された範囲から1つの検索値を検索してその結果を抽出します。
検索値が検索範囲に1つだけであればいいですが、同じ値が2つ以上重複している場合はどのように検索したらいいのでしょうか?普通にVLOOKUP関数を使用すると、最初にヒットした値が抽出されてしまいます。ただこれは望んだ結果ではないかもしれません。正確な検索結果を得るためには複数条件のかけ合わせによる検索が有効です。
この記事では、通常ではできないVLOOKUP関数の複数条件で検索する方法を実例を交えてご紹介していきます。
複数の条件を結合して1つの検索値にする方法
VLOOKUP関数で指定できる条件は1つのみです。複数条件で指定したい場合、元の表データ自体を加工して重複しない新しい検索値を用意することでVLOOKUP関数を使用することができます。その手順をみていきましょう。
例えば上記の表で、種類の「果物」と商品名の「りんご」を2つの条件として価格を取り出してみましょう。
種類の「果物」を1つだけ検索値としてVLOOKUP関数を使用すると、商品名で「バナナ」としても「一番上にあるりんごの価格(98円)」が返ってきてしまいます。「果物」と「商品名」の2つを検索条件にしていきます。
まずA列に項目を追加します。「種類+商品名」としました。A4セルを選択し、『=C4&D4』と入力します。「種類」と「商品名」を「&」(アンパサンド)でつなぎます。
「&」(アンパサンド)でつなぐことで文字列が結合されました。これを新しい検索の対象としていきます。
A4セルの右下をA6セルまで引っ張るとA5、A6セルも同様に結合した値が入りました。
A10セルを選択し、上記と同様『=B10&C10』と入力します。検索したい項目はB10セルの「種類」とC10セルの「商品名」です。
文字列が結合されてA10セルに表示されました。A10セルに表示された「果物りんご」を検索値としてVLOOKUP関数を記述していきます。
D10セルを選択し、『=VLOOKUP(A10,$A$4:$E$6,5,FALSE)』と入力します。検索値には「A10」(果物りんご)、検索範囲には「$A$4:$E$6」、列番号には「5」(左端から5番目に求めたい単価があります)、検索の型には「FALSE」(完全一致)を指定しています。
種類の「果物」と商品名の「りんご」を2つの条件とした価格がD10セルにVLOOKUP関数で求めることができました。
C10セルに『みかん』と入力すると、検索値であるA10セルの内容も変更され、D10セルにみかんの価格「348」が表示されました。
このように複数条件にしないといけない場合でも検索値を新しく作成することで条件が2つ、3つ、4つ以上であったとしても正しい検索結果を得ることができます。ぜひ重複したデータがある場合で使用してみましょう。