中易网

vlookup函数的用法

答案:2  悬赏:70  
解决时间 2021-02-12 11:00
vlookup函数的用法
最佳答案
假设以B列为标准,对sheet2中的C2进行自动查询的话,在C2中输入:
=vlookup(b2,sheet1!$b$2:$c$5,2)
然后将此公式在C列中下拉即可。
全部回答

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函数的工作表时,里面抓取外部档案的数值,只是上次我们存盘时保存的值。若要连结最新的值,必须要把外部档案同时打开。

我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
乔丽娅老公是谁
0度造型烫染旗舰店在什么地方啊,我要过去处
今年属猴女性哪月哪月财运好
期货行情怎么解读?
福建考生,排名52185,394,相冲闽江学院面向
武汉哪里有比较有特色的西餐厅
想问下我今天突然肚胀,一天都没吃饭,吃不下
在情感方面,交往中,女友从来不买东西给男友
信誉超市在什么地方啊,我要过去处理事情
拍立得的相机可以不用专业的相纸么,就直接用
请问成龙的电影(我是谁)里成龙在顶楼玻璃天
锦州到银川怎么走最近
中国音乐学院怎么样
江苏政务服务实名注册时,为什么会说匹配不通
伊克扎格恩肖布古尔怎么去啊,有知道地址的么
推荐资讯
下面把字句用的对不对?为什么?谁知道为什么
华祥时代广告地址在哪,我要去那里办事
3根Φ30的铜棒的载流量有多少?3根多粗的铜棒
南通哪里有心里医生?
unable to detect barcode什么意思
舞尚界国际舞蹈连锁这个地址在什么地方,我要
米脂县司法局印斗司法所在什么地方啊,我要过
梦幻西游2老是卡屏
心理辅导师
山东省立医院-小儿骨科病房地址有知道的么?
已知方程F(x+y+z,x²+y²+z²)=0所确定的
全自动电热开水器长时间不清洗水还能喝吗,
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?