初心者向け!VLOOKUP関数の使い方を世界一わかりやすく解説、今日からエクセルの達人

B! pocket

VLOOKUP関数

エクセル・スプレッドシートの強力な機能の1つに「VLOOKUP関数」があります。

日常の業務において、データを整理したり、ちょっとしたデータ分析をすることはとても多いと思います。VLOOKUP関数を覚えておくと、こうしたデータの取り扱いに大いに役立ちます。

また、以前私が派遣会社の営業マンに聞いた話では「VLOOKUP関数を使えるかどうかで、派遣社員のレベル(スキル)が1段階変わる」のだそうです。

最初のうちは難しそうに見えますが、仕組みがわかれば誰でも簡単に使えるようになります。

この記事では、エクセル・スプレッドシートの初心者でもVLOOKUP関数を自由自在に使いこなせるようになるよう、わかりやすく解説します。

ちなみに、読み方は「ブイルックアップ関数」です。

VLOOKUP関数とは?どのような時に使えば良いか

VLOOKUP関数はデータとデータを結びつける

まず、VLOOKUP関数がどのような機能をもっており、どういったシーンで利用すればよいのか理解します。

マイクロソフトの公式サイトでは以下のように説明しています。

表や範囲から行ごとに数値や文字列などを検索する

Googleスプレッドシートの説明は以下の通り。

垂直方向の検索です。範囲の 1 列目で指定したキーを垂直方向に検索し、同じ行内にある指定したセルの値を返します。

正直、これらの説明はわかりにくく、初心者には何を言っているのかピンとこない方も多いと思います。

VLOOKUP関数の概要を私なりの言葉で説明すると、「1つのキーを軸に、別の場所にある2つのデータを結びつけられる機能」となります。

例えば、「商品ID(品番)」をキーとして、「商品IDと商品名だけを記載しているEXCELファイル」と「商品IDと販売単価だけを記載しているEXCELファイル(左記のファイルとは表示順がバラバラ)」を結びつけることができます。

VLOOKUP関数を使って、2つのEXCELファイルを統合することで、「商品名とその販売単価」が記載されたエクセルシートを作れるということです。

商品点数が1万点ある場合、商品IDとにらめっこしながら、順番がバラバラの販売単価データを手動で結びつける(一致させる)と膨大な時間がかかります。

しかし、VLOOKUP関数を使うことで、バラバラに点在している複数のデータを1つに統合できるようになります。

実際に使いながら実践で覚えるのが一番です。

続いて、VLOOKUP関数の使い方を学び、実践へと移っていきます。

VLOOKUP関数の使い方

女性社員

VLOOKUP関数には4つの値を入力します。

計算式(公式)の解説は以下の通りです。

マイクロソフト(EXCEL)の説明

= VLOOKUP (検索する値, 値を検索する範囲, 戻り値を含む範囲の列の番号, 完全一致か近似一致か – 0/FALSE か 1/TRUE で指定)。

マイクロソフトのヘルプ

わかりにくいですね。。。

Googleスプレッドシートの説明

= VLOOKUP(検索キー, 範囲, 指数, [並べ替え済み])

Googleのヘルプ

マイクロソフトの方がより詳細な説明をしてくれていますが、わかりにくいです。

Googleの方が解説はていねいです。

4つの入力値を私なりに説明すると、以下のようになります。

VLOOKUP関数は、2つのデータを1つに統合する機能なので、1つ目のデータを「データA」、2つ目のデータを「データB」とします。

検索キー(データAで指定)
軸となるキーを1つ指定する。つまり、データAにもデータBにもある同一の商品IDや商品名など。
範囲(データBで指定)
統合したいデータ列を範囲指定する。指定する範囲の一番左に検索キーの列があること
順番(データBで指定)
範囲指定したデータBの列のうち、何番目(何列目)のデータをデータAに統合したいか。検索キーのある列を1とします。
完全一致か近似一致(データA・Bどちらで指定してもOK)
完全一致ならFALSE、近似一致ならTRUEを入力。通常はFALSEを選択します。

