excel01

新入社員必見!VLOOKUPの“おさらい”と、初心者がハマりやすい落とし穴!【Excel女子】

2017/5/25

TOP > BLOG > 新入社員必見!VLOOKUPの“おさらい”と、初心者がハマりやすい落とし穴!【Excel女子】

Excel業務では欠かせないVLOOUP。業種にもよりますが、この関数についてしっかり理解できているかどうかが、“Excelを使える”基準になっていることも珍しくないと思います。そこで今回のExcel女子では、VLOOKUPの基本の“おさらい”と、初心者がつい陥ってしまう落とし穴の2つをご紹介。ちょっとイレギュラーなことがあっても、涼しい顔で関数やデータを修正できる——そんなスキルを身に着けましょう!

 

まずはVLOOKUPの基本をおさらい!

そもそもVLOOKUPの名前って知っていましたか? これは、「V=vertical(垂直)」と「lookup(検索)」が組み合わさったもので、「垂直方向に検索する」っていう意味だそうです。私も今回この記事を書くまですっかり忘れていました(笑)。

そんなVLOOKUPですが、一度慣れると使い方はとっても簡単! そのくせ、作業効率をグンと上げてくれるとても賢い関数です。「もちろん知っているよ!」という方も、ちょっと“おいさらい”してみましょう。

 

VLOOKUPの基本的な使い方

分かりやすい例として、「商品名を入れたら自動で値段が出る表」を作ってみましょう。VLOOKUPの基本が詰まった作業ですね。

  1. まずは商品名と価格が載った表を用意します。
    1
    今回はD列とE列に別の表を作り、対象となるセルに数式を入れていきます。今回は「カーテン」と入力したら、自動でB列8,000円と表示させたいので、E2のセルに数式を入力します。
    1
    入力した数式は以下です。

    =VLOOKUP(D2,A:B,2,FALSE)

    「この数式、どんな意味なのか忘れちゃった……」という方にためにちょっと解説。これはつまり、価格表【検索範囲=(A:B)】の中の商品名と、D2に記入された商品名【検索値】が一致した時、価格の列【B=2列目】からデータを参照して、E1に表示するということです。

    =VLOOKUP(カーテンと入力したセル→D2,価格表→A:B,価格の列→2,一致した場合に金額を表示させる→FALSE)

    ※ちなみに、最後のFLASEは検索の型と呼ばれるものです

    日本語にするとちょっと難しいですね……。こういう時は、結果を見るのが一番! では、E1に「カーテン」と入力してみましょう!

  2. できました! あとは商品名を入力すれば、自動で値段が表示されます。VLOOKUPって、やっぱり便利ですね!
    1

 

初心者がハマるVLOOKUPの“落とし穴ポイント”と解決法!

実務で出てくるExcelデータというのは、テキストで提示されるようなキレイなものばかりではありません。「これ、どうやればいいの?」ということも多々あるでしょう。そこでここからは、初心者がハマりがちなVLOOKUPの“落とし穴ポイント”について見ていきます!

 

左端以外をキーにしちゃダメなの?

職場の方から「顧客データに市区町村コードを振りたいんだけど」とお願いされたとしましょう。

1

たとえば「東京都渋谷区」という値(B列)に対して、市区町村コード(F列)を入れたい、といったオーダーだとします。VLOOKUPを知っている人なら「ふむふむ……じゃあまずはネットでググって市区町村コード一覧のファイルを手に入れますかね」と考えますよね? しかし、見つかったデータが以下のようなものだったら……ちょっと困ったことになってしまいます。

1

このデータ、一番左端が市区町村コード(団体コード)になっているんです。VLOOKUPは基本的に、左端の値しかキー(検索値)に設定できないので、このままだと数式を入れてもエラーになってしまいます。Excel初心者だとこの時点で訳が分からなくなってしまし、頭がパンクしてしまうかもしれません……

単純だけど、元データを修正するのが一番!

こうした事態を解決するには、意外にシンプルな方法が有効です! 元データがVLOOKUPのルールに合っていないなら、この際データを加工してルールに合わせてしまえばOK。単純ですが、一番てっとり早い方法ですね。

1

具体的には、まず団体コードが記載されているA列をC列にカット&ペーストするだけ。あとはいつも通りのVLOOKUPを使えばOKです。

1

 

列番号はいちいち手打ちしなくちゃダメ?

1

たとえば、上記の商品データを基に、商品コードを入力すれば商品カテゴリーや商品名、価格が出るようにVLOOKUPを利用したいとします。イメージとしては以下です。

1

この時、とりあえず商品カテゴリーの欄(B列)にはこんな数式を入れる人も多いのではないでしょうか?

=VLOOKUP($A2,商品データ!$A:$D,2,FALSE)

しかし、このまま右方向に数式をコピーしても、「列番号」にあたる「2」は変わりません。そのため、列ごとに「列番号」の「2」の数字を手動で修正しなくてはなりません。

1

今回の例程度であればたいした手間ではありませんが、列数が多いとかなり面倒……いったいどうすればよいのでしょうか?

COLUMN関数との組み合わせでさくっと解決!

対処法にはいろいろありますが、難しすぎず手軽なのが「COLUMN関数」を使った方法です。これは、列番号を自動で取得してくれるというシンプルな関数。数式は以下のように記述します。

=VLOOKUP($A2,商品データ!$A:$D,COLUMN(),FALSE)

上記の数式であれば、自動で列番号が取得されるので手間が減ります。

1

ただし、元データと配列が違う場合には使えないので、VLOOKUPを使う表のレイアウト時にちょっと工夫が必要です。その点だけ、ご注意ください。

 

知っておきたいVLOOKUPのためのチェックポイント!

最後に、基本的ですがミスのしやすいポイントについてもいくつか挙げておきます。VLOOKUPを使っていてエラーや不具合が出た際などは、こうした点をもう一度チェックしてみてくださいね。

  • データに余計なスペースが入っていないか?
    コンピュータはスペース(空白)も文字として認識するので、余計なものが入っていると正しく認識してくれません。
  • 参照範囲のセルが統合されていないか?
    統合されたセルが含まれていると、VLOOKUPが正しく動かないので、事前に解除するようにしましょう。
  • オートフィルを使う時は、絶対参照が適切に設定されているか?
    絶対参照($)が設定されていないと、オートフィルを使った時に検索値や範囲がズレてしまいます。
  • 表示形式が揃っているか?
    検索対象が「文字列」、検索値が「数値」だと、別データとして扱われてしまいます。
  • 検索の型は正しいか?(たいていの場合、FALSEもしくは“0”にしておく)
    検索の型を省略すると「TRUE」に自動で設定されてしまうので、必ず最後まで書きましょう。
  • 範囲は列全体で指定しているか?
    もしも参照データの行が増えてしまった場合、検索範囲から漏れてしまう可能性があります。

いかがでしたか? VLOOKUPがちゃんと使えていると、先輩から「Excelしっかり使えるんだね、安心!」という印象を持ってもらえます。「あれ?なんだかおかしいな?」と思った時は、今回ご紹介した“落とし穴ポイント”をぜひ思い出してみてください。

では、また次回お会いしましょう!

  • facebook
  • twitter