请教EXCEL中VLOOKUP的用法,越详细越好。谢谢 请教EXCEL中VLOOKUP涵数的使用方法想要,动态改变t...

www.zhiqu.org     时间: 2024-06-01
VLOOKUP 函数
全部显示全部隐藏
本文介绍 Microsoft Excel 中 VLOOKUP 函数 (函数:函数是预先编写的公式,可以对一个或多个值执行运算,并返回一个或多个值。函数可以简化和缩短工作表中的公式,尤其在用公式执行很长或复杂的计算时。)的公式语法和用法。

说明
您可以使用 VLOOKUP 函数搜索某个单元格区域 (区域:工作表上的两个或多个单元格。区域中的单元格可以相邻或不相邻。)的第一列,然后返回该区域相同行上任何单元格中的值。例如,假设区域 A2:C10 中包含雇员列表,雇员的 ID 号存储在该区域的第一列,如下图所示。

如果知道雇员的 ID 号,则可以使用 VLOOKUP 函数返回该雇员所在的部门或其姓名。若要获取 38 号雇员的姓名,可以使用公式 =VLOOKUP(38, A2:C10, 3, FALSE)。此公式将搜索区域 A2:C10 的第一列中的值 38,然后返回该区域同一行中第三列包含的值作为查询值(“黄雅玲”)。

VLOOKUP 中的 V 表示垂直方向。当比较值位于所需查找的数据的左边一列时,可以使用 VLOOKUP 而不是 HLOOKUP。

语法
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])VLOOKUP 函数语法具有下列参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。):

lookup_value 必需。要在表格或区域的第一列中搜索的值。lookup_value 参数可以是值或引用。如果为 lookup_value 参数提供的值小于 table_array 参数第一列中的最小值,则 VLOOKUP 将返回错误值 #N/A。
table_array 必需。包含数据的单元格区域。可以使用对区域(例如,A2:D8)或区域名称的引用。table_array 第一列中的值是由 lookup_value 搜索的值。这些值可以是文本、数字或逻辑值。文本不区分大小写。
col_index_num 必需。table_array 参数中必须返回的匹配值的列号。col_index_num 参数为 1 时,返回 table_array 第一列中的值;col_index_num 为 2 时,返回 table_array 第二列中的值,依此类推。
如果 col_index_num 参数:

小于 1,则 VLOOKUP 返回错误值 #VALUE!。
大于 table_array 的列数,则 VLOOKUP 返回错误值 #REF!。
range_lookup 可选。一个逻辑值,指定希望 VLOOKUP 查找精确匹配值还是近似匹配值:
如果 range_lookup 为 TRUE 或被省略,则返回精确匹配值或近似匹配值。如果找不到精确匹配值,则返回小于 lookup_value 的最大值。
要点 如果 range_lookup 为 TRUE 或被省略,则必须按升序排列 table_array 第一列中的值;否则,VLOOKUP 可能无法返回正确的值。

有关详细信息,请参阅对区域或表中的数据进行排序。

如果 range_lookup 为 FALSE,则不需要对 table_array 第一列中的值进行排序。

