エクセル入門
VLOOKUP関数(範囲の左端列で値検索し対応セル値)

Excelの初心者向け入門解説
最終更新日:2019-12-08

数式.VLOOKUP関数(範囲の左端列で値検索し対応セル値)


エクセル入門 > 数式 > VLOOKUP関数(範囲の左端列で値検索し対応セル値)


検索値で、セル範囲の最初の列を検索し、その範囲の同じ行にある任意のセルから値を返します。
Vは縦方向(vertical)の意味です、つまり縦方向の表に対して使用します。

VLOOKUP関数の書式

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

検索値
表または範囲の左端の列で検索する値を指定します。
※ワイルドカードが使用できますが、あまり使う事はありません。
ワイルドカード文字
(?)半角の疑問符:任意の 1 文字
(*)半角のアスタリスク:任意の文字列

範囲
データを含むセル範囲です。


列番号
目的のデータが入力されている列を、範囲内の左端から数えた列数で指定します。
範囲内の左から1,2,3,・・・となります。

検索方法
TRUE(1)を指定すると、
検索値と完全に一致する値、またはその近似値(検索値未満の最大値)が返されます。
※範囲の左端の列にある値を昇順に並べ替えておく必要があります。

FALSE(0)を指定すると
検索値と完全に一致する値だけが検索されます。
完全に一致する値が範囲の左端の列に複数ある場合は、最初に見つかった値が使用されます。
完全に一致する値が見つからない場合は、エラー値 #N/A が返されます。
※TRUE(1)の使い方は少し難しくなります、多くの場合はFALSE(0)で良いはずです。


検索方法を省略した場合はTRUE(1)になります。
意図せず省略してしまい、結果が正しくないということは極めて多くあります。

VLOOKUP関数:完全一致(検索方法=TRUE)の使用例

以下のページで、所得税の税率表を参考に詳しく解説しています。

数値範囲で表検索するVLOOKUP近似一致
数値範囲で指定されている表を検索する場合は、VLOOKUP関数の近似一致を使います。○以上~△未満、○超~△以下、このような数値の範囲で示されている表を検索する場合は、VLOOKUPの近似一致を使う事で検索できます。具体的に良くあるものとして、所得税の税率があります。

VLOOKUP関数:完全一致(検索方法=FALSE)の使用例

F G H
1 ID 部署 氏名
2 21 営業 鈴木
3 22 総務 佐藤
4 23 人事 佐々木
5 24 製造 小林
6 25 営業 山田
7 26 総務 高橋
8 27 人事 伊藤
9 28 製造 山本
10 29 営業 田中

上記の表において、
A1セルにIDとして、「22」が入っている場合、
該当IDの部署・氏名を取得する場合、
=VLOOKUP(A1,F:H,2,0)
このようにすることで、「総務」と表示されます。

=VLOOKUP(A1,F:H,3,0)
このようにすることで、「佐藤」と表示されます。

書式の
=VLOOKUP(検索値,範囲,列番号,検索方法)
これと、良く見比べて理解して下さい。
特に列番号は、範囲内の左から1,2,3,・・・となります。

VLOOKUP関数の応用例
VLOOKUPを他の関数でやる方法
VLOOKUPは便利な関数ですが、以下のような問題点がある場合は、これを使うことができません 問題点 1.検索列より左側の列を取り出す場合 2.検索値が255文字を超える時 そこで、他の関数で、これを実現する方法を検討します。方法1 =INDEX(範囲,MATCH(検索値,検索範囲,0),列番号) 方法2 {=IF(MIN(IF(検索範囲=検索値,

徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)
検索されるキーワードで最も多いのが、MATCH関数 INDEX関数セル範囲から、指定された行と列が交差する位置にあるセルの参照を返します。INDEX関数の書式INDEX(範囲,行番号[,列番号])範囲セル範囲を指定します。セル範囲が1行または1列である場合、行番号または列番号はそれぞれ省略することができます。

【奥義】大量データでの高速VLOOKUP
大量データからのVLOOKUPを大量行に設定すると再計算がなかなか終わらなくなります… そんな経験したことがある人は、少なからずいると思います、そんな場合に、高速にVLOOKUPを実行する方法です。以下の表で説明します。※Sheet1は、A列で昇順に並び変えておきます。

ワイルドカードが使える関数
SUMIF COUNTIF SEARCH MATCH HLOOKUP VLOOKUP データベース関数を除く、2003までの関数です。2007以降なら、SUMIFS COUNTIFS AVERAGEIF AVERAGEIFS これらでも使えます。


ワークシート関数一覧

Excelワークシート関数の一覧と解説です、詳細解説ページへのリンクもあります。Excel2007までの関数です。2010以降追加の関数一覧 ワークシート関数の一覧(2010以降) 引数、関数構文については Excelシートの複雑な計算式を解析するVBAの関数構文 文字列関数…27 日付と時刻の関数…21 情報関数…17 論理関数…7 検索/行列関数…1…



同じテーマ「エクセル入門」の記事

COUNT関数(セル値が数値の個数)
COUNTA関数(空白以外のセルの個数)
COUNTIF関数(検索条件に一致するセルの個数)
VLOOKUP関数(範囲の左端列で値検索し対応セル値)
HLOOKUP関数(範囲の上端行で値検索し対応セル値)
AND関数(すべての引数がTRUEのときにTRUE)
OR関数(いずれかの引数がTRUEのときにTRUE)
IS関数(対象をチェックし、結果に応じてTRUE,FALSE)
COLUMN関数(セル参照の列番号)
ROW関数(セル参照の行番号)
CONCATENATE関数(複数の文字列を結合)


新着記事NEW ・・・新着記事一覧を見る

トランザクション処理|SQL入門(12月11日)
インデックスを作成して高速化(CREATE INDEX)|SQL入門(12月9日)
他のテーブルのデータで追加/更新/削除|SQL入門(12月8日)
データの削除(DELETE)|SQL入門(12月7日)
データの更新(UPDATE)|SQL入門(12月6日)
複数のSELECT結果を統合(UNION,UNION ALL)|SQL入門(12月5日)
テーブルを結合して取得(INNER JOIN,OUTER JOIN)|SQL入門(12月4日)
データベースの正規化とマスタの作成|SQL入門(12月3日)
データベースにおけるNULLの扱い方|SQL入門(12月2日)
オブジェクト変数とは何か|VBA技術解説(12月2日)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|VBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.変数宣言のDimとデータ型|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.マクロって何?VBAって何?|VBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説
10.ひらがな⇔カタカナの変換|エクセル基本操作



  • >
  • >
  • >
  • VLOOKUP関数(範囲の左端列で値検索し対応セル値)

  • このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
    掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



    このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
    本文下部へ