Excel VLOOKUP函数怎么用

如题所述

第1个回答  2019-07-30

vlookup函数的操作实例:如下图,已知表sheet1中的数据如下,如何在数据表二
sheet2
中如下引用:当A列学号随机出现的时候,如何在B列显示其对应的物理成绩?
首先我们知道需要用到vlookup函数,那么先介绍一下使用
vlookup函数的几个参数,vlookup是判断引用数据的函数,它总共有四个参数,依次是:
1、判断的条件
2、跟踪数据的区域
3、返回第几列的数据
4、是否精确匹配
根据以上参考,和上述在sheet2表的B列显示问题的实际需求,在sheet2表的B2单元格输入这个公式是:
=vlookup(a2,sheet1!$a$2:$f$100,6,true)
详细说明一下,在此vlookup函数例子中各个参数的使用说明:
1、a2
是判断的条件,也就是说sheet1表和sheet2表中学号相同者,即sheet2表a列对应的数据和sheet1表中学号列a列的数据相同方能引用;
2、sheet1!$a$2:$f$100
是数据跟踪的区域,因为需要引用的数据在f列,所以跟踪的区域至少在f列,sheet1!是不同表间引用所用的表名称,和标志是表间引用的!符号,$是绝对引用(关于excel引用可以参考这里),$a$2:$f$100
表明从A2到F100单元格的数据区域,如果数据区域不止100,那么可以直接使用A:F,这样虽然方便但是有风险,因为如果sheet1表的下方还有其它数据,就有可能出现问题;
3、6
这是返回什么数的列数,如上图的物理是第6列,所以应该是6,如果要求英语的数值,那么此处应该是5
4、是否绝对引用,如果是就输入
true
如果是近似即可满足条件
那么输入false
(近似值主要用于带小数点的财务、运算等)
5、vlookup是垂直方向的查找,如果是水平方向查找可使用Hlookup函数,使用方法类似。
结果如下图:

第2个回答  2016-10-13

VLOOKUP函数是Excel中的一个纵向查找函数,它与LOOKUP函数和HLOOKUP函数属于一类函数,在工作中都有广泛应用。VLOOKUP是按列查找,最终返回该列所需查询列序所对应的值;与之对应的HLOOKUP是按行查找的。



Lookup_value为需要在数据表第一列中进行查找的数值。Lookup_value 可以为数值、引用或文本字符串。当vlookup函数第一参数省略查找值时,表示用0查找。

Table_array为需要在其中查找数据的数据表。使用对区域或区域名称的引用。

col_index_num为table_array 中查找数据的数据列序号。col_index_num 为 1 时,返回 table_array 第一列的数值,col_index_num 为 2 时,返回 table_array 第二列的数值,以此类推。如果 col_index_num 小于1,函数 VLOOKUP 返回错误值#VALUE!;如果 col_index_num 大于 table_array 的列数,函数 VLOOKUP 返回错误值#REF!。

Range_lookup为一逻辑值,指明函数 VLOOKUP 查找时是精确匹配,还是近似匹配。如果为false或0 ,则返回精确匹配,如果找不到,则返回错误值 #N/A。如果 range_lookup 为TRUE或1,函数 VLOOKUP 将查找近似匹配值,也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。如果range_lookup 省略,则默认为近似匹配。

本回答被网友采纳
第3个回答  2016-10-12
函数定义: 按照垂直方向搜索区域

官方说明: 在表格或数值数组的首列查找指定的数值,并由此返回表格或数组当前行中指定列处的数值.当比较值位于数据表首列时,可以使用函数VLOOKUP代替函数HLOOKUP.

解赋大白话: 指定条件在指定区域直方向查找

使用格式: VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

解赋白话格式: VLOOKUP(要查找的内容,搜索的区域,从查找区域首列开始到要找的内容的列数,指定是近似匹配还是精确匹配查找方式)

参数定义: Lookup_value 为需要在数组第一列中查找的数值.Lookup_value可以为数值、引用或文本字符串.

