VLOOKUP関数の使い方と注意点【初心者向け】|行全体抽出
ここでは、エクセルの「VLOOKUP関数の基本から応用的な使い方」までを、初心者でも分かりやすいように解説します。
まず、このページではVLOOKUP関数とはどのような関数か、基本的な動きや使い方、数式の作り方や注意点を説明します。
1.VLOOKUP関数とは?動きを確認
始めに、VLOOKUP関数とはどのような関数か、動きを含めて確認します。
1-1.VLOOKUP関数とは?を分かりやすく
VLOOKUP関数とは、「範囲で指定した一番左の行を検索して、任意の列のセルの値を取得する」ことができる関数です。
もっと簡単に言うと、「表から条件に合う任意の値を抜き出すことができる」のです。
VLOOKUPの利用例は、次の通りです。
- 「社員№」から「氏名」や「住所」を抽出する
- 「製品番号」をもとに「単価」を抜き出す
- 「製造ロット№」から「検査データ」を表示させる
共通するのは、「『ユニークな(他にはない)値』で検索し、該当するデータの値を求める」ことです。
他の関数でも同じことはできますが、VLOOKUP関数は引数が少なく分かりやすいので、使用頻度が多い関数の一つです。
1-2.VLOOKUP関数の動きを確認
VLOOKUP関数がどんな動きをするか、例で見てみましょう。
上の表は、都道府県と県庁所在地のリストです。
それぞれ、固有の№(A列)をふられた状態で入力されています。
VLOOKUP関数を使えば、この表から「指定した№の都道府県名と県庁所在地」を取得することができます。
セルE2に№「2」を入ると、該当する都道府県名と県庁所在地がセルF2とG2に表示されるようになりました。
ちなみに、№を他の値に変えると、セルF2とG2の値もそれに対応して変わります。
このように、VLOOKUP関数は「表から条件に合う行の任意の値を抽出」することができる関数なのです。
1-3.動きをもっと詳しく知る
次に、VLOOKUP関数の動きをもっと詳しく見てみましょう。
VLOOKUP関数では、まず「元データの範囲」を指定します。例の場合は、「A2からC7」の範囲のことです。
そして、元データの範囲の一番左端の列(例の場合は「A列」)に対して、条件値の検索をかけます(①の動き)。
先ほどの例だと、検索値が「2」だったので、A列で「2」がないかを探します。
次に、検索値が見つかったら、その行の指定した列の値を取りに行きます(②の動き)。
例の場合には、「2列目」と指定すると都道府県名が、「3列目」と指定すると「県庁所在地」が取得できます。
縦に検索して横の値をとりに行く、これがVLOOKUP関数の動きです。
2.VLOOKUP関数のメリット・デメリット
VLOOKUP関数と同じ動きをする「INDEX関数とMATCH関数の組み合わせ」と、メリット・デメリットを比較してみます。
1-4.VLOOKUP関数のメリット
VLOOKUP関数のメリットは、次の通りです。
- 引数が少なくて使いやすい(数式が短い)
- なにを求めているかが分かりやすい(認知度の差)
VLOOKUP関数の引数は4つで、INDEX+MATCHは5つ。また、INDEX+MATCHは2つの関数を組み合わせるのでその分VLOOKUP関数のほうが分かりやすいです。
また、認知度はVLOOKUP関数のほうが高いので、一見して何を求めているのかも分かりやすいです。
1-5.VLOOKUP関数のデメリット
対して、VLOOKUP関数のデメリットは次の通りです。
- 検索列の指定ができない
VLOOKUP関数のデメリットは、「条件値を検索したい列の指定ができない」ことです。
VLOOKUP関数では、「検索列は元データの範囲の『一番左の列』」と決まっています。
もし一番左の列が検索したい列でなかった場合には、VLOOKUP関数は使えません。INDEX+MATCHを使うことになります。
このような、メリットとデメリットを踏まえてVLOOKUP関数とINDEX+MATCHを使い分かるのがよいでしょう。
3.数式の形と意味の読み取り方を知る
次に、VLOOKUP関数の数式の形と、意味の読み取り方を見ていきます。
3-1.VLOOKUP関数の数式の形は?
VLOOKUP関数の数式の形は、次の通りです。
このように、VLOOKUP関数で必要なのは「探す値(=検索値)」、「表全体の範囲(=範囲)」、「値を抽出する列の番目(=列番号)」、「『完全一致検索』か近似値検索』か(=検索方法)」の4つです。
3-2.数式の例と意味の読み取り方
数式の形が分かると、数式の意味も分かるようになります。
例えば、次の数式があるとします。
この場合、検索値は「E2」で範囲は「A2:C7」、列番号は「2」で検索方法は「FALSE」です。
このことから、数式は「A2からA7でセルE2の値を完全一致で検索し、A2からC7の範囲の2列の値を取得する」という意味になります。
このように、数式で何を求めているかを理解するには、先ほどの数式の形と照らし合わせて考える必要があります。
4.VLOOKUP関数の使い方-数式を作る
では次に、VLOOKUP関数を実際に使って「条件に合うデータ」を抜き出してみましょう。
この表から、セルE2に入力した№を検索値として、その都道府県名を、セルF2に取得してみます。
ちなみに、各引数の入れ方は後で別に説明します。
以下手順です。
(1)セルに「=VLOOKUP(」と入力後、「fx」ボタンを押す
(2)ダイアログの各欄に各引数を入力する
(3)OKボタンを押せば完了
この後は、それぞれの引数に注目してみてみます。
5.引数の指定の仕方・入れ方を分かりやすく
では、引数ごとの指定の仕方を見てみましょう。
5-1.「検索値」の指定の仕方・入れ方
検索値には「探したい値」を指定します。
検索値の指定の仕方は「値の型」ごとに変わり、次の通りです。
(1) 文字列、日付、時刻の場合
検索値を文字列や日付、時刻にする場合には、値を「"」で囲みます。
数式の例は、それぞれ次の通りです。
- 文字列:=VLOOKUP("青森県",A2:C7,2,FALSE)
- 日付:=VLOOKUP("4/1",A2:C7,2,FALSE)
- 時刻:=VLOOKUP("9:00",A2:C7,2,FALSE)
(2) 数値、セル番号の場合
検索値を数値やセル番号にする場合には、そのまま入力すればOKです。
数式の例は、それぞれ次の通りです。
- 数値:=VLOOKUP(2,A2:C7,2,FALSE)
- セル番号:=VLOOKUP(A1,A2:C7,2,FALSE)
なお、検索値をセル番号にし、作った数式を他のセルにコピーする場合には、F4キーを1回押して「$」を2つ付け、絶対参照にすると便利です。
5-2.「範囲」の指定の仕方・入れ方
範囲には「表全体」を指定します。
ポイントは、次の通りです。
- 指定の形は「上のセル番号:下のセル番号」
- タイトル行は一般的に含まない
- 検索値を探す列を必ず1番左にする
- 数式をコピーして使う場合には「$」で絶対参照にする
指定の形は「A4:C8」のようになります。
また、タイトル行は一般的に含めません。
そして一番のポイントは、「検索値を探す列を『範囲』の一番左にする」ことです。これにより、VLOOKUP関数は「検索値を探す列」の指定を省いています。
他のセルに数式をコピーする場合には、検索値と同じようにF4キーを1回押して「絶対参照」にします。
なお、範囲の入力は「マウスの左ドラッグ」が簡単です。
5-3.「列番号」の指定の仕方・入れ方
列番号には「『範囲』の中で抽出したい列(=横)の番号」を指定します。
ポイントは、次の通りです。
- 「範囲」の中での番号(〇番目)を入れる
エクセル全体の列番号ではなく、先ほど指定した「範囲」の中での列番号を指定します。
言い方を変えると、「範囲の中で何番目の列の値を欲しいか?」を「数値」や列番号を返す「COLUMN関数」、または数値の入った「セル番号」などで指定します。
5-4.「検索方法」の指定の仕方・入れ方
検索方法は、検索値を「完全一致」で検索するか、「近似値一致」で検索するかを指定します。
完全一致は「検索値と同じ値を探す」ことで、近似値一致は「検索値と近い値を探す」ことです。
ポイントは、次の通りです。
- ほとんどの場合、「完全一致検索」で「FALSE」と入れる
- 「近似値一致検索」は「TRUE」と入れる
なお、ほとんどのケースで検索方法は「FALSE」です。ちなみに、ここは手入力です。
近似値一致は、使い方にちょっと複雑なポイントがあります。近似値検索を知りたい場合には、以下のページを参考にしてください。
6.VLOOKUP関数の注意点
最後に、注意点をまとめます。
6-1.「範囲」は検索列を左端にする
範囲は、「検索したい列が必ず左端になる」ように指定します。
でないとエラーになります。
ただ、表のつくりによっては検索列を左端にできない場合もあると思います。
そんな時には、INDEX関数とMATCH関数の組み合わせを使います。
INDEX関数とMATCH関数の組み合わせの説明については、以下を参考にしてください。
⇒ 「エクセル INDEX+MATCH関数の使い方」のページへはこちら
6-2.検索値が複数該当する場合は最上段が優先される
VLOOKUP関数では、「検索値にヒットした値が2つ以上あった場合、最も上のセルが優先」されます。
例えば、№が全て「2」で、検索値も「2」だった場合、一番上の行の値が返ってきます。
ちなみに、VLOOKUP関数で「条件に該当する2番目、3番目の値を取得したい」場合には工夫が必要です。
次のページでその方法を解説していますので、参考にしてください。
⇒ 「VLOOKUP関数で2番目、3番目以降の値を抽出する方法」のページへはこちら
以上、参考になれば幸いです。
次のページでは、「VLOOKUP関数で『〇以上△未満』の範囲の条件で検索する方法」を解説しています。
【口コミ・評判のいいExcel本の紹介】
VLOOKUP関数のその他の記事はこちらです。
- VLOOKUP関数その他の記事はこちら
- ◎基本的な使い方
- ◎「以上/未満」の条件指定の仕方
- ◎〇番台の条件にする方法
- ◎部分一致の条件指定の仕方
- ◎別シートから値を抜き出す方法
- ◎別ブックから値を抜き出す方法
- ◎数式コピーで横方向の値を簡単に取得する方法
- ◎2番目、3番目以降の値を抽出する方法
- ◎#N/Aエラーになる3つの原因と対処方法
- ◎#REF!エラーになる原因と対処方法
- ◎#VALUE!エラーになる原因と対処方法
- ◎空白を0ではなく空白で表示する2つの方法
- ◎「IF(ISERROR(VLOOKUP」の意味と使い方
- ◎IFERROR関数とVLOOKUPの組み合わせ方
- ◎空白でもエラーでも空白で表示する方法
- ◎複数条件にする方法
- ◎セルや範囲を固定しコピーのズレを防ぐ方法
- ◎文字列を条件にする方法
- ◎列番号の意味と指定の仕方