指定範囲から検索条件に一致したデータを返すVLOOKUP関数

1日で学べるスプレッドシートの教科書

シリーズ連載を通して「Google スプレッドシートの基礎」を解説しています。


こんにちは、タマ(@closuppo)です。

今回は「指定範囲から検索条件に一致したデータを返すVLOOKUP関数」について説明していきます。

特定のセル範囲から、条件に一致する単語や数値を調べる方法を学びましょう。


タマ

全シリーズは以下シートにまとめてます



※目次をクリックすると
タイトルの先頭まで移動します(↓)

目次

VLOOKUP関数とは?

VLOOKUP(ブイルックアップ)関数は参照関数の1つです。通称「ブイルック」と呼ばれることが多いです。

範囲の 1 列目で指定したキーを垂直方向に検索し、同じ行内にある指定したセルの値を返します。

例えば、以下図のように元データから「りんご」の売上を返したい時などに使います。

VLOOKUP関数GIF

VLOOKUP関数の使い方

VLOOKUP関数の構文は以下となります。

=VLOOKUP(❶検索値, ❷検索範囲, ❸列番号, ❹[検索の型])

この書式に条件を指定してあげることで必要なデータを返してくれます。

タマ

C2にVLOOKUP関数を入れて「りんご」の売上を返すまでを見ていきましょう!

❶検索値

=VLOOKUP("りんご", 検索範囲, 列番号, [検索方法])

まずは検索値の指定から。

今回は「りんご」の単価を調べたいので「りんご」と指定します。

数式の中で文字を指定するときは「 " (ダブルクォーテーション)」で囲います。(数字やセルを指定する場合は「 " (ダブルクォーテーション)」は必要ありません)

タマ

検索値はセルを指定することもできます!

vl22

❷検索範囲

vl3

=VLOOKUP("りんご", B6:E10, 列番号, [検索方法])

次に、検索範囲の設定です。

「りんご」の「売上」を求めるために検索する範囲を指定します。この指定した範囲の中でしか検索はできないので、今回は「B6:E10」を指定します。

❸列番号

vl6

=VLOOKUP("りんご", B6:E10, 4, [検索方法])

次に列番号を指定します。

「りんご」を検索する列を1列目として 参照したいデータ列を指定 します。

1列目は商品名、2列目は単価、3列目は販売個数、4列目は売上となっていますね。

今回は「売上」を参照したいので「4」を指定します。

❹検索の型

=VLOOKUP("りんご", B6:E10, 3, 0)

最後に検索方法を指定します。

これは、いったん何も考えず「0」としてしてOKです。

検索の型では、 完全一致で検索をする場合は「0もしくはFALSE」、近似一致で検索する場合は「1もしくはTRUE」を指定 します。VLOOKUPでは完全一致で検索するのがほとんどなので、基本的には「0」を入力しておけば問題ないかと思います。


タマ

求めたかった合計金額が返されましたか?


VLOOKUP関数を日本語で読んでみると理解しやすいかと思います。

私の場合、

「りんごを、B6:E10の範囲から検索し、りんごが見つかたら4列目の値を参照する」

といった感じで、心の声で読み上げて関数を設定しています。

ぜひ試してみてください。

vl8

=VLOOKUP(❶検索値, ❷検索範囲, ❸列番号, ❹[検索の型])

  1. 「りんご」を
  2. 「B2:D7」の範囲から検索し
  3. 「りんご」が見つかったら「4」列目を参照
  4. 「0」を指定

VLOOKUPの注意点

VLOOKUP関数では、「検索値」の列が必ず「検索範囲」の左端の列でなければならない というルールがあります。そのため、検索値より左側の列を参照することができません。

例えば下図のような場合、「商品名」の左側にある「売上」は参照できません。その場合は場合はエラー「#N/A」と返されます。

vl19

検索値が検索範囲の1列目でない場合も返すことはできません。

下図は検索範囲の1列目が「商品No」となり検索値「商品名」が2列目になっている例です。検索値より左列は返すことはできません。

vl17

検索範囲に検索値が無い場合もエラー「#N/A」と返されます。

vl20

「検索値」が複数ある場合は上からい1つ目の値が返されます。

例えば、下図のように1列目に「りんご」が複数ある場合は1つ目の「売上」が返され、二つ目以降は無視されます。

vl20

まとめ

  • VLOOKUP関数の書式:=VLOOKUP(❶検索値, ❷検索範囲, ❸列番号, ❹[検索の型])
  • 数式の中で文字を指定するときは「 " (ダブルクォーテーション)」で囲む。 数字やセルを指定する場合は「 " (ダブルクォーテーション)」は不要。
  • 「検索値」の列は必ず「検索範囲」の左端の列でなければならない。
  • 「検索値」より左列は返せない。
  • 検索範囲に「りんご」がない場合はエラー「#N/A」と返される。
  • 検索範囲に「りんご」が複数あるとき、上から一つ目の「りんご」だけが反応する。

指定範囲から検索条件に一致したデータを返すVLOOKUP関数の使い方についてお伝えしました。

大量のデータの中から特定のデータを探すときにはVLOOKUP関数がよく使われています。

使えると格段に作業効率が向上しまので、必ず覚えるようにしましょう。



1日で学べるスプレッドシートの教科書

教科書スケジュール2

シリーズ連載を通してスプレッドシートの基礎をまとめてます。

手順通りに学習を進めていけば1日でスプレッドシートの基礎を学べます。

データ入力の基礎

表示形成の変更

行・列の操作

シートの操作

集計の基礎

はじめに覚えておきたい6関数