Googleスプレッドシート VLOOKUP関数で検索する

アイキャッチGoogleスプレッドシートVLOOKUP関数 Googleスプレッドシート

今回はGoogleスプレッドシートのVLOOKUP関数について説明します。

VLOOKUP関数は指定した範囲を縦方向に検索し、対応する値を取得する関数です。
社員番号から名前を自動で取得するような使い方ができます。
大量のデータから探したい値を探すときに便利です。

VLOOKUP関数は初めはわかりにくいですが、便利でよく使いますので必ず使いこなせるようになりましょう。

それでは学んでいきましょう。

Googleスプレッドシート VLOOKUP関数で検索する

VLOOKUP関数の使い方

=VLOOKUP(検索値,検索範囲,列番号,検索方法)
指定した範囲を縦方向に検索して対応する値を取得する

・検索値:検索する値を指定

・検索範囲
 検索する範囲を指定
 指定する範囲は必ず一番左の列に検索する列、取得したい列を含んで指定する必要があります。

・列番号
 取得する値がある列の番号を指定
 この列番号は検索範囲の左端を1として、左から数えた数となります。

・検索方法
 TRUEを指定すると近似一致、FALSEを指定すると完全一致となります。
 通常は完全に一致する値を検索する場合がほとんどですのでFALSEを指定します。

 検索方法の引数は省略可能で省略するとTRUEとなります。
 1,0でも指定できます。1はTRUE,2はFALSEと同じになります。

次のように商品IDを入力したら商品リストから商品名・単価(円)を取得したいケースを考えてみます。

Googleスプレッドシート VLOOKUP関数売上表結果

=VLOOKUP(D3,$J$3:$L$7,2,FALSE)
D3を検索値、検索範囲を商品リスト($J$3:$L$7)として検索範囲2列目の値を取得します。

Googleスプレッドシート VLOOKUP関数売上表結果2

商品ID(D列)に入力すると自動で商品リストから商品名・単価(円)を表示されるようになりました。

Googleスプレッドシート VLOOKUP関数売上表結果3

検索範囲の左列に検索値がない場合は「#N/A」と表示されます。
「#N/A」は、「ノーアサイン」と読みます。”使用可能な値がない” というエラー値です。

絶対参照

範囲を指定するときは$J$3:$L$7のように「$」を付けると範囲が固定されます。
絶対参照にしておくとコピーしたときに参照する範囲がずれないのでVLOOKUPで範囲を指定するときは基本的に絶対参照にしてください。
絶対参照にするには範囲指定をしてF4を押すと「$」が付きます。

「検索方法」の完全一致(FALSE)の注意

VLOOKUPは検索範囲を縦に上から検索して初めに見つけた値を取得します。
検索範囲に検索値の値が複数あった場合は上にある値が取得されるの注意が必要です。

例えば、社員名簿を検索範囲として社員名を検索値としてVLOOKUPで検索したときに同姓同名の人がいたときはリストの上の人の値が取得されます。

Googleスプレッドシート VLOOKUP関数社員重複

検索範囲が重複していると意図した検索結果を得ることができません。検索範囲に指定するリストは検索値が重複していないユニークなリストである必要があります。
先ほどの社員名簿で考えると、社員名簿に社員番号を付与してユニークになるようにして、検索値を社員番号してVLOOKで検索すれば意図しない検索結果を防げます。

「検索方法」の近似一致(TRUE)の例

「検索方法」の近似一致(TRUE)を使うときは検索範囲を昇順に並び替えしてから使用します。

近似一致の検索結果は上から検索して検索値と一致した値があればその値を返し、検索値より大きくなればひとつ前の値を返します。言い換えると検索値を超えない最大値を返します。

これだとわかりずらいと思いますので、実際に具体例を挙げて説明していきます。

例:テストの点数からランク付けをする
下記の点数と判定のリストを用意します。

Googleスプレッドシート VLOOKUP関数点数ランク

検索方法:近似一致、検索値:50でVLOOKUPすると検索値を超えない最大値の40に対応するDを返します。

Googleスプレッドシート VLOOKUP関数点数ランク2

コメント