VLOOKUP関数を作成したときに、基本では1つの検索値でないと検索できないですが、関数にちょっとした工夫を加えれば複数条件による検索が可能になります。
この表で実現したいこと
黄色の情報入力欄にて商品名(H列)と銘柄(I列)を入力したらVLOOKUP関数にてコード(J列)・単価(K列))・生産地(L列)を自動で表示させたい。
実現させる方法
通常のVLOOKUP関数では1つの条件でしか検索をかけることができません。VLOOKUP関数に検索値の欄にHとIを合体して参照する式を作成し、データーベース上に商品名を合体した式を作成すれば実現することができます。
データーベースの準備
VLOOKUO関数の性質上、検索値にあたる部分には他のコードと重複しない項目が必要になります。データーベースを一通り作成したら、固有コードを作る為にA列にはB列とC列を合体させた列を作ります。
A4にはセル同士を結合する =B4&C4 を入れています。このセルをA10までコピペしたら準備完了です。
複数検索を実現させた式
セル番号:J4にはこのような式が入っています。
=VLOOKUP(H4&I4,$A$4:$F$10,4,FALSE)
検索値:H4&I4
&を使ってセルのH4とI4を合体させています。これをすることで商品名と銘柄をセットにして検索値として認識してくれます。
範囲:$A$4:$F$10
A4からF10を絶対参照で指定
列番号:4
データーベース4列目のコードを飛ばす
検索方法:FALSE
完全一致した値を出す
複数検索かつ未入力と情報入力誤りを表示させた式
過去の記事でVLOOKUP関数にて検索値に未入力を表示させ、情報入力誤りを自動で表示させる式を組み合わせた式を紹介しました。
これに対応させた式はこのようになります。
=IFERROR(IF(H10=””,”未入力”,VLOOKUP(H10&I10,$A$4:$F$10,4,FALSE)),”情報入力誤り”)
H10が無記入だった場合は、未入力と表示され誤った情報が入ってたら情報入力誤りと表示されます。サンプルデータの10行目J・K・Lにこの式を組み込んでますので参考にしてみてください。
未入力の場合
情報入力誤りの場合
複数検索をかけるときのコツ
複数検索する場合は情報入力欄が2箇所になってしまいます。2箇所作りたくなければ、データベース上に簡単なコードを1列作ってしまうのも一つの方法になります。単純に上から順番に12345と番号を振っていくだけでも十分OKです。VLOOKUP関数の性質上、他のコードと重複してなければ結果として返ってきますので状況に応じて楽な手段を選んでみてください。
コメント