【エクセル】VLOOKUPの使い方と例【Excel】

エクセル(EXCEL)のVLOOKUP関数の使い方と例です。

目次

書式の解説

書式(構文)

書式と説明関数の分類
=VLOOKUP(検索値, 範囲, 列番号, [検索の型])

▼配列の左端列で特定の値を検索し、その行内で移動して、対応するセルの値を返す。
検索・参照
検索値検索する値必須
範囲検索を行う範囲必須
列番号範囲内の検索値に一致する行から、取得するデータが含まれる列の番号必須
検索の型一致モードの指定
TRUE近似値を表示する
FALSE:完全一致。基本的にこれを使用
任意
ポイント
データから指定した値を持つ列から、右方向に検索して行の値を探し出せる関数
完全一致の利用が基本だが、近似値が役立つ場合もある
エラー時の処理はIFERROR関数で

XLOOKUP関数の方が基本的に便利

使い方と使用例

基本的な使い方

次の例は、社員名を使って表から部署を調べる例です。VLOOKUP関数で検索したい値は、一致する行の右側にある必要がある点について注意しておきましょう。

説明

左側の表から、「佐藤花子」さんの部署を調べます

F2に=VLOOKUP(E2,B:C,2,FALSE)を入力

E2→佐藤花子の値が入ったセル
B:C→佐藤花子と一致する「名前」行の行から、検索で持ってきたい値の「部署」までの列の範囲
2→部署の列は、名前の列から数えて2行目なので、2を指定
FALSE→正確に一致した値が欲しいのでFALSE

検索結果の値が表示される

応用テクニック

他のシートを参照して検索

VLOOKUPの検索範囲は、別のシートを参照することができます。シート名は「予算シート!A:B」のように、!をつけて指定しましょう。以下の例は、部署IDを使って、予算シートの予算を持ってくる例です。

部署ID部署名
D1営業部
D2経理部
部署シート
部署ID予算
D1500万円
D2300万円
予算シート
【使用例】
=VLOOKUP("D1", 予算シート!A:B, 2, FALSE)

1:部署IDのD1を使って検索する
2:予算シートを参照したいので予算シート!A:Bのように!を付けて範囲を指定する
3:予算のある列はB列(2行目)なので2を設定
4:完全一致で探したいのでFALSEを設定

結果: 500万円

エラー時の処理を記述する

エラー時の処理を記述するには、IFERROR関数を外側に書き加えましょう。以下は、値が見つからず、エラーになる場合に空白になるようにした例です。

【使用例】
=IFERROR(VLOOKUP(E2,B:C,2,FALSE),"")

1:通常通りVLOOKUPの式を入力
2:VLOOKUPの式をIFERRORで囲い、カンマで区切ってエラー時の処理を追記(今回は空文字""が出力されるように設定)

結果:空文字""が出力される。※「さとう」は表に無いため

VLOOKUPの外側に、IFERROR関数を記述し、「,」を打ってエラー時には「””」(空白)がセルに表示されるように指定しています。もちろん、文字以外にも、エラー時に関数を入れるて別の処理を走らせることもできます。

ワイルドカードを使用した部分一致検索

ワイルドカード(*)を使用すると、VLOOKUPで検索する値を、部分一致した行にすることができます。以下は、社員名が部分的にしか分からない場合に検索する例です。

【使用例】
=VLOOKUP("山田*",B:C,2,FALSE)

1:山田から始まる名前を検索したいので、山田の後に*(ワイルドカード)を設定し、任意の文字が続くセルを探す
2:部署の列を検索できるように残りの値を設定

結果: 営業部

ただし、この方法では、該当者が2人いた場合に、最初に一致した社員の行が抽出されるので、使う際には気をつけましょう。

近似値を検索する

VLOOKUP関数では、一致モードにTRUEを設定すると、近似値を検索できるので、主に数値の近似値を抽出したい際に役立ちます。次の例は、売上からもっとも近いコミッションレートを検索する例です。

【使用例】
=VLOOKUP(D2,A:B,2,TRUE)

1:15000に近い売り上げを検索したいのでD1を検索値に指定
2:範囲を設定し、コミッションレートの2行目の値をとる
3:15000に最も近い値を検索したいので、TRUEを設定し、近似値を得る

結果:7%

大文字小文字を区別しない検索

検索値と検索範囲にLOWER関数を挟むことで、大文字と小文字を区別せずに値を取り出すことができます。入力データがアルファベットでバラバラなデータの際に有効です。

Yamada(山田)さんの社員IDを表から検索する例
【使用例】
=VLOOKUP(LOWER("yamada"),LOWER(A:B),2,FALSE)

1:検索値と検索範囲に、LOWER関数を設定し、検索する値と検索範囲をすべて小文字として関数を当てはめる

結果:1001

検索値と検索範囲を小文字化して、検索しているので、大文字のA列のYamadaを検索して社員IDを取得できています。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次