EXCEL中VLOOKUP函数的使用

转载 2012年04月07日 12:08:45

 

表格数组的首列查找指定的值,并由此返回表格数组当前行中其他列的值。

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 可能返回不正确或意外的值。有关详细信息,请参阅CLEANTRIM
  • 在搜索数字或日期值时,请确保 table_array 第一列中的数据未存储为文本值。否则,VLOOKUP 可能返回不正确或意外的值。有关详细信息,请参阅将保存为文本的数字转换为数字值
  • 如果 range_lookup 为 FALSE 且 lookup_value 为文本,则可以在 lookup_value 中使用通配符、问号 (?) 和星号 (*)。问号匹配任意单个字符;星号匹配任意字符序列。如果要查找实际的问号或星号,请在该字符前键入波形符 (~)。

示例 1

本示例搜索大气特征表的“密度”列以查找“粘度”和“温度”列中对应的值。(该值是在海平面 0 摄氏度或 1 个大气压下对空气的测定。)

1
2
3
4
5
6
7
8
9
10
A B C
密度 粘度 温度
0.457 3.55 500
0.525 3.25 400
0.616 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(.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)

示例 2

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

1
2
3
4
5
6
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)

示例 3

本示例搜索员工表的 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 的员工,将三个单元格的值连接为一个完整的句子。(潘金是销售代表。)

Excel vba中使用vlookup函数

在excel中使用vloopup
  • gududanxing
  • gududanxing
  • 2014年04月28日 16:38
  • 7880

玩转Excel系列-Vlookup函数的使用(上)

Vlookup函数可以说是再EXCEL中相对比较重要的一个函数,也是工作中较为常用的函数, Vlookup函数功能就是指定一个查找目标(查找条件)从原表的列中找出对应的数据...
  • dafeilaoshi
  • dafeilaoshi
  • 2017年04月08日 12:03
  • 849

excel VLOOKUP函数的使用方法

VLOOKUP函数是Excel中几个最重函数之一,为了方便大家学习,兰色幻想特针对VLOOKUP函数的使用和扩展应用,进行一次全面综合的说明。本文为入门部分      一、入门级       VL...
  • qq1987924
  • qq1987924
  • 2012年08月31日 09:46
  • 190584

Excel中Vlookup公式和IFError公式的使用

在Excel中,有好多公式可以使用,可以提高一些数据处理的速度。今天简单的说一下VLOOKUP公式和IFERROR公式。 VLOOKUP公式主要用于根据某一列中的值,在另外的区域中查找与这一...
  • fox009521
  • fox009521
  • 2017年08月31日 23:48
  • 513

Excel如何实现与VLOOKUP函数相反的左向查找公式

大家知道,在Excel中可以利用VLOOKUP函数根据区域中第一列的某个数据查找出其他列中对应行的数据。例如,在下图中要查找对应“值班日期”为“初五”的“姓名”,可以用公式:   =VLOO...
  • winnyrain
  • winnyrain
  • 2017年01月19日 09:01
  • 624

像Excel一样使用Python(二)

像excel一样使用python,上一期介绍了生成、查看、替换等功能,这一期介绍数据预处理,包括数据表合并、排序、分组等。1.合并Excel里智能复制粘贴来合并表格,或者通过VLOOKUP函数分步实现...
  • dreadlesss
  • dreadlesss
  • 2017年06月05日 17:48
  • 593

通过excel自带的VLOOKUP函数实现字符串自动查找替换

通过excel自带的VLOOKUP函数实现字符串自动查找替换。 通过此功能实现自动翻译海外字符串的功能。   步骤1. 准备工作: 准备好之前翻译过的比较完整的字符串表ref_list.txt和...
  • gaoguoxin2
  • gaoguoxin2
  • 2012年08月02日 15:21
  • 8095

Excel中VLOOKUP结果中换行无法显示(亲自实践)

今天用VLOOKUP公式,把数据检索出来 发现一个问题: 数据源中单元格内容包含软回车(换行) 而VLOOKUP结果中换行不见了,内容变成了一行   解决办法: 选中VLOOKUP公式所在...
  • bigheadsheep
  • bigheadsheep
  • 2015年05月28日 15:07
  • 1540

excel的垂直查找函数VLOOKUP

函数定义:VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup]) 函数参数解释:在table_array所选区域中查找looku...
  • w926498
  • w926498
  • 2018年01月03日 19:38
  • 87

JAVA实现EXCEL公式专题(六)——查找引用函数

查找引用函数主要有match、lookup、vlookup、hlookup这4种,这几个常用的方法也就不解释啦,直接上干货: /** * 项目名称: * 文件说明: * 主要...
  • u011680348
  • u011680348
  • 2015年08月14日 18:22
  • 1747
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:EXCEL中VLOOKUP函数的使用
举报原因:
原因补充:

(最多只允许输入30个字)