●Excelの関数
表計算ソフトで押しも押されぬExcel
単に表を作るために入力するだけのこともあるし
それに様々な数式を散りばめることもあります
ただ、それだけで物足りなくなったら、次のステップは関数ですよね!
Excelが出始めた頃から知ってますが
バージョンが上がるたびに機能は上がるし関数は増えます
●めっちゃ多い
今ではもう覚えきれないぐらいの多さ
いや、覚えられません(笑)
今何個ぐらい有るんでしょうか?
まぁ、そんな事は置いといて、
よく使う(私が)関数はVLOOKUPかなぁって思います
でも、その超便利なVLOOKUP関数も時には不便
●左端限定
このVLOOKUP関数は、領域の左端の列から目的の値を探して
同じ行の右側の値しか取得できません
なので、例えば
A列:国コード
B列:国名
C列:首都名
というシートが存在した場合、
VLOOKUP関数を使用した場合、
@国コードで検索し、国名や首都名が分る
A国名で検索し、首都名が分る・・・でも国コードは分からない
B首都名が分っても、国コードや国名は分からない
●さぁ!どうする?
本日のExcelマクロでの開発で、ちょうどAやBのような状況に出くわしました
上記の例ならば、D列、E列にA列とB列の内容をコピーしたら一瞬で解決できますが
検索先のシートは規定の様式であって、列の追加などは認められません
なんで、VLOOKUPの3つ目の引数に左側の列を指すマイナスの値が指定できないんだろう?
ネットや、ChatGPTとかで調べても、VLOOKUPに領域の左側のセルの値を取得することは出来ないらしい
無いんなら・・・作ろう!
って事で作りましたー(笑)
こんな感じですね
ExVlookup(<探索する値/参照も可>、<探索される領域>、<列数>、<フラグ>)
まぁ、引数の指定方法はVlookupと同じですが、唯一、列数にマイナス値も指定可能としました
なので、たとえば、Bの例でいけば、
ExVlookup("東京",$C$2:$C$205,-1) で国名が求められます
また、ExVlookup("東京",$C$2:$C$205,-2)で国コードが求められます
もし、必要な方がおられたら、こっそりお分けします(笑)
人気ブログランキング