読者です 読者をやめる 読者になる 読者になる

conf t

インフラエンジニアのメモ

エクセルにて複数条件でvlookupする

Excel

エクセルでvlookupを複数条件で使う方法を説明します。
vlookup単体では複数条件での検索ができないため、工夫が必要です。
ここでは複数ある条件列を1つの列に連結させることで実現しています。
以下説明では、検索元表にて日付、商品名でvlookupし、検索先表から価格を持ってきたい場合を例に説明します。
f:id:monaski:20160528141525j:plain

手順

(1)まず検索用の列を用意する

以下のように検索元の表、検索先の表で、日付列と商品名列を連結して表示する「検索用」列を作成します。(下図赤枠部分)
D5セルでは以下のように&を使ってセルを連結し表示させています。
(日付を連結させているため本当は注意2の数式を使っています。日付を連結する場合は注意2を参照)

=A5&B5

f:id:monaski:20160528141312j:plain 注意1:検索先列で「検索用」列は、検索で取り出したい列より左側に作成する必要がありまます。今回は「価格」列より左に作成しています。
注意2:日付と文字列のように書式が違う列を連結すると、連結した際に日付が数字に変わってしまいます。そのままでも検索できますが日付のままで連結したい場合は日付を文字列に変換し連結します。D5セルには以下が入っています。
=TEXT(A5,"yyyy/mm/dd")&B5

(2)あとはvlookupするだけ

検索用の列を作成できたら、後は検索元表にvlookupを入れるだけです。(下図赤枠部分)
vlookup先の範囲は検索先表の緑枠部分です。
f:id:monaski:20160528143837j:plain

C5セルには以下のようにvlookupが入っています。

=VLOOKUP(D5,H5:I12,2,FALSE)
広告を非表示にする