- VLOOKUP関数ってどうやって使うのだろう?
- エラーが出てしまう・・・
そんなときのお役に立てるようこの記事では、
- VLOOKUP関数の基本
- 少し応用的なVLOOKUP関数の使い方
- VLOOKUP関数でのエラー
について解説しています。
どんな会社でも使用頻度の高いVLOOKUP関数。是非マスターしておきましょう!
初心者でもわかるVLOOKUP関数の基本
VLOOKUP関数とは?
VLOOKUP関数とは、指定した値を検索してくれる関数です。
例えば下記の表からりんごの価格を知りたい場合、どのように目を動かしますか?
果物名を上から下に見ていって、一致したものがあれば横に目を動かしますよね。
まさにこの動きをやってくれるのがVLOOKUP関数です。
VLOOKUP関数の型
VLOOKUP関数は、
=VLOOKUP(検索値,範囲,列番号,[検索方法」)
という形で使用します。
検索値とは、何について検索したいかということです。先ほどの例であれば「りんご」が検索値にあたります。
範囲とは検索対象とする表の範囲のことです。先ほどの例ですとB2~C10セルに表があったので、B2:C10が範囲となります。
列番号とは、検索対象が見つかったときに何列目の値を返すか?ということです。先ほどの例ですと「りんご」が見つかったら2列目の「¥100」を返してほしいので、「2」が列番号となります。
検索方法についてはTRUE or FALSEを指定(もしくは1か0)するのですが、FALSEを指定すると覚えておいて頂いても問題ないくらいです。
検索値に対して完全に一致しなくてもOKとするか、完全に一致した場合のみOKとするかという指定になりますが、VLOOKUP関数を使用する際、基本的に完全に一致した場合の検索を求めていると思いますので、
最後はFALSE
で問題ありません。
VLOOKUP関数の具体例
では、注文表の単価の部分に価格表から価格を検索して入力したいという例で数式を作ってみます。
まずC4セルを選択し、=VLOOKUP(
という数式を作っていきます。
最初は検索値です。「りんご」が入っているB4セルを指定します。
次に範囲です。今回だと価格表が対象なので、G4~H11ですね。
数式をコピーして適用するために範囲は$マークをつけて絶対参照にするのを忘れないようにしましょう。
次に列番号です。今回、果物が見つかったら価格を返してほしいので列番号は2ですね。
最後の検索方法については先ほど説明の通り、FALSEを指定します。
りんごの単価を取得することができました!
あとは数式をコピーして他のセルにも適用しましょう。
VLOOKUP関数ちょっと応用
VLOOKUP関数の基本的な使い方について解説してきましたが、少し応用的な使い方についてもご紹介したいと思います。
別シートを参照したVLOOKUP関数
VLOOKUP関数は、検索する対象の表が別のシートにある場合でも問題無く使用することができます。
例えば、
- Sheet1に注文表
- Sheet2に単価表
があり、注文表の単価欄に検索した価格を入力したいという場合です。
このような場合でも通常通りVLOOKUP関数の数式を作成しますが、範囲指定のところで別シート(今回だとSheet2)を選択し指定する必要があります。
そしてSheet2を選択した状態でVLOOKUP関数の数式を完成させましょう。
Sheet2で範囲選択をした後にSheet1に切り替えてしまうと、数式に余計なものが入り分かりにくくなってしまうので注意しましょう。
別シートを参照するときのVLOOKUP関数の使い方については、下記の記事で詳しく説明しているので是非ご参考ください。
VLOOKUP関数で条件に合うものを全て抽出
基本的に、VLOOKUP関数で取得できる値は1つだけです。
検索値にあてはまるデータが2つ以上あっても1つしか抽出されないことは下記の例からも分かります。
複数の値を抽出したい場合、VLOOKUP関数単独ではできないので他の関数と組みあわせる工夫が必要になります。
具体的にはCOUNTIF関数と組み合わせますが、事前に連番をつける準備も必要となります。
最終的には下記のように、部署名を入れるとその部署全員が抽出される表を完成することができます。
途中の手順については下記の記事で詳しく説明しています。また、VLOOKUP関数でやろうとすると少し複雑になるため、より簡単なピボットテーブルを使う方法についても紹介しているので是非ご参考下さい。
【エクセル】VLOOKUP関数で条件に合うものをすべて抽出!
IF関数とVLOOKUP関数の組み合わせ
IF関数と組み合わせることで条件によって抽出対象の表を分けたり、特定の条件に当てはまるものだけを抽出することができます。
例えば、一般の人と管理職の人で抽出したい表を分けたいような場合です。
E3セルに入力する数式の結論としては、下記の通りです。
IF関数で場合分けをしたところに、VLOOKUP関数を入れています。数式をコピーして適用すると下記の通り、それぞれの表から適切に値を抽出できるようになります。
また、VLOOKUP関数で抽出した値を基にIF関数で分岐したい場合もあります。
下記のような場合ですね。
このような場合は、IF関数の最初の部分にVLOOKUP関数を入れることで実現可能です。
IF関数とVLOOKUP関数の組み合わせについては下記の記事で詳しく解説しています。
VLOOKUP関数でのエラー対処方法
VLOOKUP関数を使用する際に発生する主なエラーとしては下記のようなものがあります。
#N/Aエラー
#VALUE!エラー
#NAME?エラー
#REF!エラー
エラーがでると焦ってしまいますが、それぞれの意味を理解しておくことで適切な対処を行うことができます。
一概には言えないところもあるのですが、ざっくりとまとめると下記の通りです。
エラー名 | 意味 | 対策 |
#N/Aエラー | 適切な値が無い | 検索対象の表に検索値を追加する |
#VALUE!エラー | 数式に誤りがある | 数式を正しく修正する |
#NAME?エラー | 関数名が間違っている | 関数のスペルを見直す |
#REF!エラー | 無効なセルを参照している | 参照を正しく修正する |
1つ1つの詳しい解説についての記事は、下記の記事を参考にして下さい。