ARTICLE関数

【Excel】VLOOKUP関数で条件にあった情報を抽出!

ARTICLE
この記事では、条件にあった情報を抽出できる
VLOOKUP関数について、説明しています。
.
使い方だけではなくて、
注意すべきエラーなどについても
解説しているので必見です!
.
さらに、VLOOKUP関数に似た
他の関数も紹介していますので
ぜひ、ご活用くださいね。

いちいち、検索かけて
情報をコピペするの時間かかるな…。

それ、関数で解決できるよ!

え、そんな便利な関数あるの??

うん、VLOOKUP関数って言うんだけど
条件に合う情報をカンタンに抽出できるよ。

それ覚えたい!

OK!じゃあ、VLOOKUP関数
について見ていこう!

VLOOKUP関数まとめはコチラ

 

 

【VLOOKUP関数とは?】

▶︎条件にあった情報を抽出する

VLOOKUP関数は、エクセル(Excel)における非常に便利な関数の一つです。
VLOOKUPは、
垂直方向(縦方向)にデータを検索し、
関連する情報を抽出するために使用されます。

たとえば、商品コードを入力すると、
該当する商品名や価格を取得したい場合に便利です。

 

 

▶︎VLOOKUP関数の構文

=VLOOKUP(検索値, テーブル範囲, 列番号, 検索方法)
例:
=VLOOKUP(E3,A2:C8,2,FALSE)
.
検索値
検索したい値を指定します。
通常、セル参照や具体的な値を指定します。

 

テーブル範囲
検索対象となるテーブルの範囲を指定します。
通常、データが格納されている範囲を指定します。

 

列番号
結果を返したい列の番号を指定します。
テーブル範囲内の左から数えた列番号です。

 

検索方法
検索方法を指定します。
通常はFALSE(または0)を指定し、厳密な一致を行います。

 

 

 

【VLOOKUP関数の使い方】

商品コードを入力して、
該当する商品名を取得する。
.
.

①検索値を指定する

「検索」の表の
商品コード(No)のセルを指定しています。

=VLOOKUP(E3(検索値),A2:C8,2,FALSE)

 

 

②テーブル範囲を指定する

「No4に該当する商品名はなにか??」を
どこから探すか範囲指定します。

=VLOOKUP(E3,A2:C8(テーブル範囲),2,FALSE)

 

 

③列番号を指定する

探したいデータの列番号を指定します。
②で指定した範囲の中で
左から何番目か??を指定します。

=VLOOKUP(E3,A2:C8,2(列番号),FALSE)

 

 

④検索方法を指定する

検索方法を指定します。
検索値に対して…
・完全に一致するもののみ抽出【FALSE または 0】
・近似値ものを抽出【TRUE または 1】

=VLOOKUP(E3,A2:C8,2,FALSE(検索方法))

 

 

⑤実行する

Enterを押すと
無事に取得できました!

.
商品コード(No)から
商品名を抽出することができました!

 

いかがでしたか??
VLOOKUP関数はカンタンに
情報を抽出できる便利な関数です!
ぜひ、覚えてくださいね!

 

 

 

【VLOOKUP関数の使い方 *応用編*】

ここからは、応用編として、
VLOOKUP関数を使用して別のシートを参照したり、
住所から郵便番号を取得する方法について説明します。

 

▶︎別シートを参照する

別のシートの範囲を参照する場合は、
シート名を範囲指定に含める必要があります。

=VLOOKUP(検索値, シート名!テーブル範囲, 列番号, 検索方法)
.
.

情報取得元のシート(【テストB】)と
情報取得先のシート(【テストA】)を用意します。

テストB
.
テストA
.
.

範囲指定にシート名を含める

範囲指定にシート名を含めると
下記のようになる

 

シート名!テーブル範囲

 

 

実行する

Enterを押すと
無事に別シートから情報取得できました!

 

 

※テストB

 

 

 

▶︎複数条件を設定する

1つの条件では、重複してしまうとき
(同じNoが存在する場合など)
複数条件での検索ができるようにします。

 

誕生日から氏名・ほしいもの等を抽出しようとすると・・・

誕生日から抽出すると

 

結果が重複してしまうことも

 

 

