【Excel 関数】 すぐにわかるVLOOKUPの使い方とエラーの対処方法
janjf93 / Pixabay

はじめに

VLOOKUP 関数は、膨大なデータからあるデータを抽出することが簡単にできる関数であり、Excel 関数で最も使われる関数のひとつです。

しかし、VLOOKUP 関数は、構造が複雑ではじめのうちはなかなかうまく使いこなせず、そのうえエラーが起きる場合もあります。

このページでは、Excel の VLOOKUP 関数の使い方とそのエラーが発生した場合の原因と対処方法をわかりやすく説明します。

スポンサーリンク

VLOOKUP 関数

まずはじめに VLOOKUP 関数の基本的な使い方について説明します。

VLOOKUP 関数の使い方

表記方法
= VLOOKUP(検査値,範囲,列番号,検索方法)

検査値

データから検索する「キーワード」のことです。

範囲

検索するデータ範囲を示します。

列範囲

データ範囲に対して、取得した情報の列番号を示します。

例えば、【氏名】を検査値(キーワード)にした場合の【年齢】の情報を取得しようとします。

その場合、【氏名】の列番号 = 1 に対して【年齢】の列番号 = 2 と指定します。

検査方法

以下の二つの値を指定します。基本的には FALSE でやることをお勧めします。省略した場合は TRUE になります。

  • TRUE
    → 近似一致 (あいまい検索)
  • FALSE
    →  完全一致
※ 近似一致と完全一致の違いについて

VLOOKUP から検索する内容によっては近似値(近い値)が欲しい場合もあります。

例えば下記画面のデータがあり、【値段】が250 の場合【感想】のどの値に近いか検索する場合などには有用です。

※ ただし【値段】は必ず昇順にする必要があります(Excel の仕様)。

具体例

例えば、下記画面のようなデータがあるとします。【氏名】=  ”山田” の情報が欲しい場合どのように表記すればよいのでしょうか?

 

【年齢】の情報を取得する場合は下記のように記述します。

この構成について、以下になります。

  • 検査値 = F2  →  「山田」
  • 範囲 = A2:D6 → データ範囲 (A列2行から D列4行の範囲)
  • 列番号 = 2 → 【年齢】の列番号
  • 検査方法 = FALSE → 完全一致

VLOOKUP を使用する上での注意点

検査値(キーワード)を1列目にすること!

検査値はセル範囲の1列目にしないとエラーが表示されます。

例えば、2列目の【年齢】を検査値とし、セル範囲の2列目にある場合はエラーとなりますのでご注意ください。

IFERROR 関数もセットで使おう(オススメ!)

VLOOKUP で検査値の値がない場合はエラーになります。

しかし、大量のデータからあるデータを抽出する場合、データが存在しないこともあります。

そういった場合には、IFERROR 関数をセットで使うことをお勧めします。

表記方法
=IFERROR(値,エラーになった時の値)

IFERROR と VLOOKUP を使いこなす場合、下記のように記述します。

値の箇所に VLOOKUP 関数の中身を記述し、エラーの場合に "" (何も表示しない)とします。

これを使うと VLOOKUP 関数でエラーが起きた場合も、エラーが表示されることなくありません。

IFERROR をつけていない場合

IFERROR をつけている場合

IFERROR 関数は VLOOKUP 以外の関数においても、エラーが起きた場合に対処できるとても便利な関数なので、ぜひ覚えておいてください。

まとめ

VLOOKUP関数は非常に便利ですが、その分さまざまな制約があります。

VLOOKUP 関数がうまくいかない場合は、MATCH 関数(検査値が含まれる行を取得)と INDEX 関数(指定した行と指定した列のセルの値を取得)を組み合わせても同様に同じ結果が得られますので、ぜひそちらの関数も使いこなせるようになってください。

なお MATCH 関数と INDEX 関数を組み合わせる方法は下記リンクになります。

スポンサーリンク
おすすめの記事