Table_array 为需要在其中查找数据的数据表.可以使用对区域或区域名称的引用,例如数据库或列表.

Col_index_num 为table_array中待返回的匹配值的列序号.Col_index_num为1时,返回table_array第一列中的数值;col_index_num为2,返回table_array第二列中的数值,以此类推.如果col_index_num小于1,函数VLOOKUP返回错误值值#VALUE!;如果col_index_num大于table_array的列数,函数VLOOKUP返回错误值#REF!.

Range_lookup 为一逻辑值,指明函数VLOOKUP返回时是精确匹配还是近似匹配.如果为TRUE或省略,则返回近似匹配值.也就是说.如果找不到精确匹配值,则返回小于lookup_value的最大数值;如果range_value为FALSE,函数VLOOKUP将返回精确匹配值.如果找不到,则返回错误值#N/A.

要点: 如果range_lookup为TRUE,则table_array的第一列中的数值必须按升序排列:…、-2、-1、0、1、2、…、-Z、FALSE、TRUE;否则,函数VLOOKUP不能返回正确的数值.如果range_lookup为FALSE,table_array不必进行排序.

注意事项: 1.Table_array的第一列中的数值可以为文本、数字或逻辑值.
2.文本不区分大小写.
3.如果函数VLOOKUP找不到lookup_value,且range_lookup为TRUE,则使用小于等于lookup_value的最大值.
4.如果lookup_value小于table_array第一列中的最小数值,函数VLOOKUP返回错误值#N/A.
5.如果函数VLOOKUP找不到lookup_value且range_lookup为FALSE,函数VLOOKUP返回错误值#N/A.
6.若有多个符合条件的情况:vlookup返回的是第一个满足条件的值,lookup返回的是最后一个满足条件的值.

>>>>> 函数应用实例 <<<<<

精确查找是vlookup最基本也是最常用的功能,对于数据量大的查找,其速度比菜单中的查找还快.设置vlookup第四个参数为false或0,即为精确查找.

精确查找适用于文本,也适用于数值;但对数值查找时须注意格式一致,否则会出错.

注:因为"0"输入速度快,不易输错,本函数宝典里的此类公式精确搜索都是以"0"代替"false".

例1 经典用法

每男每女家居生活馆 销售报表 查找左表单价

品名 件 单价 营业额

文胸G66 3 139 417 品名 文胸C598 公式显示

内裤F125 6 35 210 单价 99 =VLOOKUP(H26,B26:D34,3,0)

文胸G136 2 186 372

文胸C598 5 99 495 公式解释: H26:指定的条件

家居服A349 1 358 358 B26:D34:包含品名与单价的区域

文胸G137 3 68 204 3:在向右数第3列

内裤F186 8 29 232 0:精确查找

家居服B396 4 209 836

家居裙A87 2 169 338

       

       

例2 反向查找 上表为例,以单价查找销售件数

单价 99 公式显示

件数 5 =VLOOKUP(C42,IF({1,0},D26:D36,C26:C36),2,0)

注意{1,0}是一行二列(横向)常量数组,后面的两个区域是多行一列(纵向),即两个数组的方向不同,这样才会生成两列多行数组.

{1,0}详解见IF函数

例3 VLOOKUP函数的横向动态复制公式(一般应用在生成工资条)

每男每女家居生活馆 员工表

姓名 性别 年龄 题:查找性别与年龄

……     如果按平常公式向右拉动复制.

袁丽琴 女 23 每男每女家居生活馆 员工表

张桂兰 女 19 姓名 性别 年龄

要淑君 女 28 要淑君 女 #N/A

肖慧琴 女 29   #N/A  

王京京 女 25 公式显示

刘晶晶 女 30 =VLOOKUP(F55,$B$52:$D$63,2,0) =VLOOKUP(G55,$B$52:$D$63,2,0)

王建军 男 24 =VLOOKUP(F56,$B$52:$D$63,2,0)

孙建桃 男 22

