初心者向け!VLOOKUP関数の使い方を世界一わかりやすく解説、今日からエクセルの達人
執筆者:川原裕也 更新:
※記事内に広告を含む場合があります
エクセル・スプレッドシートの強力な機能の1つに「VLOOKUP関数」があります。
日常の業務において、データを整理したり、ちょっとしたデータ分析をすることはとても多いと思います。VLOOKUP関数を覚えておくと、こうしたデータの取り扱いに大いに役立ちます。
また、以前私が派遣会社の営業マンに聞いた話では「VLOOKUP関数を使えるかどうかで、派遣社員のレベル(スキル)が1段階変わる」のだそうです。
最初のうちは難しそうに見えますが、仕組みがわかれば誰でも簡単に使えるようになります。
この記事では、エクセル・スプレッドシートの初心者でもVLOOKUP関数を自由自在に使いこなせるようになるよう、わかりやすく解説します。
ちなみに、読み方は「ブイルックアップ関数」です。
VLOOKUP関数とは?どのような時に使えば良いか
まず、VLOOKUP関数がどのような機能をもっており、どういったシーンで利用すればよいのか理解します。
マイクロソフトの公式サイトでは以下のように説明しています。
表や範囲から行ごとに数値や文字列などを検索する
Googleスプレッドシートの説明は以下の通り。
垂直方向の検索です。範囲の 1 列目で指定したキーを垂直方向に検索し、同じ行内にある指定したセルの値を返します。
正直、これらの説明はわかりにくく、初心者には何を言っているのかピンとこない方も多いと思います。
VLOOKUP関数の概要を私なりの言葉で説明すると、「1つのキーを軸に、別の場所にある2つのデータを結びつけられる機能」となります。
例えば、「商品ID(品番)」をキーとして、「商品IDと商品名だけを記載しているEXCELファイル」と「商品IDと販売単価だけを記載しているEXCELファイル(左記のファイルとは表示順がバラバラ)」を結びつけることができます。
VLOOKUP関数を使って、2つのEXCELファイルを統合することで、「商品名とその販売単価」が記載されたエクセルシートを作れるということです。
商品点数が1万点ある場合、商品IDとにらめっこしながら、順番がバラバラの販売単価データを手動で結びつける(一致させる)と膨大な時間がかかります。
しかし、VLOOKUP関数を使うことで、バラバラに点在している複数のデータを1つに統合できるようになります。
実際に使いながら実践で覚えるのが一番です。
続いて、VLOOKUP関数の使い方を学び、実践へと移っていきます。
VLOOKUP関数の使い方
VLOOKUP関数には4つの値を入力します。
計算式(公式)の解説は以下の通りです。
= VLOOKUP (検索する値, 値を検索する範囲, 戻り値を含む範囲の列の番号, 完全一致か近似一致か – 0/FALSE か 1/TRUE で指定)。
わかりにくいですね。。。
= VLOOKUP(検索キー, 範囲, 指数, [並べ替え済み])
マイクロソフトの方がより詳細な説明をしてくれていますが、わかりにくいです。
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関数では、最初に「検索キー」を入力します。
検索キーとは、データAにもデータBにも存在する「同じ数字や文字列」のことです。
検索キーを見つけ出すことが、VLOOKUP関数の攻略のカギです。
今回の例では、データA・データBに両方存在するものは「商品名」ですので、商品名を検索キーに設定します。
②B2セルを選択すると、D2セルの入力が =VLOOKUP(B2 になります。半角英字でカンマを打ち、 =VLOOKUP(B2, と入力します。
③タブ切り替えで「データB(シート2)」に移動し、B列とC列を選択し、半角英字でカンマを打ちます。「データA」のD2セルの入力値は =VLOOKUP(B2,’データB’!B:C となっています。
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, となっている状態です。
検索キーのある列が一番左にくるように、「データB」の列全体を範囲指定します。その後、「何番目のデータを抽出したいか?」を指定するのがこの項目です。
検索キーを抽出したいなら「1」、販売個数を抽出したいなら「2」、より多くの範囲を指定している場合も同様です。
現時点で、
- B2
- ‘データB’!B:C ← 別シートを参照しているので複雑になっている
- 2
の3つの値がVLOOKUP関数に入力されています。
⑤タブ切り替えで「データA(シート1)」に戻って、FALSEと入力し、エンターキーを押します。D2セルの入力値は =VLOOKUP(B2,’データB’!B:C,2,FALSE のようになります。
本来は、FALSEのあとで閉じカッコを入力するのですが、EXCELでもスプレッドシートでも、最後の閉じカッコは省いてしまっても問題ありません。(自動入力されます)
最終的に、D2セルの入力値が =VLOOKUP(B2,’データB’!B:C,2,FALSE) になれば、VLOOKUP関数の入力は完了です。
最初は戸惑うかもしれませんが、慣れれば数秒で入力できるようになるはずです。
入力が完了したら、D2セルに「432」という数字が表示されるはずです。
エラーが出てしまった場合は、「データA」のD2セルに、半角で正しく =VLOOKUP(B2,’データB’!B:C,2,FALSE) と入力されているか確認してください。
これは、VLOOKUP関数が「クリスタルガイザー」という商品名を検索キーとして、「データB」にある同じ検索キー「クリスタルガイザー」の販売個数のデータ「432個」を取得し表示している状態です。
D2セルに正しく「432」と表示されたら、あとはオートフィル機能を使ってその他のデータも埋めていきます。
関数入力済みの「432」と記載されているセルの右下にマウスを置くと「+」が表示されますので、マウスで掴みながら下にスライドさせ、連続データを入力します。
完成形がこちらです。順番がバラバラになっている「データB」の販売個数の値を、商品名をキーとして正しく抽出しています。
1個680円のクリスタルガイザーが432個、1個678円のアルカリイオンの水が990個、正しく入力されているでしょうか。
商品ごとの売上高が知りたい場合は、C列の金額とD列の販売個数を掛け算すればOKです。
次の記事:Googleスプレッドシートの使い方とおすすめ機能を5つ紹介します
1件のコメント
いやいや素晴らしい!!
VLOOKUPの説明が本当にわかりやすいものでした。
今後のご活躍を期待しています。
ありがとうございました。