エクセルのVLOOKUP関数は複数の検索にも対応できる
皆さま、お疲れ様です。
今更ですがVLOOKUP関数の素晴らしさに気がついたのでここで備忘録も兼ねて共有しようと思います。
特に経理や受注などをしている方はよく使う関数なのではないでしょうか?
まずはVLOOKUP関数のおさらい
マイクロソフト様がわかりやすく解説してくれています。
簡単に言うと表の中から該当するデータを見つけてくれる関数です。
よく使われるのはりんご100円、バナナ200円、みかん150円と言う価格表があって、
バナナの価格を調べたい時に、セルにバナナと入力するとバナナの価格を出力するってヤツですね。
取り扱う商品が多い企業にとっては必須の関数と言えるでしょう。
どうやって使うの?
SUM関数, AVERAGE関数、COUNT関数の次に有名な関数(と個人的に思っている)の割には普及率が低い気がします。
=VLOOKUP(検索値,範囲,列番号,[検索の型])
式を見るとちょっと難しく感じますね。
大丈夫ですか?ついてきてますか?
検索値は問題ないですね。バナナのセルを指定します。
範囲は価格表をビーっと囲んで指定したらオッケーです。A2:F67とかですね。
価格表を指定するなら場所が移動しないので$A$1:$F$67とかにすると固定出来ますよ。
さて、ここからです。
列番号?なんぞこれ?って感じですよね。
これはA2から数えて何番目の列に価格情報が載っているかと言うことを表しています。
例えば価格情報が一番右端にあるならFの列ですね。
ABCDEFを数えると123456なので6番目の列に価格表があるという意味です。
最後の最難関、[検索の型]はTRUEやFALSEを入力します。
TREUは1、FALSEは0でも大丈夫です。
何がTRUEなのかというと、近似値検索をするかしないかです。
今回はバナナを検索ワードにしてますが、金額でも検索ワードにすることができます。
バナナ200円円、りんご100円、みかん150円で、120円を検索ワードにすると一番近い金額のりんごがヒットします。
近いものを探したいときには「1」や「TRUE」を最後に付けてあげてください。
ビタ検索は「0」ですね。
で、複数検索って何よ?どうやるの?
これが本題。
りんごすべてが100円なら問題は無いのですが、りんごには種類がありますよね?
青森県産、長野県産とか、ふじ、つがる、紅玉とか。
で、青森県さんのつがるのりんごの価格が知りたい!となったときって結構困るんですよ。
フィルタを使ってりんごで絞り込んで、青森県で絞り込んで、つがるで絞り込んで…とめんどくさい!!
そこでVLOOKUPの複数検索ですよ。
実はそのままでは出来ないのです。
まず、価格表に検索用の列をもう1列つくります。
これは自動化してもいいですね。
その列に「=A3&B3&C3」と入力します。
例えばA3がりんご、B3が青森県、C3がつがるだとします。
するとその列には「りんご青森県つがる」と表示されます。
あとは普通のVLOOKUPと一緒です。
検索値に「りんご青森県つがる」と入力したら、青森県産のつがるの金額を表示してくれます。
まとめ
VLOOKUP超便利
エクセルって便利だけど、自分で勉強したり誰かから教えてもらえないとやりたいことがスムーズに出来なかったりするよね。
こんな簡単なことも実は2時間くらい悩みました。
もうVBA使ってガリガリやるしか無いのか?となるまで追い詰められました。
助かった〜
それではまた!
(2019/12/04)