※ちなみに、エクセル・スプレッドシートにおける「列」と「行」は、

  • 列:A列・B列・C列など
  • 行:1行目・2行目・3行目など

を指します。(列と行がごっちゃにならないように注意です)

実践で使い方を学ぶ

パソコン作業をする女性

実際にVLOOKUP関数を使い、ある課題を解決してみます。

今回の課題

スーパーマーケットで取り扱っているミネラルウォーターの販売データ。

データAには商品名と販売単価が記載されており、データBには商品名と販売個数が記載されています。データAとデータBは、1つのエクセルファイルの別シートにある状態です。

私たちは、各商品の販売単価と販売個数を突き合わせ、「単価 ✕ 個数」で各商品の売上高を算出したいと考えています。

しかし、データAとデータBの並び順がバラバラになっているのが悩みです。(順番が揃っているなら単純にコピーするだけで完了するのですが、、、)

商品点数も多く、手動でデータを整理するには少し時間がかかりそうです。

このような、複数の場所に点在しているデータの整理は、ビジネスではよくあることです。

VLOOKUP関数を使って「複数のデータを1つに統合する」ことで、商品点数が何千点、何万点になったとしても、様々な場所にあるデータを瞬時に突き合わせることが可能です。

→まずはこちらのスプレッドシートをダウンロード

スプレッドシートのメニュー一覧にある「ファイル」をクリックしてから、

  • コピーを作成(スプレッドシートで使う場合)
  • 形式を指定してダウンロード(EXCELで使う場合)

のどちらかを選択してください。

「コピーを作成」すると、同じファイルが編集可能な状態で、自分のGoogleドライブ内にコピーされます。

今回は無料で使えるGoogleスプレッドシートを使っていますが、エクセルでもやり方はまったく同じです。

上記のやり方で、スプレッドシートのファイルをEXCEL形式でダウンロードすることもできますが、今回はEXCELファイル(スプレッドシートと同じもの)も用意しましたので、好きな方をダウンロードして使ってください。

ファイルの中身はこのような感じになっています。

データA(シート1)
メーカー名・商品名・販売単価の情報
データB(シート2)
データ更新日・商品名・販売個数の情報

※シート(データA・B)は画面下部のタブで切り替えます

両者の順番はバラバラです。

データBの「販売個数」を抽出し、データAに統合するのが今回の目的です。

