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


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

それなら、VLOOKUP関数を使うんよ。
- 検索値を元に別の範囲から値を抽出できるのが、VLOOKUP関数
- VLOOKUP(この値をもとに,この中の,左から何番目を抽出して,基本0でOK)
- IF関数などと組み合わせて使うことも
【Excel・エクセル】指定した値を検索して抽出する、VLOOKUP関数
VLOOKUP関数は指定した値をもとに、別の範囲から検索して値を抽出してくれる関数です。

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

なんかイメージできるような、できないような。
ちなみに、読み方は「ブイルックアップ関数」です。
「V」はvertical(垂直)の頭文字で、「LOOKUP」は調べるという意味です。
VLOOKUP関数の使い方
=VLOOKUP(検索値,範囲,列番号,検索方法)
検索値 | この値が |
範囲 | この範囲にあったら |
列番号 | 左から数えてこの数番目にある値を教えて! |
検索方法 | 検索値と全く一緒じゃないとダメか、似てるもでいいのか |
次の表の社員Noをもとに、社員名簿から社員名をVLOOKUP関数を使って取り出してみましょう。
※実際に操作できます。
いちいちスクロールするのは面倒なので、別タブか別ウィンドウで開くの推奨です!

……全員打楽器だぞ?

=VLOOKUP(A3,E:F,3,0)で求められるよ。説明するね。
ステップ1
まずは関数名を書きます。
セルB3に、「=VLOOKUP(」と入力してください。

ステップ2
最初は検査値、探す基準になる値を決めます。
これは元の表と共通してある項目を選びます。
今回はどちらも社員Noがあるので、この項目が使えそうです。

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

ステップ3
次に範囲。
検索値と取り出したい値が含まれた範囲を選択します。
今回は社員名簿を使うのでF列~G列を列選択して「,」が良さそうです。


この「範囲」には、1つルールがあるんよ。
それは、範囲は必ず検索値が一番左になるよう選択すること。
今回は社員Noを検索値にしているので、社員Noが一番左になるように、F~G列を選択しています。


範囲は「E3:G7」と表の範囲を選択してもいいです。
が、オートフィルするとズレるので絶対参照にしておきましょう。

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

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

詳しくは、別のページでお話しするね!
ステップ4
お次は列番号、範囲の左から何番目の値を取り出したいかです。
取り出したい社員名は、社員Noから数えて3番目にありますね。
「3」と入力し、「,」です。

ステップ5
最後の検索方法は「0」でOKです。
0(FALSE)は「完全一致」、1(TRUE)は「近似一致」ってことです。


どう違うの?
完全一致 | 検索値と検索先の値が全く同じときだけ、値を抽出できます。 検索値が田中太郎さんなら田中太郎さん、10なら10の時だけ反応します。 |
近似一致 | 検索値と同じでなくても、近い値だったら抽出します。 検索値が田中太郎さんでも田中次郎さんを、検索値が10でも9や11など近い数値を抽出することがあります。 |
今回は近かろうと別人の名前を出すわけにはいかないので、完全一致にしています。
完成!
これで式は完成なので、Enterを押してください。
社員No1の社員名、もりのが抽出できましたね!


ふっふっふ……僕が社長だぞー!
VLOOKUP関数で複数条件を指定するには
VLOOKUP関数の検索値は1つです。
では例えば、関東地区かつ大型店舗の売上を知りたい!など、複数の条件に合う値を抽出したいとき、VLOOKUP関数は使えるのでしょうか。

複数の条件をまとめたセルを作ればいいんよ!
強引な感じもしますが、条件となる複数のセルを&でつなげたセルを作ります。
そのセルを範囲の一番左にすればいいのです!


詳しいやり方は、こっちのページを見てね!
VLOOKUP関数の範囲に別シートを指定する
範囲には、他のシートや別のエクセルファイルも指定できますよ。
さっきの社員名簿が別シートに合った場合。

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

ステップ2
そのまま必要な範囲を選択します。
範囲の前に「社員名簿!」とついていますね。


気合入ってるワケじゃないのか。
ステップ3
あとは同じく左から数えて「3,0」でOK。
Enterを押せば、さっきと同じ結果になりましたね。


「!」を間違って消さないように気を付けてね。
【Excel・エクセル】VLOOKUP関数とIF関数の組み合わせ
VLOOKUP関数とIF関数を組み合わせると、VLOOKUP関数の結果を条件にしたIF関数にしたり、空白セルを無視してVLOOKUP関数ができたりします。
前者の書き方は「=IF(VLOOKUP(~),○,×)」、後者の書き方は「=IF(○="","",VLOOKUP(~)」です。

詳しくは、こっちのページで紹介するね。
これで例えば、売上表の製品の価格を価格表から抽出したり、部活動員名簿からだれが何部に所属しているかを抽出したりできますね!
それでは、お疲れさまでした!
- 検索値を元に別の範囲から値を抽出できるのが、VLOOKUP関数
- VLOOKUP(この値をもとに,この中の,左から何番目を抽出して,基本0でOK)
- IF関数などと組み合わせて使うことも
ディスカッション
コメント一覧
まだ、コメントがありません