永发信息网

EXCEL中函数VLOOKUP是怎样运用的

答案:3  悬赏:70  手机版
解决时间 2021-05-17 23:30
EXCEL中函数VLOOKUP是怎样运用的
最佳答案
用VLOOKUP查找功能,用查找函数vlookup
给你举个例子,假如你的原表(设名叫sheet1)的A列为商品代码,B列为数值,比如:
A1=代码1,A2=代码2,...
B1=1,B2=2,...
你在另一张表中的A1=代码x,你想得到它在原表中的数值,你在B1中输入=vlookup(A1,"sheet1!$A$1:$B$100,
2,0),就可以得到原表中代码为x对应的数值了,再在B1列往下填充公式就能依次得到别的了。
公式中参数的意思,你可以看我链接的vlookup函数用法的网址,里面是详细介绍vlookup等的用法
全部回答
来自百度

VLOOKUP函数

在表格或数值数组的首列查找指定的数值,并由此返回表格或数组中该数值所在行中指定列处的数 值。

这里所说的“数组”,可以理解为表格中的一个区域。数组的列序号:数组的“首列”,就是这个 区域的第一纵列,此列右边依次为第2列、3列……。假定某数组区域为B2:E10,那么,B2:B10为第1列、C2:C10为第2列……。

语法:

VLOOKUP(查找值,区域,列序号,逻辑值)

“查找值”:为需要在数组第一列中查找的数值,它可以是数值、引用或文字符串。

“区域”:数组所在的区域,如“B2:E10”,也可以使用对区域或区域名称的引用,例如数 据库或数据清单。

“列序号”:即希望区域(数组)中待返回的匹配值的列序号,为1时,返回第一列中的数值,为 2时,返回第二列中的数值,以此类推;若列序号小于1,函数VLOOKUP 返回错误值 #VALUE!;如果大于区域的列数,函数VLOOKUP返回错误值 #REF!。

“逻辑值”:为TRUE或FALSE。它指明函数 VLOOKUP 返回时是精确匹配还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于“查找值”的最大数值;如果“逻辑值”为FALSE,函数 VLOOKUP 将返回精确匹配值。如果找不到,则返回错误值 #N/A。如果“查找值”为文本时,“逻辑值”一般应为 FALSE 。另外:

·如果“查找值”小于“区域”第一列中的最小数值,函数 VLOOKUP 返回错误值 #N/A。

·如果函数 VLOOKUP 找不到“查找值” 且“逻辑值”为 FALSE,函数 VLOOKUP 返回错误值 #N/A。

下面举例说明VLOOKUP函数的使用方法。

假设在Sheet1中存放小麦、水稻、玉米、花生等若干农产品的销售单价:

A B

1 农产品名称 单价

2 小麦 0.56

3 水稻 0.48

4 玉米 0.39

5 花生 0.51

…………………………………

100 大豆 0.45

Sheet2为销售清单,每次填写的清单内容不尽相同:要求在Sheet2中输入农产品名 称、数量后,根据Sheet1的数据,自动生成单价和销售额。设下表为Sheet2:

A B C D

1 农产品名称 数量 单价 金额

2 水稻 1000 0.48 480

3 玉米 2000 0.39 780

…………………………………………………

在D2单元格里输入公式:

=C2*B2 ;

在C2单元格里输入公式:

=VLOOKUP(A2,Sheet1!A2:B100,2,FALSE) 。

如用语言来表述,就是:在Sheet1表A2:B100区域的第一列查找Sheet2表单元 格A2的值,查到后,返回这一行第2列的值。

这样,当Sheet2表A2单元格里输入的名称改变后,C2里的单价就会自动跟着变化。当 然,如Sheet1中的单价值发生变化,Sheet2中相应的数值也会跟着变化。

其他单元格的公式,可采用填充的办法写入。

VLOOKUP函数使用注意事项

说到VLOOKUP函数,相信大家都会使用,而且都使用得很熟练了。不过,有几个细节问题, 大家在使用时还是留心一下的好。

一.VLOOKUP的语法

VLOOKUP函数的完整语法是这样的:

VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

1.括号里有四个参数,是必需的。最后一个参数range_lookup是个逻辑值,我们常 常输入一个0字,或者False;其实也可以输入一个1字,或者true。两者有什么区别呢?前者表示的是完整寻找,找不到就传回错误值#N/A;后者先 是找一模一样的,找不到再去找很接近的值,还找不到也只好传回错误值#N/A。这对我们其实也没有什么实际意义,只是满足好奇而已,有兴趣的朋友可以去体 验体验。

2.Lookup_value是一个很重要的参数,它可以是数值、文字字符串、或参照地址。 我们常常用的是参照地址。用这个参数时,有两点要特别提醒:

A)参照地址的单元格格式类别与去搜寻的单元格格式的类别要一致,否则的话有时明明看到有资 料,就是抓不过来。特别是参照地址的值是数字时,最为明显,若搜寻的单元格格式类别为文字,虽然看起来都是123,但是就是抓不出东西来的。

而且格式类别在未输入数据时就要先确定好,如果数据都输入进去了,发现格式不符,已为时已 晚,若还想去抓,则需重新输入。

B)第二点提醒的,是使用时一个方便实用的小技巧,相信不少人早就知道了的。我们在使用参照 地址时,有时需要将lookup_value的值固定在一个格子内,而又要使用下拉方式(或复制)将函数添加到新的单元格中去,这里就要用到“$”这个符 号了,这是一个起固定作用的符号。比如说我始终想以D5格式来抓数据,则可以把D5弄成这样:$D$5,则不论你如何拉、复制,函数始终都会以D5的值来 抓数据。

