きゃしーの必殺エクセル関数~みんな大好きVLOOKUPで1秒でも早く帰る~
こんにちは。きゃしーです。
前回の「きゃしーの必殺エクセル関数 ~ショートカットを使って1秒でも早く帰る~」にたくさんのいいねをいただき本当にありがとうございます。
本日も特に前振りなくいくよー!(まことお兄さん風)
今日はみんな大好きVLOOKUP。以前自宅ポストに入っていた事務募集の募集要項に「VLOOKUP関数が使える方」と記載されていたのを見ました。うんうん、なんかちょっと知っている人は知っているけど、知らない人は知らないよねっていう関数の代表者「VLOOKUP」です。
VLOOKUPを一言でいうと
表の一覧から見つけたい値を拾ってくる
とか
マスタデータから必要なデータを取得してくる
VLOOKUPをとりあえず見てみよう
VLOOKUPを使えば、左側の表(社員一覧)から社員IDが一致する社員の社員名・部署・役職を探して持ってくることができる。例だと6人しかいないから目で見ればいいじゃん。ってなるんだけど、これが1,000人いたら?社員一覧じゃなくて、売り上げデータだったら?取引先一覧だったら?と思うと目で探すのはぞっとする作業でしょ。だから関数を使って探します。
VLOOKUPを詳しく説明するよ
関数の書き方としてはこんな感じ。
=vlookup(検索値, 範囲, 列番号, [検索方法])
検索値 ⇒ 検索したい値が入っているセルを指定でOK
範囲 ⇒ 元となる一覧が入力されているセルを指定
列番号 ⇒ 検索する範囲の何番目のデータが欲しいか?
検索方法 ⇒ 任意入力になっているとけど「FALSE」って固定でいれる!むしろ「FALSE」以外入れないで!!!!!
例をもう一度見てみると。。。
検索キー ⇒ 検索するためのキーが「E005」で セル I4 に入力されているので「I4」
範囲 ⇒ 社員一覧は B3 から始まって E9 まで入力されているので「B3:E9」
列番号 ⇒ 社員名を取得したいなら範囲の表の2番目の列にあるので2、部署を取得するなら表の3番目の列にあるので3、役職なら…
検索方法 ⇒ 問答無用で「FALSE」(省略するとあとで悲しい思いをするよ)
# 社員名取得
=vlookup(I4,B3:E9,2,false)
# 部署
=vlookup(I4,B3:E9,3,false)
# 役職
=vlookup(I4,B3:E9,4,false)
VLOOKUPの注意書き
1.元となる表の一番左に検索値が入力されている列があること
⇒ 検索キーの左側にある値は選べないので、大きな表の途中に検索値列があるんだよなぁって時は一番左に列を追加して検索値の列をコピーしておくとよい。(ここわかりにくいからちゃんと説明したいので補習したい人はリクエストして)
2.元となる表の検索値は昇順に並べ替えていること
⇒ VLOOKUPは元のデータがちゃんと並んでいることが前提の関数なので、検索値は並べ替えをしておく。じゃないと表にあるはずなのに取得できない!って困ることになる。
基本的なことはここまで!以上!!!っていうのがよくあるExcel関数の教科書。でもこれじゃ1秒しか早く帰れない。私はもっと早く帰りたいって人はここからが本番です。
VLOOKUPをコピーするときの小技「F4」
VLOOKUPをコピーすると指定していたセルの位置も一緒に変わっちゃって困る!いちいち直している暇はない!!!!だから、上の例をこう書きます。
# 社員名
=VLOOKUP($I$4,$B$3:$E$9,2,FALSE)
# 部署
=VLOOKUP($I$4,$B$3:$E$9,3,FALSE)
# 役職
=VLOOKUP($I$4,$B$3:$E$9,4,FALSE)
おまじない「$」をかけておくとコピーするときにセルが固定されます。
「えー、いちいち$マークのためにShift+4を押すの?」って思うじゃん?違います。
まず、1個VLOOKUPを完成させます。
=VLOOKUP(I4,B3:E9,2,FALSE)
ここで、カーソルをI4に移動させます(F2を押してから矢印でもいいし、マウスを使ってもいいし、Excelのツールバーの下にでる値欄から編集してもいいよ)。そこでかかさず、「F4」キーです。そうすると勝手に
=VLOOKUP($I$4,B3:E9,2,FALSE)
に変換してくれる!素晴らしいーーーーーー!(パチパチパチ)
同じ様に B3にカーソルを移動させてF4キー、E9にカーソルを移動させてF4キーすると固定できます。
ちなみにF4は1回押すと「$I$4」、2回押すと「I$4」、3回押すと「$I4」、4回押すと「I4」と変わりますので、行と列のどこを固定したいかによってF4を押す回数を変更すればOKです。
VLOOKUPで範囲指定する時は列全部
毎月毎回同じようなことをやるんだけど、元となるデータの行数が違うから範囲指定をし直さなきゃいけない。ってときは、範囲を列指定しておく。A列からD列に取引先情報を入力しておくんだけど、何行あるかわからないときはとっても便利。もちろんここでF4を使って列を固定してもいいよ。
=VLOOKUP(G1,A:D,2,FALSE)
VLOOKUPがつかえるようになるとExcelわかんない人からExcel使える人として見てもらえる(はず)これで「VLOOKUP 使い方」ってググらなくてよくなるので1分くらい早く帰れるようになるんじゃないかな?
では、次回は関数編の数値系入門編でお会いしましょう。
(いやぁ、文字量が増えちゃうから関数編1個ではまとめられない。
関数編の予定としてはsumif,countif,substitute,exact,ifs,trim、ピボットテーブル入門あたりを書こうと思っているけどこんなことやりたいんだけどできる?のリクエストもお待ちしています)