Excelびぼー:Lookup系

2019年9月9日

みんな大好き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ですね、、、」

これからはこうだ!