Web無料相談会2018冬
Web無料相談会2018冬
2018.08.13

【エクセル】VLOOKUP関数とはいったい何者なのか、みなさん気になっていると思います。

ゆりえ

こんにちは。経営企画室のゆりえです。会社全体のさまざまな数字を管理しています。これまでのLIGブログでは、エクセルやGoogleスプレッドシートの活用法に関する記事を書きました。

先日、社内の若者に「ブイルックがよくわからないので教えて」と声をかけられました。ブイルックとは、エクセルやGoogleスプレッドシートで使われるVLOOKUP関数です。

表計算では必ずと言っていいほど出てくる関数ですが、なんだか難しくて、新入社員の方々やエクセルを使いはじめた方が(おそらく)最初にぶつかる壁なのではないでしょうか。

私は、さまざまな事業を抱えるLIGで、みなさんが日々快適に業務ができるよう、いろいろな管理シートを作ったり集計したりしているのですが、VLOOKUP関数は毎日のように使っています。とても便利な関数なので、こんなにとっつきにくいと思われがちなのがもどかしい!

なので今回は、VLOOKUP関数について、いったい何者なのかという概念や考え方に重きを置いて、プラス基本的な使い方をお話させていただこうと思います。

VLOOKUP関数

VLOOKUP関数とは

関数
=VLOOKUP(検索値, 検索範囲, 列番号, [検索方法])
※エクセル、スプレッドシートに対応

VLOOKUP関数は、検索/行列関数という、検索してそれに対応するデータを取得する関数です。通称「ブイルック」と呼ばれることが多いと思うのですが、正しくは「ブイルックアップ」という名前の関数です。

苦手ポイント

どんなところにみなさん苦手を感じるのでしょうか、考えてみました。

名前

まずこれ。エクセルの関数で使用頻度が高いものは、SUMやIFなど簡潔でどんな内容なのかすぐわかる名前が多いと思います。ですが、VLOOKUPはどんな関数なのかわかりません。いきなりの「V」です。「V」ってなに。

要素が多い

関数を構成する要素(引数と呼びます)を4つも設定をしなければいけません。基本の引数が4つというのは確かに多いです。日本語の説明を見ても「?」です。

計算する関数じゃない

SUMのように計算をする関数ではないため、なんだか初心者向けではない感じがするのではないでしょうか。

これら3つのポイントだけでも、VLOOKUP関数は、なんだかよくわからないけど他の関数とは違う一筋縄ではいかなそう感が強く出ていて、苦手意識をもたれてしまうのかなぁと思います。納得です。

ですが、実際はそんなことありません。覚えてしまえばすごく使いやすいし便利。さらにとても人間味が溢れる関数です!

VLOOKUPの意味

まず、VLOOKUPという名前には、このような意味があります。

VLOOKUPの意味
V = Vertical 「垂直」
LOOKUP 「探す」

つまり、VLOOKUPという名前は、垂直に探すことを示しています。垂直に探すって……?

例題にあてはめて、関数の考え方と使い方を説明させていただきます。

考え方(VLOOKUPはいったい何なのか)

VLOOKUPは何をするための関数なのでしょうか。

お題。

このような表があります。「りんご」が何個売れたのかを知りたい。

そう、VLOOKUPは、こういうときに「りんご」が何個売れたかを教えてくれる関数です! 商品名「りんご」に対応する販売個数とも言えます。

……ここでストップ!

関数を使うまえに、画像を見て一目で答えがわかっちゃいましたね。答えは「3」です。

ではこのとき、なぜ「りんご」の販売個数が「3」個だとわかったのでしょうか、そこがポイントです。みなさんは答えを探すときに下記のように探したのではないでしょうか。

まず、B列「商品名」を上から下に(垂直に)たどって「りんご」を探します。

あった! 「りんご」はB6セルにありました。

次に、「商品名」を1列目とすると「販売個数」は3列目にあるので、「りんご」から右の3列目へ視線を移動します。これで、「りんご」の販売個数は「3」ということがわかります。

みなさんの目線の動きをまとめると下記のようになります。

実は、この視線の動きと同じことをしてくれるのがVLOOKUP関数です。

上からひとつずつ探して、見つけて、そこから右に何個か進む、データを取得する。視線と同じ動きですね。これが、VLOOKUP関数を使ううえで大事な考え方だと思います。これと同じことをやっている関数なんだ、というのを胸に刻んでいただければ、もう勝ちです! 概念がわかっていれば、使い方を忘れても調べればいいのですから^^
いいですか。VLOOKUP関数は「りんご」が何個売れたかを教えてくれる関数で、困ったときはこの表と目線の動きを思い出してみてください。

さて、今回の「りんご」の「販売個数」は、データが少ないため目視でわかりました。しかし、もしデータが100個や200個あったら、列数が10列20列とあったら……やってられません。そんなときにVLOOKUPの出番となるわけです。

実際に、今回の例題をVLOOKUP関数に当てはめてみましょう。

基本的な使い方