3.Table_array是搜寻的范围,col_index_num是范围内的栏数。 Col_index_num 不能小于1,其实等于1也没有什么实际用的。如果出现一个这样的错误的值#REF!,则可能是col_index_num的 值超过范围的总字段数。

二.VLOOKUP的错误值处理。

我们都知道,如果找不到数据,函数总会传回一个这样的错误值#N/A,这错误值其实也很有用 的。比方说,如果我们想这样来作处理:如果找到的话,就传回相应的值,如果找不到的话,我就自动设定它的值等于0,那函数就可以写成这样:

=if(iserror(vlookup(1,2,3,0))=true,0,vlookup(1,2,3,0))

这句话的意思是这样的:如果VLOOKUP函数返回的值是个错误值的话(找不到数据),就等 于0,否则,就等于VLOOKUP函数返回的值(即找到的相应的值)。

这里面又用了两个函数。

第一个是iserror函数。它的语法是iserror(value),即判断括号内的值是 否为错误值,如果是,就等于true,不是,就等于false。

第二个是if函数,这也是一个常用的函数的,后面有机会再跟大家详细讲解。它的语法是 if(条件判断式,结果1,结果2)。如果条件判断式是对的,就执行结果1,否则就执行结果2。举个例子:=if(D2=””,”空的”,”有东西”), 意思是如D2这个格子里是空的值,就显示文字“空的”,否则,就显示“有东西”。(看起来简单吧?其实编程序,也就是这样子判断来判断去的。)

三.含有VLOOKUP函数的工作表档案的处理。

一般来说,含有VLOOKUP函数的工作表,如果又是在别的档案里抓取数据的话,档案往往是 比较大的。尤其是当你使用的档案本身就很大的时候,那每次开启和存盘都是很受伤的事情。

有没有办法把文件压缩一下,加快开启和存盘的速度呢。这里提供一个小小的经验。

在工作表里,点击工具──选项──计算,把上面的更新远程参照和储存外部连结的勾去掉,再保 存档案,则会加速不少,不信你可以试试。

下面详细的说一下它的原理。

1.含有VLOOKUP函数的工作表,每次在保存档案时,会同时保存一份其外部连结的档案。 这样即使在单独打开这个工作表时,VLOOKUP函数一样可以抓取到数值。

2.在工作表打开时,微软会提示你,是否要更新远程参照。意思是说,你要不要连接最新的外部 档案,好让你的VLOOKUP函数抓到最新的值。如果你有足够的耐心,不妨试试。

3.了解到这点,我们应该知道,每次单独打开含有VLOOKUP函数的工作表时,里面抓取外 部档案的数值,只是上次我们存盘时保存的值。若要连结最新的值,必须要把外部档案同时打开。

VLOOKUP函数我所了解的,也只是这些,大家有什么好的经验或有什么疑问,欢迎大家提 出,一起探讨。

excel 用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 :

Range_lookup 为逻辑值,指定希望 VLOOKUP 查找精确的匹配值还是近似匹配值:

注解 示例 1

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

如何复制示例

  1. 创建一个空白工作簿或工作表。
  2. 在帮助主题中选择示例。

    注释 请不要选择行或列标题。

    从帮助中选择示例
  3. 按 Ctrl+C。
  4. 在工作表中,选择单元格 A1,然后按 Ctrl+V。
  5. 若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在“公式”选项卡的“公式审核”组中,单击“显示公式”按钮。

本示例搜索大气特征表的“密度”列以查找“粘度”和“温度”列中对应的值。(该值是在海平面 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

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

如何复制示例

  1. 创建一个空白工作簿或工作表。
  2. 在帮助主题中选择示例。

    注释 请不要选择行或列标题。

    从帮助中选择示例
  3. 按 Ctrl+C。
  4. 在工作表中,选择单元格 A1,然后按 Ctrl+V。
  5. 若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在“公式”选项卡的“公式审核”组中,单击“显示公式”按钮。

本示例搜索婴幼儿用品表中“货品 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

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

如何复制示例

  1. 创建一个空白工作簿或工作表。
  2. 在帮助主题中选择示例。

    注释 请不要选择行或列标题。

    从帮助中选择示例
  3. 按 Ctrl+C。
  4. 在工作表中,选择单元格 A1,然后按 Ctrl+V。
  5. 若要在查看结果和查看返回结果的公式之间切换,请按 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 的员工,将三个单元格的值连接为一个完整的句子。(潘金是销售代表。)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
云海快要走勒、
山阳区焦作皇廷壹号国际会所地址在哪,我要去
什么是“爱”“爱”是什么?
英雄岛38级怎么玩厉害?
我是一颗小草大家觉得怎么样啊
培训性质怎么填写,培训计划怎么写
汉阳区武汉蟹都汇(汉阳店)地址有谁知道?有点
显示器的对比度和彩色调到多少为最佳
怎么样把经验宝珠买掉
谁能帮我弄空间音乐
老婆怀孕8月
发表在空间的心情可以锁住吗?
张湾区十堰爱尚妞妞(东岳店)这个地址在什么地
海什么天什么的成语,天什么海什么打一成语
谁是对的 谁是错的
推荐资讯
我想创一个团 本人叫鉮经”兮兮ㄟ 求一个炫舞
佳木斯有没有摄影学校啊?我要学摄影
站在收款人的角度,你认为哪种结算方式更安全
谁能告诉我什么才是人最悲哀的?
仙桃市仙桃中国福利彩票地址是什么,有没有知
蒸湘区豪情部落火盆烧烤(衡阳旗舰店)我想知道
株洲哪里卖捕兽丸
我的DNF无缘无故的被封了365天 为什么?
帮四兄弟取名,要酷点的。
北京的记者的电话
仲裁申请书该怎么写?
愿一路平安的诗句,祝福他们一路平安的诗句
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?