【Excel・エクセル】VLOOKUP関数の使い方|検索して抽出する関数

抽出,検索

VLOOKUP関数のイメージ
もりの

社員Noを使って、社員名簿表から社員名を取り出せないかな?

やまの

それなら、VLOOKUP関数を使うんよ。

今回のポイント
  • 検索値を元に別の範囲から値を抽出できるのが、VLOOKUP関数
  • VLOOKUP(この値をもとに,この中の,左から何番目を抽出して,基本0でOK)
  • IF関数などと組み合わせて使うことも

スポンサーリンク

【Excel・エクセル】指定した値を検索して抽出する、VLOOKUP関数

VLOOKUP関数は指定した値をもとに、別の範囲から検索して値を抽出してくれる関数です。

やまの

これができれば、エクセル得意ですって言えるような関数だね!

もりの

なんかイメージできるような、できないような。

ちなみに、読み方は「ブイルックアップ関数」です。

「V」はvertical(垂直)の頭文字で、「LOOKUP」は調べるという意味です。

VLOOKUP関数の使い方

VLOOKUP関数の書き方

=VLOOKUP(検索値,範囲,列番号,検索方法)

検索値この値が
範囲この範囲にあったら
列番号左から数えてこの数番目にある値を教えて!
検索方法検索値と全く一緒じゃないとダメか、似てるもでいいのか

次の表の社員Noをもとに、社員名簿から社員名をVLOOKUP関数を使って取り出してみましょう。

※実際に操作できます。

いちいちスクロールするのは面倒なので、別タブか別ウィンドウで開くの推奨です!

うみの

……全員打楽器だぞ?

やまの

=VLOOKUP(A3,E:F,3,0)で求められるよ。説明するね。

ステップ1

まずは関数名を書きます。

セルB3に、「=VLOOKUP(」と入力してください。

「=VLOOKUP(」まで入力した画像
まずは関数名

ステップ2

最初は検査値、探す基準になる値を決めます。

これは元の表と共通してある項目を選びます。

今回はどちらも社員Noがあるので、この項目が使えそうです。

VLOOKUP関数の検索値を指定する画像
検索値はどちらの表にもある値

社員No1の社員名を知りたいので、社員Noが書かれたセルA3をクリックして「,」を入力します。

検索値を選んだ画像
この数値を

ステップ3

次に範囲。

検索値と取り出したい値が含まれた範囲を選択します。

今回は社員名簿を使うのでF列~G列を列選択して「,」が良さそうです。

この範囲から探して
やまの

この「範囲」には、1つルールがあるんよ。

それは、範囲は必ず検索値が一番左になるよう選択すること。

今回は社員Noを検索値にしているので、社員Noが一番左になるように、F~G列を選択しています。

VLOOKUP関数の範囲の決め方
範囲は検索値が一番左に来るように!
範囲のNG例
検索値が左じゃないからダメ!

範囲は「E3:G7」と表の範囲を選択してもいいです。

が、オートフィルするとズレるので絶対参照にしておきましょう。

範囲は列選択でなく、こうしてもOK

ただこれだと、新しい社員が増えるなどで社員名簿が追加されると、範囲を広げる必要があります。

もりの

オートフィル?絶対参照??

やまの

詳しくは、別のページでお話しするね!

ステップ4

お次は列番号、範囲の左から何番目の値を取り出したいかです。

取り出したい社員名は、社員Noから数えて3番目にありますね。

「3」と入力し、「,」です。

VLOOKUP関数の列番号の考え方
検索値も含めて何番目か

ステップ5

最後の検索方法は「0」でOKです。

0(FALSE)は「完全一致」、1(TRUE)は「近似一致」ってことです。

VLOOKUP関数の検索方法を0にした画像
基本は0でOK
もりの

どう違うの?

完全一致検索値と検索先の値が全く同じときだけ、値を抽出できます。
検索値が田中太郎さんなら田中太郎さん、10なら10の時だけ反応します。
近似一致検索値と同じでなくても、近い値だったら抽出します。
検索値が田中太郎さんでも田中次郎さんを、検索値が10でも9や11など近い数値を抽出することがあります。

今回は近かろうと別人の名前を出すわけにはいかないので、完全一致にしています。

完成!

これで式は完成なので、Enterを押してください。

社員No1の社員名、もりのが抽出できましたね!

VLOOKUP関数で値を取り出した画像
社員Noから社員名が抽出できた
もりの

ふっふっふ……僕が社長だぞー!

VLOOKUP関数で複数条件を指定するには

VLOOKUP関数の検索値は1つです。

では例えば、関東地区かつ大型店舗の売上を知りたい!など、複数の条件に合う値を抽出したいとき、VLOOKUP関数は使えるのでしょうか。

やまの

複数の条件をまとめたセルを作ればいいんよ!

強引な感じもしますが、条件となる複数のセルを&でつなげたセルを作ります。

そのセルを範囲の一番左にすればいいのです!

条件のセルを&で繋げた画像
条件のセルを&で繋げる
やまの

詳しいやり方は、こっちのページを見てね!

VLOOKUP関数の範囲に別シートを指定する

範囲には、他のシートや別のエクセルファイルも指定できますよ。

さっきの社員名簿が別シートに合った場合。

社員名簿シートが別にある場合
別シートの社員名簿を範囲に使いたい

ステップ1

範囲を選ぶ際、別シートをクリックします。

単価表は別シートにある

ステップ2

そのまま必要な範囲を選択します。

範囲の前に「社員名簿!」とついていますね。

別シートを参照した画像
社員名簿シートの、A~C列ってこと
もりの

気合入ってるワケじゃないのか。

ステップ3

あとは同じく左から数えて「3,0」でOK。

Enterを押せば、さっきと同じ結果になりましたね。

違うシートから単価を検索して抽出できた画像
違うシートから単価を検索して抽出できた
やまの

「!」を間違って消さないように気を付けてね。

【Excel・エクセル】VLOOKUP関数とIF関数の組み合わせ

VLOOKUP関数とIF関数を組み合わせると、VLOOKUP関数の結果を条件にしたIF関数にしたり、空白セルを無視してVLOOKUP関数ができたりします。

前者の書き方は「=IF(VLOOKUP(~),○,×)」、後者の書き方は「=IF(○="","",VLOOKUP(~)」です。

やまの

詳しくは、こっちのページで紹介するね。

これで例えば、売上表の製品の価格を価格表から抽出したり、部活動員名簿からだれが何部に所属しているかを抽出したりできますね!

それでは、お疲れさまでした!

今回のポイント
  • 検索値を元に別の範囲から値を抽出できるのが、VLOOKUP関数
  • VLOOKUP(この値をもとに,この中の,左から何番目を抽出して,基本0でOK)
  • IF関数などと組み合わせて使うことも