F2セルに「りんご」の「販売個数」を出力するため、VLOOKUP関数を入力しましょう。下記に沿って、4つの引数を設定します。

引数1:検索値

検索する値です。今回は、「りんご」が何個売れたのかを知りたいので、「りんご」と入力。


=VLOOKUP(“りんご”, 検索範囲, 列番号, [検索方法])

数式の中で、数字やセルではなく固定値を指定するときは、「””」で囲います。

引数2:検索範囲

「りんご」の「販売個数」を求めるために検索する範囲を指定します。この範囲のなかでしか、検索をおこないません。将棋やすごろくでいう盤面だと思ったらわかりやすいでしょうか。今回は「B2:D7」がそれに対応します。


=VLOOKUP(“りんご”, B2:D7, 列番号, [検索方法])

範囲を指定するときに注意する点があります。

VLOOKUP関数では、検索値を検索するのは、必ず範囲の左端の列です。なので、今回、「りんご」を検索する「商品名」のB列が範囲の左端にくるように指定しています。

また、「販売個数」の列も検索範囲の中に含まれている必要があります。基本的には、今回のように元データの表をそのまま検索範囲に指定するとわかりやすいです。
※範囲の下端は、データがどんどん増えることを加味して「B2:D」にすると、B2からD列の最下端までを指定できます(私はこっち派)。

引数3:列番号

「りんご」を検索する列を1列目として、求めたいデータが何列目なのかを指定します。1列目「商品名」、2列目「単価」、3列目が「販売個数」なので、今回は3です。


=VLOOKUP(“りんご”, B2:D7, 3, [検索方法])

ここを2にすると、「りんご」の「単価」なので、「100」が回答として返ってきます。

引数4:[検索方法]

これは、いったん何も考えず0を入力しましょう。

少しわかりづらい項目ですが、検索をするときに完全一致で検索をする場合は「0もしくはFALSE」、近似一致で検索する場合は「1もしくはTRUE」を入力します。ほとんどの表計算は完全一致で検索をするため、1を使う場合はごく稀なので、基本的な表計算では0を入力しておけば問題ありません(近似一致で検索する場合についてはいつかご紹介したいです)。


=VLOOKUP(“りんご”, B2:D7, 3, 0)

これで、数式が完成しました。

エンターー!

はい。求めたかった「りんご」の「販売個数」が出力されました。

関数を日本語で読んでみると、「りんごを、B2:D7の範囲の中で、B2から垂直に検索していって見つけたら、そこから右に3列目(りんごは完全一致で検索)」となります。わりと、このように声に出しながら関数を入力すると理解しやすいのではないでしょうか。私は心の声でいつも読みあげています。

注意するポイント

VLOOKUP関数を使うときの注意点がいくつかあります。

  • 「りんご」の列はかならず範囲のなかで左端。「りんご」よりさらに左側の列に対して、VLOOKUP関数は使えません。
  • もしも表のなかに「りんご」が複数あるとき、上から一つ目の「りんご」だけに反応します。二つ目以降は無視されるため、注意が必要です。
  • もしも表のなかに「りんご」がない場合はエラー「#N/A」となります。ないということを教えてくれるのです。

HLOOKUP関数

VLOOKUP関数は垂直(Vertical)に検索する。ということは、水平(Horizontal)の場合は……? と気になった方もいらっしゃるのではないでしょうか。水平に検索する、HLOOKUP関数があります。

関数
=HLOOKUP(検索値, 検索範囲, 行番号, [検索方法])
※エクセル、スプレッドシートに対応

VLOOKUP関数の行と列が入れ替わっただけで使い方はまったく同じです。

例題の、行と列が入れ替わった表があるとします。

HLOOKUP関数を入力して、「りんご」の「販売個数」を求めましょう。


=HLOOKUP(“りんご”B2:G430)

VLOOKUPのときは、セル範囲の左端を上から下に見ることで「りんご」を検索していました。

HLOOKUPでは行と列が入れ替わっていますので、セル範囲の上端を左から右に検索します。そして、検索値(りんご)から指定した行数だけ、今度は下方向に移動して、「販売個数」が出力されます。

HLOOKUPを表す目線の動きはこうです。

VLOOKUP関数がかなり有名なのと反対に、HLOOKUP関数はあまりなじみがないかもしれませんが、横方向の表に対してVLOOKUPと同じルールで同じことができるので便利です。

さいごに

VLOOKUP関数についてお話させていただきました。

関数は一度理解してしまえばとても楽しいものだと思っています。

ですが、多くの人がつまずくところでもあると思うので、この記事が少しでも力になれたらいいなあ、エクセルを少しでも好きになってもらえると嬉しいなあと思って書きました。ただ、関数の概念を理解してもらうことを意識して書くのはとても難しかったです。逆にわかりづらいものになっていたら申し訳ございません。今後、よりわかりやすい考え方を見つけて、修正できればと思っています。

また今回は、基本的な考え方の記事となりましたので、応用的な使い方についても記事にしたいと思っています。

ありがとうございました。