张娟娟 女 23 从上表可以看出,VLOOKUP函数的第一参数和第二参数是随单元格位置变化而变化(现在不变是因为用了绝对引用),第三参数不变,第四参数是逻辑值,也不会变化.

杨丽莉 女 26

……     先看第一个参数,横向复制时,行不变,但列在变化,我们只要锁定列,在横向复制时与"绝对引用"效果一样,所以在F55中锁定列,让其变成$F55.

第二个参数不变,照旧.

第三个参数,应该是从2变为3,这里我们可以嵌套一个COLUMN函数.COLUMN函数定义:返回列序号.

1 2 3 公式显示

1 2 3 =COLUMN(C2)

可以从上面的COLUMN例子中看出,随着列序号的变化,结果也在变化,但与行序号无关.

因此嵌套后的公式为:

每男每女家居生活馆 员工表

姓名 性别 年龄

要淑君 女 28

重点 利用复制=COLUMN()可以生成一个动态数值,这个列序号可以成为VLOOKUP的第三个参数,即动态参数.

例4 VLOOKUP用IF组成动态条件模糊查找,计算销售提成

每男每女家居生活馆 员工表 公式显示 =VLOOKUP(D81,IF(C81<3,$H$82:$I$88,$K$82:$L$88),2)

销售员 工龄年数 销售额 提成比例 提成金额 工龄<3年 工龄>=3年

刘晶晶 1 18798 3.50% 657.93 销售额分段点 提成比例 销售额分段点 提成比例

孙建桃 2 35000 5.00% 1750 ¥0 1.50% ¥0 2.00%

王建军 3 458920 10.00% 45892 ¥5,000 3.25% ¥5,000 6.25%

王京京 1 120000 7.00% 8400 ¥10,000 3.50% ¥10,000 7.25%

肖慧琴 2 99800 6.00% 5988 ¥20,000 5.00% ¥20,000 8.25%

杨丽莉 4 85000 9.25% 7862.5 ¥50,000 6.00% ¥50,000 9.25%

要淑君 1 108000 7.00% 7560 ¥100,000 7.00% ¥100,000 10.00%

袁丽琴 6 156920 10.00% 15692 ¥250,000 8.00%    

"第四参数"(Range_lookup)为一逻辑值,指明函数VLOOKUP返回时是精确匹配还是近似匹配.如果为TRUE或省略,则返回近似匹配值.

也就是说.如果找不到精确匹配值,则返回小于"要查找的内容"(lookup_value)的最大数值;

这个例子,就是利用 返回小于"要查找的内容"(lookup_value)的最大数值 这一特点. 例

图   10 这是要找的值

↓ 9 找不到?

8 以箭头方向查最大的数值

例5 VLOOKUP用MATCH组成动态条件查找(数据源使用例4的源) 7

6

……

姓名 肖慧琴

查找项目 提成金额 公式显示

计算结果 5988 =VLOOKUP(C98,B80:F88,MATCH(C99,B80:F80,0),FALSE)

解赋解释 MATCH:返回搜索值的相对位置.

VLOOKUP第三参数"返回的匹配值的列序号"用MATCH得到调整的数字n,在对应名字所在行向右查找到该行第n列对应单元格的输入内容.

例6 屏蔽公式中的错误值

公式显示

#N/A =VLOOKUP(B107,B107:C107,2,0)

=IF(ISERR(VLOOKUP(B107,B107:C107,2,0)))),,"")

解赋解释 VLOOKUP函数查找结果为"#N/A"错误值,用ISERR函数出错误,再用IF判断转为空值.

这里用ISERR函数而非判断错误值种类更多的ISERROR函数,主要是考虑在公式引用无效、被0除、函数参数形式有错等情况时的“错误”判断,从而使我们不能及时发现差错。
第4个回答  2020-11-19

单元格按所在的行列位置来命名,例如:地址“B5”指的是“B”列与第5行交叉位置上的单元格。

第5个回答  2020-09-23

Excel怎么使用VLOOKUP函数?这个视频告诉你!

相似回答