エクセルを利用する上で覚えておきたい関数の一つに、「VLOOKUP関数」が挙げられます。VLOOKUP関数はデータ検索を簡単に実装するための関数であり、利用頻度も多く非常に便利な関数です。しかし、使い方がわかりづらい関数としても有名であり、「上手に使いこなせない」という方も多いのではないでしょうか。
この記事では、VLOOKUP関数の基本的な使い方から、利用用途、エラーが起きたときの対処方法などをわかりやすく解説します。
エクセルのVOOKUP関数とは?
VLOOKUP関数は、表データを縦方向に検索し、値が一致した行の指定した範囲のデータを返す関数です。大量のデータを検索して入力する場合、手入力では効率が悪く、ミスが発生する可能性もあります。その際にVLOOKUP関数を使うと、効率的にエクセルを利用できるようになることから、実務でも頻繁に利用される関数です。
似たような関数にHLOOKUP関数やXLOOKUP関数が存在しますが、それぞれ次のような違いがあります。
- VLOOKUP関数:縦(Vertical)方向に表データを検索し、値を返す関数
- HLOOKUP関数:横(Horizontal)方向に表データを検索し、値を返す関数
- XLOOKUP関数:VLOOKUP関数とHLOOKUP関数の機能を備えた新しい関数
このなかでも、VLOOKUP関数を利用する頻度は特に高く、まずはVLOOKUP関数から覚えるのがおすすめです。XLOOKUP関数はOffice365向けに新たに実装された関数であり、利用するOfficeのバージョンによっては利用できない可能性があります。
VLOOKUP関数が活かせる場面
VLOOKUP関数が活かせる場面としては、おもに次のような場面が考えられます。
- 在庫管理データから商品の価格や在庫数などの情報を検索する
- データ入力業務において入力漏れなどが発生していないか確認する
例えば、次のような売上記録を入力する場合、商品番号と販売個数から商品名や売上の記録を手入力すると、効率が悪くミスが発生する可能性があります。そのため、VLOOKUP関数を利用して売上記録の商品名や売上を自動的に入力してみましょう。
VLOOKUP関数を利用することで、商品一覧から商品番号を検索し、自動的に商品名と売上を入力できるようになりました。もし商品一覧の商品名や単価が変更になっても、売上記録の商品名と売上は検索した結果を表示しているため、変更後も自動的に反映されます。
このように、VLOOKUP関数を利用することでエクセルを便利に利用できます。
VLOOKUP関数の書式
=VLOOKUP( 検索値, 検索範囲, 戻り値を含む列番号, 検索方法 )
- 検索値:検索する値を入力、おもに検索値のセルを指定
- 検索範囲:検索値が含まれるセルの範囲を指定
- 戻り値を含む列番号:検索範囲から取り出したいデータの列番号を指定
- 検索方法:完全一致(0/FALSE)または近似一致(1/TRUE)を指定
VLOOKUP関数を利用する際には、検索値・検索範囲・戻り値を含む列番号の3つの引数は、必ず指定する必要があります。検索方法は省略でき、省略した場合は近似一致(1/TRUE)として扱われます。
検索方法の完全一致と近似一致の違いは、検索値との比較方法です。例えば検索値が”50”の場合、完全一致では検索範囲から50に該当するデータのみを抽出します。近似一致の場合は、50に近い数値“49”などでもデータを抽出します。
書式入力例
先程の例を参考に、VLOOKUP関数の書式入力例を見てみましょう。商品名を検索するVLOOKUP関数は次のとおりとなっています。
=VLOOKUP($C4, $H$3:$J$10, 2, FALSE )
$マークは、計算式をコピーしたときなどに、ずれないように固定することを表すマークです。「$C4」はC列を固定し、行数はコピーするたびに変更されるようになっています。検索範囲は常に固定しておきたいため、「$H$3:$J$10」となり、列と行のどちらも動かないようになっています。
商品名は検索範囲の左から2番目であるため「2」を指定し、検索方法は完全一致となるよう「FALSE」を指定しました。このときの注意点として、検索方法を近似一致で検索範囲のソート方法を変えると、結果が異なってしまいます。
原則として、VLOOKUP関数を利用する際には検索方法には完全一致を利用し、検索範囲は左端(例の場合は商品番号)でソートをかけておくことを意識しましょう。
\文字より動画で学びたいあなたへ/
Udemyで講座を探す >エクセルのVLOOKUP関数の使い方
ここからは、もう少し踏み込んだVLOOKUP関数の使い方の例を紹介します。
別シートを参照
VLOOKUP関数では、別シートの情報を参照することも可能です。例えば、先程の例の「商品一覧」を別シートに作成し、検索範囲として参照することができます。
別シートを参照する場合は、「シート名!」をセルの前につけることで参照できます。関数を入力する際には、範囲を指定する際に別シートを選択して、範囲をドラッグ&ドロップすることで自動的に入力されます。
実業務で利用するエクセルでは、シートごとに情報を分けて入力することが多く頻繁に利用されるため、別シートの参照方法は覚えておきましょう。
複数条件を指定
原則としてVLOOKUP関数では、1つの条件でしか検索ができません。より具体的にいうと、検索範囲の左端の列しか検索値として利用できないということです。しかし、複数の条件を結合したデータを用意することで、複数条件による検索を実現できます。
例えば、次のようなデータから「東京都在住の男性」を抽出したい場合、複数の条件を設定する必要があります。
このような場合には、検索範囲の左端に新たに列を追加し、条件を組み合わせて新しい検索値を作成しましょう。
複数の条件であっても検索値は1つであるため、VLOOKUP関数を使ってデータを抽出することが可能です。
ただし、「東京都在住の男性」が複数いる場合などにはこの方法では対応できません。このようなデータの抽出方法は、VLOOKUP関数の使い方としてもあまり頻度は高くなく、エクセルの標準のデータの抽出機能を用いるのが一般的です。しかし、VLOOKUP関数の応用方法として、覚えておくとよいでしょう。
エラーを表示させない(IFERROR関数)
VLOOKUP関数を利用する際、検索値が検索範囲にない場合は「#N/A」と表示され、エラーとなります。検索方法が完全一致の場合に起こるエラーですが、表示させないようにすることも可能です。
エラーを表示させないようにするためには「IFERROR関数」を利用します。IFERROR関数はエラー時に表示する文字列を指定できる関数です。
“=IFERROR(値, エラー時に表示する文字列)”
VLOOKUP関数と組み合わせれば、検索値が存在しない場合でもエラーを表示させないようにできます。
“=IFFERROR(VLOOKUP関数, エラー時に表示する文字列)”
請求書や見積書などの見栄えが重要な書類の作成では、このような細かな対応も求められることが多いため、覚えておくとよいでしょう。
VLOOKUP関数でエラーが起きたときの原因と対処法
VLOOKUP関数は使い方が少々難しいため、エラーが発生してしまうこともあるでしょう。VLOOKUP関数を利用する上で、よくエラーが発生する原因としては次のようなものが挙げられます。
- 検索値が検索範囲に含まれていない
- 検索値が検索範囲の左端に無い
- 列番号が検索範囲を超えている
- 半角の「~」を利用している
- ソートができていない
など
最も多いエラーは「#N/A」であり、多くは検索値と検索範囲の指定を誤っていることが原因です。また、VLOOKUP関数では検索範囲の左端を検索のキーとするため、この点も覚えておきましょう。
加えて、検索値が存在していても想定通りの結果が返ってこないことも珍しくありません。その場合には、検索値に半角の記号を使っていないか、ソートがきちんとできているかをチェックします。エクセルでは半角と全角を明確に分けているため、検索値には半角を利用しないことをおすすめします。VLOOKUP関数の検索方法は近似一致(1/TRUE)がデフォルトであることからも、未ソートによる誤った検索結果が表示されることも珍しくありません。
VLOOKUP関数でエラーを発生させないようにするためには、次に挙げることを重点的に意識するとよいでしょう。
- 検索値と検索範囲をしっかりと指定する
- 検索値と検索範囲に「$」マークをつけて範囲の固定を行う
- 検索値に半角記号を入力しない
- 検索範囲の左端を基準にソートをかける
- 原則として検索方法は完全一致(0/FALSE)を利用する
これらを意識してVLOOKUP関数を利用することで、エラーが発生する可能性を大きく減らせます。もしもエラーが発生したら、前述のチェックポイントをもとに一つずつ確認してみましょう。
VLOOKUP関数とは、表データを縦方向に検索し、値が一致した行の指定した範囲のデータを返す関数です。商品の価格や在庫数などの情報の検索や、データ入力において入力漏れが無いことのチェックなどに利用します。
VLOOKUP関数は一見難しそうに見えますが、仕組みを理解すれば難しいものではありません。エクセルを効率的に使うのに大いに役立つ関数であるため、この記事を参考に、ぜひ使い方を覚えてみてくださいね。
最新情報・キャンペーン情報発信中