VLOOKUP関数とは
VLOOKUP関数は文字列参照の基本的な関数です。
SUM、IF、VLOOKUPはメジャーな関数ですね。
初心者から上級者まで幅広く使われています。
使用頻度が非常に多いので、エクセルを学ぼうと思えばこれらの関数を避けては通れません。
そして、VLOOKUP関数はSUM関数、IF関数に比べて使い方が難しいので苦手意識を持つ人が多いです。
その原因の一つが引数の多さですね。
でも、しっかり理解すればそんなに難しい関数ではありません。
VLOOKUP関数をマスターすれば、あなたのエクセル能力は格段に向上するでしょう。
VLOOKUP関数は初心者から中級者へステップアップするための登竜門です。
まずは仕組みを理解して実践あるのみです。
VLOOKUP関数の定義
これがVLOOKUP関数の定義ですが、はっきり言ってよく分からないですね。
この定義だと、どういう状況でどんな使い方をすればいいか想像もできません。
では、言い方を変えてみましょう。
「あなたの希望どおりのデータを抽出するよ。範囲と条件を指定してね。」
簡単に言うとこういうことです。
ちょっと使えそうな気がしてきましたね?
この調子でVLOOKUPの構成編に進みましょう。
VLOOKUP関数の構成
VLOOKUP関数は引数が4つもあります。
苦手意識の原因はこの引数の多さだと言ってもいいでしょう。
でも一つ一つ理解すれば、すごく単純で簡単です。
=VLOOKUP(B14,B3:D10,2,0)
引数を色分けしました。
これらの引数の意味は次のとおりです。
=VLOOKUP(検索値,範囲,列番号,検索方法)
それでは1つずつ説明していきます。
検索方法
=VLOOKUP(検索値,範囲,列番号,検索方法)
検索方法から説明するのには訳があります。
まず始めに、初心者の皆さんはこの値を「0」に設定してください。
「0」にしておけば問題ありません。
その理由は次のとおりですが、今は読み飛ばしても大丈夫です。
この記事を最後まで読んだ後に、再度読んでみてください。
近似値検索について
検索方法の違いは「しっかり検索するか」「あいまいな検索をするか」です。
「0」はしっかり検索、つまり完全一致検索です。
「1」はあいまい検索、つまり近似値検索…なのですが、これはかなり特殊な使い方です。
近似値検索は私もほとんど使ったことはありません。
皆さんの使い方でも完全一致を求めるものが多いと思います。
だから最初のうちは「0」で設定して問題ありません。
TRUE、FALSEについて
参考書によっては「TRUE」「FALSE」という単語が出てきます。
これは「1」「0」と同じ意味になります。
対応表は次のとおりです。
近似値 | TRUE | 1 |
完全一致 | FALSE | 0 |
つまりこういう入力方法もできるということです。
=VLOOKUP(B14,B3:D10,2,FALSE)
しかし、これだと入力に手間がかかる上にごちゃごちゃするので、数字で打つことを推奨します。
=VLOOKUP(B14,B3:D10,2,0)
ちなみに検索方法の因数を空白(何も入力しない)と「1」と同じ扱いになります。
範囲
=VLOOKUP(検索値,範囲,列番号,検索方法)
範囲の説明の前に、VLOOKUP関数の仕組みについて説明します。
この表では黒丸のところに「=VLOOKUP(B14,B3:D10,2,0)」が入力されています。
分かりやすく順を追って説明します。
① まずは検索値を確認(トヨタ)
② 範囲の一番左側から検索値を探す(トヨタはB3)
③ 範囲の左から2番目のデータを抽出する(トヨタから2番目は「471-5871」)
ここで注目するべきは②です。
検索値を探すのは範囲の一番左側なんですね。
そしてN番目のデータを抽出するのも範囲の一番左からです。
「範囲を指定する時は検索値を一番左にしなければならない。」
範囲については、とりあえずこれだけ覚えていれば大丈夫です。
検索値
=VLOOKUP(検索値,範囲,列番号,検索方法)
検索値を表の左側に配置するとVLOOKUP関数が使いやすくなります。
VLOOKUP関数は範囲の左を基準にする特性があります。
このことから、検索値は左側に持っていくことを意識しましょう。
検索値が範囲の右でもVLOOKUP関数を使えないことはないですが、余計な一手間が掛かるので左側を意識してください。
列番号
=VLOOKUP(検索値,範囲,列番号,検索方法)
いよいよ最後の列番号になりました。
あと一息です。がんばりましょう。
先ほどの「VLOOKUP関数の仕組み」を復習します。
この表では黒丸のところに「=VLOOKUP(B14,B3:D10,2,0)」が入力されています。
VLOOKUP関数は、範囲から検索値に一致するデータを見つけて、指定されたN番目のデータを返します。
順を追って説明します。
① まずは検索値を確認(トヨタ)
② 範囲の一番左側から検索値を探す(トヨタはB3)
③ 範囲の左からN番目のデータを抽出する
ここで重要なのが、範囲の一番左からN番目というところです。
N番目のNは列番号で指定した数字です。
=VLOOKUP(B14,B3:D10,2,0)なので2番目ということになります。
この表では黒丸のところに「=VLOOKUP(B14,B3:D10,2,0)」が入力されています。
① まずは検索値を確認(トヨタ)
② 範囲の一番左側から検索値を探す(トヨタを「B3」で発見)
③ 範囲の左から2番目のデータを抽出する(トヨタから数えて2番目は「471-5871」)
④ 黒丸(C14)にVLOOKUP関数の結果「471-5871」が表示される
それではパターンを変えてもう一度やってみます。
同じセルに「=VLOOKUP(B14,B3:D10,3,0)」と入力してみましょう。
列番号を2から3に変更しました。
つまり左から3番目のデータを抽出するということです。
「トヨタ」から数えて3番目の「愛知県豊田市豊田町1番地」が表示されました。
範囲を広く指定すれば、10番目だろうが100番目だろうが数字を抽出してくれます。
VLOOKUPの使い方
VLOOKUPは横のデータを抽出する関数です。
エクセルは社員名簿や売上伝票などデータ管理にとても役立つソフトです。
これらのデータを入力する時は横方向にデータを入れるようにしましょう。(ほとんどの人がそうしていると思いますが)
なぜかというと、関数でデータ操作をする時に圧倒的に横方向の方がやりやすいからです。
ちなみにVLOOKUPの縦方向バージョンにHLOOKUP関数というものもあります。
VLOOKUP関数は応用が効くので色々な場面で使えます。
応用編も執筆予定なのでぜひご覧ください。