複数条件を設定する

結果が重複しないように
複数の条件を合わせるようにします。

 

 

複数の検索値を入力する

検索値を1つではなく
複数個入力します。
(ここの場合は「誕生日」「ID」)

 

 

複数条件で関数を組む

複数の検索値を入れて、関数を組みます。
(ここの場合は「誕生日」&「ID」を検索値にする【G13&H13】)

 

 

実行する

Enterを押すと
「Aさん」ではなく「Eさん」が表示されました!

 

 

 

▶︎文字列を含む検索と抽出

今までは、数値を検索値に設定してきましたが
文字列を検索値にしたいケースもあります。

 

文字列から検索すると・・・

エリアを入力して、営業部を表示させたい場合
通常の式だと以下のようになりますが

 

 

エリア名を一言一句間違いないように
入力しなければ、エラーが出てしまいます。

 

でも、文字列を

少しの違いもなく入力するって難しいよ!

入力する人にもよるし…

 

 

文字列の一部でも検索できるようにする

そこで、文字列の一部が合っていれば
検索できるように式を変えていきます。

=VLOOKUP(“*”&検索値&”*”, テーブル範囲, 列番号, 検索方法)
【*】= ワイルドカードと読んで
検索値に入力されている文字列を一部でも含むセルを探す、という意味になる
.
.

ワイルドカードを入れて関数を組む

ワイルドカードを入れると以下の通り

.
.

実行する

一部しかエリア名が合っていなくても
正しく営業部が表示されました!

.

.

たくさんの人が入力する場合は
正しく入力する人ばかりではないので
検索に余裕を持たせるのがオススメです!

.

.
.

【VLOOKUP関数のエラー&対処法】

VLOOKUP関数は非常に便利な関数ですが、
時にエラーが発生することがあります。

以下では、VLOOKUP関数でエラーが起きた場合の
主な原因と対処法について説明していきます。

 

 

▶︎検索値が検索範囲に含まれていない

エラーの原因は、検索値が検索範囲に存在しないことです。

 

この場合、エラー値「#N/A」が表示されます。

 

この場合は、検索値が正しいかどうかを確認し、
検索範囲に含まれるように修正しましょう。

 

 

▶︎検索値が検索範囲の左端にない

VLOOKUP関数では、検索範囲の最左列に検索値が
存在する必要があります。

 

もし検索値が検索範囲の左端にない場合

 

エラーが発生します。

 

このパターンは、
検索範囲を調整して検索値を含めるようにしましょう。

 

 

▶︎列番号が検索範囲を超えている

VLOOKUP関数の列番号が検索範囲の列数を超えている場合、

 

エラー値「#REF!」が表示されます。

 

対処法としては、列番号を正しい範囲内に修正しましょう。

 

 

▶︎テーブル範囲のズレ

テーブル範囲を相対参照で書いてしまうと

 

コピー&ペーストで他のセルで使い回した時に
範囲がズレてしまいます。

 

範囲がズレないように、
絶対参照で記載するようにしましょう。

絶対参照は行の番号と列のアルファベットの前にそれぞれ
「$」を入力すると指定できます。(F4を押すと$がつきます)
A1のセルを常に参照したい場合は、「$A$1」と入力します。
.
絶対参照にすると…

 

コピペしても範囲がズレない!

 

 

 

【VLOOKUPの関連関数】

VLOOKUP以外にもExcelには
データを検索するためのさまざまな関数があります。

特に、VLOOKUPと似ている関数として
HLOOKUPXLOOKUPがあります。
ここでは、これらの関数について詳しく説明します。

 

 

▶︎HLOOKUP関数

VLOOKUP関数が垂直方向にデータを検索するのに対し、
HLOOKUP関数は水平方向にデータを検索します。

 

=HLOOKUP(検索値, テーブル範囲, 行番号, 検索方法)
例:
=HLOOKUP(A47,$A$42:$F$43,2,0)
.
HLOOKUP関数は、特に表形式のデータにおいて
行見出しに基づいてデータを検索する際に便利です。

 

 

 

VLOOKUPもXLOOKUPも両方使えたら
大体の検索はできるので、とても便利!!

 

 