如果 range_lookup 参数为 FALSE,VLOOKUP 将只查找精确匹配值。如果 table_array 的第一列中有两个或更多值与 lookup_value 匹配,则使用第一个找到的值。如果找不到精确匹配值,则返回错误值 #N/A。
说明
在 table_array 的第一列中搜索文本值时,请确保 table_array 第一列中的数据不包含前导空格、尾部空格、非打印字符或者未使用不一致的直引号(' 或 ")与弯引号(‘或“)。否则,VLOOKUP 可能返回不正确或意外的值。
有关详细信息,请参阅 CLEAN 函数和 TRIM 函数。

在搜索数字或日期值时,请确保 table_array 第一列中的数据未存储为文本值。否则,VLOOKUP 可能返回不正确或意外的值。
如果 range_lookup 为 FALSE 且 lookup_value 为文本,则可以在 lookup_value 中使用通配符(问号 (?) 和星号 (*))。问号匹配任意单个字符;星号匹配任意字符序列。如果要查找实际的问号或星号,请在字符前键入波形符 (~)。
示例
示例 1
本示例搜索大气特征表的“密度”列以查找“粘度”和“温度”列中对应的值。(该值是在海平面 0 摄氏度或 1 个大气压下对空气的测定。)

如果将示例复制到一个空白工作表中,可能会更容易理解该示例。

如何复制示例?

选择本文中的示例。如果在 Excel Web App 中复制该示例,请每次复制并粘贴一个单元格。 要点 请勿选择行标题或列标题。

从帮助中选择一个示例按 Ctrl+C。创建一个空白工作簿或工作表。在工作表中,选择单元格 A1,然后按 Ctrl+V。如果在 Excel Web App 中工作,请对示例中的每个单元格重复复制和粘贴操作。 要点 为使示例正常工作,必须将其粘贴到工作表的单元格 A1 中。
要在查看结果和查看返回结果的公式之间进行切换,请按 Ctrl+`(重音符),或在 “公式”选项卡上的 “公式审核”组中单击 “显示公式”按钮。在将示例复制到空白工作表中后,您可以根据自己的需求对它进行调整。

1
2
3
4
5
6
7
8
9
10
11

12

13

14

15

16
A B C
密度 粘度 温度
0.457 3.55 500
0.525 3.25 400
0.606 2.93 300
0.675 2.75 250
0.746 2.57 200
0.835 2.38 150
0.946 2.17 100
1.09 1.95 50
1.29 1.71 0
公式 说明 结果
=VLOOKUP(1,A2:C10,2) 使用近似匹配搜索 A 列中的值 1,在 A 列中找到小于等于 1 的最大值 0.946,然后返回同一行中 B 列的值。 2.17
=VLOOKUP(1,A2:C10,3,TRUE) 使用近似匹配搜索 A 列中的值 1,在 A 列中找到小于等于 1 的最大值 0.946,然后返回同一行中 C 列的值。 100
=VLOOKUP(0.7,A2:C10,3,FALSE) 使用精确匹配在 A 列中搜索值 0.7。因为 A 列中没有精确匹配的值,所以返回一个错误。 #N/A
=VLOOKUP(0.1,A2:C10,2,TRUE) 使用近似匹配在 A 列中搜索值 0.1。因为 0.1 小于 A 列中最小的值,所以返回一个错误。 #N/A
=VLOOKUP(2,A2:C10,2,TRUE) 使用近似匹配搜索 A 列中的值 2,在 A 列中找到小于等于 2 的最大值 1.29,然后返回同一行中 B 列的值。 1.71

注释 在 Excel Web App 中,若要按正确格式查看结果,请选择相应单元格,在“开始”选项卡的“数字”组中,单击“数字格式”旁边的箭头,然后单击“常规”。

示例 2
本示例搜索婴幼儿用品表中“货品 ID”列并在“成本”和“涨幅”列中查找与之匹配的值,以计算价格并测试条件。

如果将示例复制到一个空白工作表中,可能会更容易理解该示例。

如何复制示例?
在本文中选择示例。如果正在 Excel Web App 中复制示例,请一次复制并粘贴一个单元格。重要提示 请不要选择行标题或列标题。
从帮助中选择一个示例
按 Ctrl+C。创建一个空白工作簿或工作表。在该工作表中,选中单元格 A1,然后按 Ctrl+V。如果正在 Excel Web App 中工作,请为示例中的每个单元格重复进行复制和粘贴。重要提示 为了使示例正常运行,必须将它粘贴到工作表中的单元格 A1 中。
若要在查看结果和查看返回结果的公式之间进行切换,请按 Ctrl+`(重音符),或者单击“公式”选项卡上“公式审核”组中的“显示公式”按钮。将示例复制到一个空白工作表中之后,可以根据需要对它进行调整。

1
2
3
4
5
6
7

8

9

10

11
A B C D
货品 ID 货品 成本 涨幅
ST-340 童车 ¥145.67 30%
BI-567 围嘴 ¥3.56 40%
DI-328 尿布 ¥21.45 35%
WI-989 柔湿纸巾 ¥5.12 40%
AS-469 吸出器 ¥2.56 45%
公式 说明 结果
= VLOOKUP("DI-328", A2:D6, 3, FALSE) * (1 + VLOOKUP("DI-328", A2:D6, 4, FALSE)) 涨幅加上成本,计算尿布的零售价。 ¥28.96
= (VLOOKUP("WI-989", A2:D6, 3, FALSE) * (1 + VLOOKUP("WI-989", A2:D6, 4, FALSE))) * (1 - 20%) 零售价减去指定折扣,计算柔湿纸巾的销售价格。 ¥5.73
= IF(VLOOKUP(A2, A2:D6, 3, FALSE) >= 20, "涨幅为 " & 100 * VLOOKUP(A2, A2:D6, 4, FALSE) &"%", "成本低于 ¥20.00") 如果某一货品的成本大于等于 ¥20.00,则显示字符串“涨幅为 nn%”;否则,显示字符串“成本低于 ¥20.00”。 涨幅为 30%
= IF(VLOOKUP(A3, A2:D6, 3, FALSE) >= 20, "涨幅为: " & 100 * VLOOKUP(A3, A2:D6, 4, FALSE) &"%", "成本为 ¥" & VLOOKUP(A3, A2:D6, 3, FALSE)) 如果某一货品的成本大于等于 ¥20.00,则显示字符串“涨幅为 nn%”;否则,显示字符串“成本为 ¥n.nn”。 成本为 ¥3.56

注释 在 Excel Web App 中,若要按正确格式查看结果,请选择相应单元格,在“开始”选项卡的“数字”组中,单击“数字格式”旁边的箭头,然后单击“常规”。

示例 3
本示例搜索员工表的 ID 列并查找其他列中的匹配值,以计算年龄并测试错误条件。

如果将示例复制到一个空白工作表中,可能会更容易理解该示例。

如何复制示例?
在本文中选择示例。如果正在 Excel Web App 中复制示例,请一次复制并粘贴一个单元格。重要提示 请不要选择行标题或列标题。
从帮助中选择一个示例
按 Ctrl+C。创建一个空白工作簿或工作表。在该工作表中,选中单元格 A1,然后按 Ctrl+V。如果正在 Excel Web App 中工作,请为示例中的每个单元格重复进行复制和粘贴。重要提示 为了使示例正常运行,必须将它粘贴到工作表中的单元格 A1 中。
若要在查看结果和查看返回结果的公式之间进行切换,请按 Ctrl+`(重音符),或者单击“公式”选项卡上“公式审核”组中的“显示公式”按钮。将示例复制到一个空白工作表中之后,可以根据需要对它进行调整。

1

2

3

4

5

6

7
8

9

10

11

12
A B C D E
ID 姓氏 名字 职务 出生日期
1 黄 雅玲 销售代表 12/8/1968
2 王 俊元 销售副总裁 2/19/1952
3 谢 丽秋 销售代表 8/30/1963
4 王 炫皓 销售代表 9/19/1958
5 孙 林 销售经理 3/4/1955
6 王 伟 销售代表 7/2/1963
公式 说明 结果
=INT(YEARFRAC(DATE(2004,6,30), VLOOKUP(5,A2:E7,5, FALSE), 1)) 针对 2004 会计年度,查找 ID 为 5 的雇员的年龄。使用 YEARFRAC 函数,将此会计年度的结束日期减去雇员的出生日期,然后使用 INT 函数将结果以整数形式显示。 49
=IF(ISNA(VLOOKUP(5,A2:E7,2,FALSE)) = TRUE, "未发现员工", VLOOKUP(5,A2:E7,2,FALSE)) 如果有 ID 为 5 的员工,则显示该员工的姓氏;否则,显示消息“未发现员工”。

当 VLOOKUP 函数返回错误值 #NA 时,ISNA 函数返回值 TRUE。

=IF(ISNA(VLOOKUP(15,A3:E8,2,FALSE)) = TRUE, "未发现员工", VLOOKUP(15,A3:E8,2,FALSE)) 如果有 ID 为 15 的员工,则显示该员工的姓氏;否则,显示消息“未发现员工”。

当 VLOOKUP 函数返回错误值 #NA 时,ISNA 函数返回值 TRUE。
未发现员工
=VLOOKUP(4,A2:E7,3,FALSE) & " " & VLOOKUP(4,A2:E7,2,FALSE) & " 是 " & VLOOKUP(4,A2:E7,4,FALSE) 对于 ID 为 4 的雇员,将三个单元格的值连接成一个完整的句子。 王炫皓是销售代表。

注释 在 Excel Web App 中,若要按正确格式查看结果,请选择相应单元格,在“开始”选项卡的“数字”组中,单击“数字格式”旁边的箭头,然后单击“常规”。

关于excel中vlookup函数的应用
浏览次数:117次悬赏分:0 | 解决时间:2011-7-1 11:30 | 提问者:wangjian_91
各位,我想问一下,我以前在用Vlookup函数的时候,由于数据不是太多,只要通过手动去往下拉就行了,下面的单元格就会自动套用,现在数据越来越多了,下拉方式不试用了,谁有别的办法?谢谢了
最佳答案 肯定适用啊。
你原公式中是不是查找区域指定了行数?
比如vlookup(a1,$C$1:$E$100,2,0)
这样?
你修改为查找区域不指定行的。
vlookup(a1,C:E,2,0)
这样。追问你好,现在有一个问题是vlookup(a1,C:E,2,0)这个没有问题。但是我不只是a1要进行对比,还有a2,a3......... 请问这个能设置区域吗?谢谢了
回答可以啊。
你的公式下拉就行了,这是必须的。
如果觉得下拉麻烦,你可以一次性输入公式。
比如你想A1:A10000都对比
就先选定A1:A10000
这个容易吧?
然后直接输入
=if(a1="","",vlookup(a1,C:E,2,0))
输入完后,不要按回车
而是按下ctrl+回车。
追问不好 意思,我是个新手,没太看懂。我现在是sheet1里A列有数据1到10000,我要sheet2里的A列数据1到60000进行对比。麻烦您,看一下这个公式该怎么写下?十分感谢!
回答本想hi里交流,看来你不用hi.
对比什么?
对比sheet2表60000里哪个数据在sheet1里没有?
选中sheet2表的B列,即点一下B列列标。
=if(countif(sheet1!A:A,a1)>=1,"",A1)
然后按下ctrl+回车
这样sheet2表中B列显示值的就表示sheet1表里没有这个。反之就显示为空了

完整的公式是:vlookup(lookup_value, table_array, col_index_num, [range_lookup])。
lookup_value,是要在区域的第一列中搜索的值。lookup_value可以是值或引用。
table_array,包含数据的区域。可以使用对区域(例如,A2:D8)或区域名称的引用。
col_index_num,table_array参数中必须返回的匹配值的列号。col_index_num参数为1时,返回table_array第1列中的值;col_index_num为2时,返回table_array第2列中的值,依此类推。如果 col_index_num 参数小于1,则vlookup 返回错误值;大于 table_array的列数,则vlookup返回错误值。
range_lookup,一个逻辑值,指定希望vlookup查找精确匹配值还是近似匹配值:如果range_lookup为true或被省略,则返回精确匹配值或近似匹配值。如果找不到精确匹配值,则返回小于lookup_value的最大值,另如果range_lookup为true或被省略,则必须按升序排列table_array第1列中的值,否则vlookup可能无法返回正确的值;
如果range_lookup为false或0,则不需要对table_array第1列中的值进行排序。如果range_lookup参数为false或0,vlookup将只查找精确匹配值。如果 table_array 的第一列中有两个或更多值与lookup_value匹配,则使用第一个找到的值。如果找不到精确匹配值,则返回错误值。
2、vlookup函数是按垂直方向(列方向)进行数值查找,返回对应量。
例如:sheet1是一个数据源的综合表,sheet2是一个引用使用表。
sheet1
A B C
1 北京 010 ...
2 广东 020 ...
3 海南 030 ...
要在sheet2中引用“北京”的某个数据值,可以在sheet2的某一单元格输入:
=vlookup("北京",sheet1!a:c,2,0),返回010。
公式中含义:“北京”,是要查找比对的值,也可以引用单元格;“sheet1!a:c”是查找的范围;“2”是查找到匹配数值后要求返回的顺数列的对应值;“0”,是匹配要求为精确匹配。返回的值是,在查找范围内按垂直方向对“北京”进行查找,找到第一个匹配值停止,返回对应的第“2”列的值。

EXCEL中函数IF与VLOOKUP怎么结合着使用?~

可以用indirect函数构造动态引用区域的
=vlookup(a3,indirect("'E:\["&b1&".xls]成品表'!$A$3:$M$100"),3,0)
看下私信.


#谭南货# excel中vlookup的使用方法 -
(18492067817): 一、语法标准格式: VLOOKUP(lookup_value,table_array,col_index_num , range_lookup) 二、语法解释 VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)可以写为: VLOOKUP(需...

#谭南货# Excel文档,请教一下那个vlookup怎么用啊 -
(18492067817): E3=VLOOKUP($B3,$C$19:$C$23,2,0),F3=VLOOKUP($B3,$C$19:$C$23,3,0)G3=VLOOKUP($B3,$C$19:$C$23,4,0)公式直接下拉就可以了.一个参数是需要查找的值.第二个参数是查找范围.第三个参数是取查找范围内第几列的值.第4个参数是查询方式为模糊查询还是精确查询.

#谭南货# 请教excel函数的VLOOKUP的使用方法? -
(18492067817): 在H2中输入或复制粘贴下列公式=VLOOKUP(F2&G2,IF({1,0},A2:A10&B2:B10,C2:C10),2,FALSE)按三键CTRL+SHIFT+ENTER结束公式输入或=INDEX($C$2:$C$10,MATCH(F2&G2,$A$2:$A$10&$B$2:$B...

#谭南货# 请教VLOOKUP函数的使用方法
(18492067817): 1、数据格式不一致,文本数字不等于数值. 2、数据表中的数据带空格或不可见字符,手工录入的不带这字符,不匹配.

#谭南货# excel的公式Vlookup怎么用? -
(18492067817): 1. Vlookup共4个参数,参数1是查找的值,参数2是查找的区域,参数3是查找区域中的第几列,参数4是匹配模式. 2. A列是名字,B列是数量,在E列是要查找的值,F2输入公式:=VLOOKUP(E2,A:B,2,0) 可找到名字对应的数量:

#谭南货# 电子表格中vlookup的使用方法 -
(18492067817): =vlookup(a2,sheet1!$a$2:$f$100,6,true)详细说明一下在此vlookup函数例子中各个参数的使用说明:1、a2 是判断的掉条件,也就是说如果sheet2表中a列对应的数据和sheet1表中的数据相同方...

#谭南货# Excel中VLOOKUP语句的用法 -
(18492067817): 可以查看excel自带的帮助文档: 首先,打开“插入函数”对话框 其次,选中vlookup函数 最后,单击左下角的那个帮助链接即可.

#谭南货# VLOOKUP函数的用法请教 -
(18492067817): 引用区域不是SHEET1!B2:SHEET1!B26这样写的,应该是Sheet1!B2:B26. IF({1,0},Sheet1!$B$2:$B$26&Sheet1!$C$2:$C$26,Sheet1!$E$2:$E$26)只有两列,Sheet1!$B$2:$B$26&Sheet1!$C$2:$C$26合并成一列了,Sheet1!$E$2:$E$26是...

#谭南货# 计算机中的vlookup函数怎么使用
(18492067817): 该函数是在excel中使用的,共有4个参数.第一个是要查找的内容(可以是数字,也可以是文本字符);第2个参数是要查找的区域(一般是包含几列).第3个是参数是所要查找的内容在查找区域内参与第几列;第4个参数是精确查找(...

#谭南货# 谁能介绍一下excel中vlookup的使用方法,技巧
(18492067817): VLOOKUP第一个参数是你要在目标工作表中查找的数值,这个工作表要是以升序排列的,而且要查找的数值必须在目标工作表的首列第二个参数是你要查找的目标工作表区域,选中即可第三个参数是你想要引用的列数,比如第三列,输入3即可第四个参数是精确查找,还是模糊查找,如果你使用的通配符,这里必须输入flase,否则不好用.