①D2セルに =VLOOKUP( と入力します。すべて半角英字で入力する点に注意です。関数アシスト(どのような値を入力すればよいか)が出てきますが、無視します。
VLOOKUP関数の説明1

VLOOKUP関数では、最初に「検索キー」を入力します。

検索キーとは、データAにもデータBにも存在する「同じ数字や文字列」のことです。

検索キーを見つけ出すことが、VLOOKUP関数の攻略のカギです。

今回の例では、データA・データBに両方存在するものは「商品名」ですので、商品名を検索キーに設定します。

②B2セルを選択すると、D2セルの入力が =VLOOKUP(B2 になります。半角英字でカンマを打ち、 =VLOOKUP(B2, と入力します。
VLOOKUP関数の説明2

③タブ切り替えで「データB(シート2)」に移動し、B列とC列を選択し、半角英字でカンマを打ちます。「データA」のD2セルの入力値は =VLOOKUP(B2,’データB’!B:C となっています。
VLOOKUP関数の説明3

VLOOKUP関数では、「指定する範囲の一番左に検索キーの列があること」が絶対条件です。

先ほど「データA」で検索キーとして「商品名(B2セル)」を選択しました。続いて「データB」で検索キー(商品名の列)が一番左に来るように範囲を指定するのがポイントです。

「データB」のA列(データ更新日)から範囲指定するとうまくいきません。

「’データB’!B:C」というのは、「データB」というシート名のB列からC列までを選択しているという意味です。シート名が「販売個数」なら「’販売個数’!B:C」となります。

パット見だとわかりにくいのですが、別シートを指定する場合は「‘あああ’!」と入力します。範囲指定は「:」を使います。

もちろん、手動で入力しなくても、マウス等でクリック・選択するだけで、エクセルやスプレッドシートが自動入力してくれます。

④範囲指定している「データB」のB列~C列のうち、2番目のデータ(販売個数のデータ)を抽出したいので「2」と入力し、カンマを打ちます。「データ!」のD2セルは =VLOOKUP(B2,’データB’!B:C,2, となっている状態です。
VLOOKUP関数の説明4

検索キーのある列が一番左にくるように、「データB」の列全体を範囲指定します。その後、「何番目のデータを抽出したいか?」を指定するのがこの項目です。

検索キーを抽出したいなら「1」、販売個数を抽出したいなら「2」、より多くの範囲を指定している場合も同様です。

現時点で、

  1. B2
  2. ‘データB’!B:C ← 別シートを参照しているので複雑になっている
  3. 2

の3つの値がVLOOKUP関数に入力されています。

⑤タブ切り替えで「データA(シート1)」に戻って、FALSEと入力し、エンターキーを押します。D2セルの入力値は =VLOOKUP(B2,’データB’!B:C,2,FALSE のようになります。
VLOOKUP関数の説明5

本来は、FALSEのあとで閉じカッコを入力するのですが、EXCELでもスプレッドシートでも、最後の閉じカッコは省いてしまっても問題ありません。(自動入力されます)

最終的に、D2セルの入力値が =VLOOKUP(B2,’データB’!B:C,2,FALSE) になれば、VLOOKUP関数の入力は完了です。

最初は戸惑うかもしれませんが、慣れれば数秒で入力できるようになるはずです。

入力が完了したら、D2セルに「432」という数字が表示されるはずです。
VLOOKUP関数の説明6

エラーが出てしまった場合は、「データA」のD2セルに、半角で正しく =VLOOKUP(B2,’データB’!B:C,2,FALSE) と入力されているか確認してください。

これは、VLOOKUP関数が「クリスタルガイザー」という商品名を検索キーとして、「データB」にある同じ検索キー「クリスタルガイザー」の販売個数のデータ「432個」を取得し表示している状態です。

D2セルに正しく「432」と表示されたら、あとはオートフィル機能を使ってその他のデータも埋めていきます。

関数入力済みの「432」と記載されているセルの右下にマウスを置くと「+」が表示されますので、マウスで掴みながら下にスライドさせ、連続データを入力します。

完成形がこちらです。順番がバラバラになっている「データB」の販売個数の値を、商品名をキーとして正しく抽出しています。
VLOOKUP関数の説明7

1個680円のクリスタルガイザーが432個、1個678円のアルカリイオンの水が990個、正しく入力されているでしょうか。

商品ごとの売上高が知りたい場合は、C列の金額とD列の販売個数を掛け算すればOKです。

次の記事:Googleスプレッドシートの使い方とおすすめ機能を5つ紹介します

こちらの記事もおすすめです

この記事の執筆者

執筆者の詳細プロフィール
26歳の時に右も左もわからない状態で個人事業主になりました。2年後、株式会社クートンを設立し、現在8期目です。「いい人」がたくさんいる世界の実現が目標です。「人の価値とはその人が得たものではなく、その人が与えたもので測られる」 - アインシュタイン

より良い情報をお届けするため、川原裕也 がメンテナンスを担当いたしました。( 更新)

ありがとうございます。

最後まで読んでいただきありがとうございました

0件のコメント

質問・コメントはこちら
個人事業主・フリーランス アンケート
ビジネスカード大全集
小さな個人店 キャッシュレス導入のメリット・デメリット