
VLOOKUP
全部显示
全部隐藏
在表格数组的首列查找指定的值,并由此返回表格数组当前行中其他列的值。
VLOOKUP 中的 V 参数表示垂直方向。当比较值位于需要查找的数据左边的一列时,可以使用 VLOOKUP 而不是 HLOOKUP。
语法
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
Lookup_value 为需要在表格数组 (数组:用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量。)第一列中查找的数值。Lookup_value
可以为数值或引用。若 lookup_value 小于 table_array 第一列中的最小值,VLOOKUP 返回错误值 #N/A。
Table_array 为两列或多列数据。使用对区域或区域名称的引用。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 查找精确的匹配值还是近似匹配值:
如果为 TRUE 或省略,则返回精确匹配值或近似匹配值。也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。
table_array 第一列中的值必须以升序排序;否则 VLOOKUP 可能无法返回正确的值。有关详细信息,请参阅排序数据。
如果为 FALSE,VLOOKUP 将只寻找精确匹配值。在此情况下,table_array 第一列的值不需要排序。如果 table_array
第一列中有两个或多个值与 lookup_value 匹配,则使用第一个找到的值。如果找不到精确匹配值,则返回错误值 #N/A。
注解
在 table_array 第一列中搜索文本值时,请确保 table_array 第一列中的数据没有前导空格、尾部空格、直引号(' 或
")与弯引号(‘或“)不一致或非打印字符。否则,VLOOKUP 可能返回不正确或意外的值。有关详细信息,请参阅 CLEAN 和 TRIM。
在搜索数字或日期值时,请确保 table_array 第一列中的数据未存储为文本值。否则,VLOOKUP
可能返回不正确或意外的值。有关详细信息,请参阅将保存为文本的数字转换为数字值。
如果 range_lookup 为 FALSE 且 lookup_value 为文本,则可以在 lookup_value 中使用通配符、问号 ()
和星号 ()。问号匹配任意单个字符;星号匹配任意字符序列。如果要查找实际的问号或星号,请在该字符前键入波形符 (~)。
示例 1
如果将示例复制到一个空白工作表中,可能会更易于理解。
如何复制示例
创建一个空白工作簿或工作表。
在帮助主题中选择示例。
注释 请不要选择行或列标题。
从帮助中选择示例
按 Ctrl+C。
在工作表中,选择单元格 A1,然后按 Ctrl+V。
若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在“公式”选项卡的“公式审核”组中,单击“显示公式”按钮。
本示例搜索大气特征表的“密度”列以查找“粘度”和“温度”列中对应的值。(该值是在海平面 0 摄氏度或 1 个大气压下对空气的测定。)
1
2
3
4
5
6
7
8
9
10
A
B
C
密度
粘度
温度
0457
355
500
0525
325
400
0616
293
300
0675
275
250
0746
257
200
0835
238
150
0946
217
100
109
195
50
129
171
0
公式
说明(结果)
=VLOOKUP(1,A2:C10,2)
使用近似匹配搜索 A 列中的值 1,在 A 列中找到小于等于 1 的最大值
0946,然后返回同一行中 B 列的值。(217)
=VLOOKUP(1,A2:C10,3,TRUE)
使用近似匹配搜索 A 列中的值 1,在 A 列中找到小于等于 1 的最大值
0946,然后返回同一行中 C 列的值。(100)
=VLOOKUP(7,A2:C10,3,FALSE)
使用精确匹配在 A 列中搜索值 07。因为 A
列中没有精确匹配的值,所以返回一个错误值。(#N/A)
=VLOOKUP(01,A2:C10,2,TRUE)
使用近似匹配在 A 列中搜索值 01。因为 01 小于 A
列中最小的值,所以返回一个错误值。(#N/A)
=VLOOKUP(2,A2:C10,2,TRUE)
使用近似匹配搜索 A 列中的值 2,在 A 列中找到小于等于 2 的最大值
129,然后返回同一行中 B 列的值。(171)
示例 2
如果将示例复制到一个空白工作表中,可能会更易于理解。
如何复制示例
创建一个空白工作簿或工作表。
在帮助主题中选择示例。
注释 请不要选择行或列标题。
从帮助中选择示例
按 Ctrl+C。
在工作表中,选择单元格 A1,然后按 Ctrl+V。
若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在“公式”选项卡的“公式审核”组中,单击“显示公式”按钮。
本示例搜索婴幼儿用品表中“货品 ID”列并在“成本”和“涨幅”列中查找与之匹配的值,以计算价格并测试条件。
1
2
3
4
5
6
A
B
C
D
货品 ID
货品
成本
涨幅
ST-340
童车
¥14567
30%
BI-567
围嘴
¥356
40%
DI-328
尿布
¥2145
35%
WI-989
柔湿纸巾
¥512
40%
AS-469
吸出器
¥256
45%
公式
说明(结果)
= VLOOKUP("DI-328", A2:D6, 3, FALSE)
(1 + VLOOKUP("DI-328", A2:D6, 4, FALSE))
涨幅加上成本,计算尿布的零售价。(¥2896)
= (VLOOKUP("WI-989", A2:D6, 3, FALSE)
(1 + VLOOKUP("WI-989", A2:D6, 4, FALSE))) (1 - 20%)
零售价减去指定折扣,计算柔湿纸巾的销售价格。(¥573)
= IF(VLOOKUP(A2, A2:D6, 3, FALSE) >=
20, "涨幅为 " & 100 VLOOKUP(A2, A2:D6, 4, FALSE) &"%", "成本低于
¥2000")
如果某一货品的成本大于或等于 ¥2000,则显示字符串“涨幅为
nn%”;否则,显示字符串“成本低于 ¥2000”。(涨幅为 30%)
= IF(VLOOKUP(A3, A2:D6, 3, FALSE) >=
20, "涨幅为: " & 100 VLOOKUP(A3, A2:D6, 4, FALSE) &"%", "成本为 ¥" &
VLOOKUP(A3, A2:D6, 3, FALSE))
如果某一货品的成本大于或等于 ¥2000,则显示字符串“涨幅为
nn%”;否则,显示字符串“成本为 ¥nnn”。(成本为
¥356)
示例 3
如果将示例复制到一个空白工作表中,可能会更易于理解。
如何复制示例
创建一个空白工作簿或工作表。
在帮助主题中选择示例。
注释 请不要选择行或列标题。
从帮助中选择示例
按 Ctrl+C。
在工作表中,选择单元格 A1,然后按 Ctrl+V。
若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在“公式”选项卡的“公式审核”组中,单击“显示公式”按钮。
本示例搜索员工表的 ID 列并查找其他列中的匹配值,以计算年龄并测试错误条件。
1
2
3
4
5
6
7
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
的员工,将三个单元格的值连接为一个完整的句子。(潘金是销售代表。)
v 查找 xl 什么是 VLOOKUP 公式 从区域中查找值 如何创建查找范围 如何查找值 按行和列查找 查找值并返回数据 查找数据 查阅表格? 根据查找值定位单元格
请参阅
DATE
HLOOKUP
INDEX
INT
IS 类函数
LOOKUP
MATCH
YEARFRAC
在数据列表中查找值
查找和引用函数
Vlookup函数的书写格式应该是这样的:
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
默认情况下,如果你没有填写range_lookup参数的话,它会默认为TRUE,此时要求你填写table_array的区域中的数据是以升序排列
的,否则将会出错!如果你确认你所填写的lookup_value一定是包含在table_array中的话,则应该给第四个参数
(range_lookup)写上FALSE,就可以解决了。
关于range_lookup填写为FALSE的时候,如果输入的lookup_value并不包含在table_array中的话,公式将返回错误值 #N/A。
vlookup功能:用来核对数据,多个表格之间快速导入数据等函数功能。功能是按列查找,最终返回该列所需查询序列所对应的值;与之对应的HLOOKUP是按行查找的。
含有VLOOKUP函数的工作表,每次在保存档案时,会同时保存一份其外部连结的档案。这样即使在单独打开这个工作表时,VLOOKUP函数一样可以抓取到数值。
扩展资料
vlookup函数的语法规则如下:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
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 第二列的数值,以此类推。
以2007版EXCEL为例,运用VLOOKUP函数将图一中的数据引用到图二的方法如下:
图一
图二
1、首先我们要知道要运用VLOOKUP函数,查阅值应该始终位于所在区域的第一列,即查找的数据范围中,查找目标应该始终位于查找数据范围区域的第一列。所以,我们要先调整图一的数据范围,将查找目标“品番”列放置到第一列,如下图所示。
2、在“查找目标”工作表的A2单元格输入函数:=VLOOKUP(),如下图所示。
3、输入VLOOKUP的第一个条件参数,即查找目标,因为我们要按品番来查找,所以查找目标为品番,即:B2,如下图所示。
4、输入VLOOKUP的第二个条件参数,即查找数据范围,也就是“数据范围”工作表中的A列到D列,如下图所示。
5、输入VLOOKUP的第三个条件参数,即返回值所在查找数据范围的列号,因为我们是要根据番号查找车型,而“车型”位于数据范围的第二列,即输入:2,如下图所示。
6、输入VLOOKUP的最后一个条件参数,因为我们要进行精确查找,即精确匹配,所以输入:0即可,如下图所示。
7、按回车键返回计算结果,如下图所示。并将鼠标置于A2单元格右下角,当其呈现“+”字型时下拉复制公式即可。
8、产品及供应商同理,查找目标:B2单元格,查找范围:“数据范围”工作表中的A列到D列,列号则根据步骤5的可以看出产品的列号为4,供应商的列号为3,最后输入0进行精确匹配,如下图所示,然后按步骤7的方法下拉复制公式即可,VLOOKUP引用数据完成。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)