こんにちは。カルークです。
今日はマイクロソフトExcelの便利な機能である「VLOOKUP関数(ブイ・ルックアップと読みます)」について、簡単な使い方をご紹介します。
VLOOKUPは表形式のデータを扱う方には重宝する機能だと思うので、文系職、理系職問わずに広く使える機能になります。ちなみに、僕は一応ソフトウェア屋さんですが、小規模なデータをちゃちゃっと集計したい時はエクセルでやってしまうことも結構あります。そんなときにもVLOOKUPもめちゃ多用します。
VLOOKUP関数ってどんなの?
はじめにVLOOKUP関数の概要からです。
超ざっくりいうと、VLOOKUP関数は、あるテーブル(A)の値にマッチする、別テーブル(B)の値を参照できるものになります。VLOOKUPの引数ですが、以下のように指定をします。
=VLOOKUP(検索値, 範囲, 列番号, [検索方法])
「検索値」は、テーブルA側の何の文字列にマッチさせたいかを指定する値です。
「範囲」は、テーブルB側のどの範囲から探したいかを指定する値です。
「列番号」は、テーブルB側の指定した範囲の中で取り出したい情報が入っている列を指定する値です。
「[検索方法]」は、TRUEかFALSEを指定します。探索を行う際に、検索値の文字列と完全一致したレコード(行)を対象にする場合はFALSE(完全一致)を指定し、そうでない場合はTRUE(近似一致)を指定します。
恐らくこの説明だけだと何を言っているのか分からないと思うので、具体例を書いてみます。
VLOOKUP関数の具体例
VLOOKUP関数の使い方の例です。他の関数と組み合わせてもっと高度な使い方もありますが、まずはVLOOKUPの基本的な使い方にのみ焦点を当てます。
例えば、こんな感じのテーブル(テーブルAとします)があったとします。
ここで唐突ですが、「お名前」に書かれた方の趣味も知りたくなりました。別のテーブル(テーブルBとします)にこんな情報があるのを見つけました。
テーブルBを見てみると、テーブルAに居ない人も含まれていたり、同じ人(太郎さん)が2名いたりしますが、今は気にせず。
では、まずはテーブルAに、「趣味」のカラム(列)を追加してみましょう。(値はまだ空です)
ここでようやくVLOOKUPの登場です。テーブルAの「お名前」列に登場する人名にマッチした人物の趣味をテーブルBから抽出します。
その前に、(本質ではないですが)説明のわかり易さのためテーブルBをテーブルAと同じシートコピーしておきましょう。以下のような状態になります。
さきほど追加した「趣味」のカラムの空欄(D2セル)に、VLOOKUPの関数を書いてみます。
=VLOOKUP(B2,$F$2:$H$8,3,FALSE)
これは「D2セルには、B2セル(太郎)に文字列が完全一致(FALSE)するレコード(行)を指定範囲(F2からH8で囲った範囲)から上から走査して見つけ出し、その指定した範囲の3列目(趣味)の値を抽出してください」という意味になります。
D2列には、太郎さんの趣味の「釣り」が入っていますね。
ここで注意点ですが、テーブルBには太郎さんが2名存在してしまっています。(一人目の太郎さんの趣味は「釣り」、二人目の太郎さんの趣味は「ツーリング」)VLOOKUPでは上から走査を行っていて、該当する値にマッチする文字列を見つけたらそこで走査終了で値を出力するので、上から数えて近い一人目の太郎さんの「趣味」が出力されています。
※ VLOOKUPの説明からは外れますが、実際にVLOOKUPを利用する場合はテーブルB側は重複しないことを確認してから行ったほうが無難ですね
続いて、他のお名前の人たちに拡張してみましょう。D2をD3,D4,D5,D6にそのままコピーしましょう。(D2を選択した状態で、セル右下にある四角いポチを左クリックでドラッグしながらD6まで伸ばしても同じことが出来ます)
同じように、二郎さん、三郎さんの趣味の情報もテーブルBから参照することができました。(四郎さん、五郎さんが「#N/A」になっているのは、参照先であるテーブルBに存在しないためです)
ちなみに、VLOOKUPの引数で参照範囲に「$F$2:$H$8」とドルマーク(絶対参照)をしていない場合、D2の値をD3,D4,D5,D6とコピーする際に一緒に指定範囲もズレてしまうので、結果が変になります。絶対参照を忘れずに行いましょう。
まとめ
今回は、VLOOKUPの概要と使い方の一例を説明しました。VLOOKUPはビジネスの現場で使える強力な関数です。
他の関数と組み合わせたりするなど、応用的な使い方もできると良いですね。