▶︎XLOOKUP関数

この関数はExcel 2021および最新のMicrosoft365のみ使用できます。Excel 2016 および Excel 2019 では使用できません。

 

VLOOKUP関数は垂直方向にデータを検索し、
HLOOKUP関数は水平方向にデータを検索します。

そして、XLOOKUP関数は、
垂直方向または水平方向にデータを検索することができます。

 

=XLOOKUP(検索値, 検索範囲, 返す範囲 [, 見つからない場合, 一致タイプ, 検索タイプ] )
※[ ] 内は、省略可能
検索範囲:検索値を検索する範囲
返す範囲:検索値に対応する欲しい値を取得する範囲
※この2つの行数は必ず揃えましょう
.

 

 

便利な点①:「検索値は最左端」の制約なし

VLOOKUP関数では検索値は
【範囲内の最左端】である必要がありましたが
XLOOKUP関数は検索値がどこにあっても検索できます!

 

例)商品名からNoを抽出したい場合

 

検索範囲が最左端になくても
検索できました!

 

 

便利な点②:複数の値を一括で検索できる

VLOOKUP関数では1つの関数につき1つの検索でしたが
XLOOKUP関数は複数の値を一括で検索できます!

 

例)Noから商品&単価を一括で検索したい場合

返す範囲を2つに設定すると…

 

1つの関数で2つの値が検索できました!

 

 

便利な点③:見つからない場合を簡単に設定できる

VLOOKUP関数は見つからない場合を
IF関数などと組み合わせて設定する必要がありますが
XLOOKUP関数は見つからない場合も1つの関数内で設定できます!
.
見つからない場合は【見つかりません】と表示する
4つ目の引数に ”見つかりません” を入れると…
.
見つからない場合の表示がされました!
.

XLOOKUP関数、すごく便利だ!
絶対に覚えておこう!

.
.
.

【VLOOKUP関数 まとめ】

▶︎VLOOKUP関数

条件にあった情報を抽出する関数です。

=VLOOKUP(検索値, テーブル範囲, 列番号, 検索方法)
.
検索値:検索したい値を指定

 

テーブル範囲検索対象となるテーブルの範囲を指定

 

列番号:結果を返したい列の番号を指定

 

検索方法:検索方法を指定

 

 

▶︎よくあるエラー

検索値が検索範囲に含まれていない ▶︎▶︎▶︎ 正しい検索値に修正

例)商品No1〜6までなのにNo7を検索している

 

 

検索値が最左端にない ▶︎▶︎▶︎ 検索値を1番左端に移動

例)検索値が右端にある

 

 

列番号が検索範囲を超えている ▶︎▶︎▶︎ 列番号を検索範囲内に修正

例)列は3列しかないが、列番号が4になっている

 

 

テーブル範囲がズレる ▶︎▶︎▶︎ 絶対参照で範囲設定する

例)関数のコピペにより、テーブル範囲がズレる

 

 

絶対参照は行の番号と列のアルファベットの前にそれぞれ
「$」を入力すると指定できます。(F4を押すと$がつきます)

 

 

▶︎関連する関数

HLOOKUP関数

VLOOKUP関数と同じく情報を抽出する関数ですが
水平方向にデータを検索する関数です。

=HLOOKUP(検索値, テーブル範囲, 行番号, 検索方法)
.
.
.

XLOOKUP関数

この関数はExcel 2021および最新のMicrosoft365のみ使用できます。Excel 2016 および Excel 2019 では使用できません。

XLOOKUP関数は、
垂直方向または水平方向にデータを検索することができます。

 

=XLOOKUP(検索値, 検索範囲, 返す範囲 [, 見つからない場合, 一致タイプ, 検索タイプ] )
※[ ] 内は、省略可能
.
便利な点①:「検索値は最左端」の制約なし
便利な点②:複数の値を一括で検索できる
便利な点③:見つからない場合を簡単に設定できる
.
.

どう?VLOOKUP関数も
関連する関数もすごく便利でしょ??

うん、自動で検索できるの助かる!

しかも、思ったより簡単だったし。

使いこなせるようになったら
業務効率もかなり上がるから、ぜひ覚えてね!