Excelびぼー:Lookup系
みんな大好きVlookupのアレ
Lookup系が使えることが中級者の条件とかなんとか。
とはいえ、むやみやたらにVlookup使うことは危険です。
使いどころを理解することが、とても大事です。
CHOOSE
超マイナー関数CHOOSE。
使い道がどこにあるのかよく分からない。
どうやら、変化の少ない表だと底力を発揮できるらしい。
何やら数字で指定された表があって
例)1,1,1,1,2,2,2,2,3,3,3,3,3,…
これに対して一個一個対応したデータを指定していくわけですよ。
その際に注意すべきは、絶対参照しないと崩れる、ってとこでしょうか。
VLOOKUP(HLOOKUP)
圧倒的に前者が多い。
第1引数には調べたいセル。
第2引数にはリストを参照。その際、ヘッダーは入れないこと。また、即座に絶対参照しておくことも忘れないこと。数値は昇順で。
第3引数は、リストの何番目を探すかみたいな数値。ややこしい。
第4引数は、オプション。FALSEでexact match。
Range VLOOKUP
Range VLOOKUPはカテゴライズ等でかなり役に立つ。
成績得点帯なんかのグレード付けが考えられる。よく分からんが勝手にやってくれる。
第4引数は省略することおおし。
Exact VLOOKUP
Exact VLOOKUPは、1対1でデータを引っ張りたいときに役立つ。
基本的にこちらの用途が多い気がするがどうかな。
とりま、第4引数をFALSEにしとけばこっちになる感じ。
MATCH
こちらはほぼ、INDEXとセットで使うイメージが強い。
VLOOKUPの簡易版みたいな感じで、お探しの項目がリストの何番目にあるのか、みたいな値が返ってくる。それをVLOOKUPの第3引数に充てるとスマート。的なね。
扱いがややこしいので、セットで構文を丸暗記するが吉な気がするのです。
なぜMATCH?
いやもうVLOOKUP神だしそれでいいじゃんと思うかもしれんのですが、ことはそう上手くいかんのですね。
例えば、行列の中の要素を拾う操作なんかは、あまり好きじゃない。
そこで登場するのがINDEX関数。
INDEX+MATCH
こやつが割と最強なのではないか。
INDEXの引数は3つで、指定セルの値を返せる。
第1引数はレンジ指定できる。
第2引数は列指定。←これと
第3引数は行指定。←これをMATCHしようというのだ。
天 | 地 | 人 | |
甲 | |||
乙 | ここ | ||
丙 |
例えば上記であれば、MATCH(乙,甲乙丙,0(EXACT))で2が返る。
てなわけで、INDEX(範囲,MATCH(乙),MATCH(地))みたいな感じにすれば、「ここ」が返る的なね。
ちなみにINDEX指定の範囲は、検索値の入っているデータであるので、項目とか含めると盛大にずれるので注意。
理屈に慣れると簡単だ。
まとめ
「VLOOKUPが使える」と自慢することは、中級者の証にはならず、むしろ初心者と思われるので止めましょう恥ずかしい。僕じゃないよ僕じゃ。
「ふっ、MATCHとINDEXですね、、、」
これからはこうだ!