- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Excel学习--vlookup函数如何使用
excel vlookup函数使用方法
问题:如下图,已知表sheet1中的数据如下,如何在数据表二 sheet2 中如下引用:当学号随机出现的时候,如何在B列显示其对应的物理成绩?
首先我们介绍下使用的函数 vlookup 的几个参数,vlookup是判断引用数据的函数,它总共有四个参数,依次是:
1、判断的条件2、跟踪数据的区域3、返回第几列的数据4、是否精确匹配
根据问题的需求,这个公式应该是:
=vlookup(a2,sheet1!$a$2:$f$100,6,true)
详细说明一下在此vlookup函数例子中各个参数的使用说明:
1、a2 是判断的掉条件,也就是说如果sheet2表中a列对应的数据和sheet1表中的数据相同方能引用;2、sheet1!$a$2:$f$100 是数据跟踪的区域,因为需要引用的数据在f列,所以跟踪的区域至少在f列,$是绝对引用(关于绝对引用可以参考这里);3、6 这是返回什么数的列数,如上图的物理是第6列,所以应该是6,如果要求英语的数值,那么此处应该是54、是否绝对引用,如果是就输入 true 如果是近似即可满足条件 那么输入false (近似值主要用于带小数点的财务、运算等)5、vlookup是垂直方向的判断,如果是水平方向的判断可使用Hlookup函数
结果如下图:
不知道你是否已经会使用vlookup这个条件查找函数,如果你有兴趣可以试试本例。
VLOOKUP向左查找
如图:
根据左侧的人员资料,实现两种查询。
第一种查询是根据姓名找序号,要实现向左查找。第二种查询是根据住址和性别两个字段,查找姓名。(假设是不重复的,如果重复就查找第一个符合条件的姓名。)
一、向左查找
G2公式:
=VLOOKUP(F2,IF({1,0},B2:B6,A2:A6),2,0)
这是一个数组公式,按ctrl+shift+enter组合键结束输入。
IF({1,0},,)的作用是改变列顺序,得到一个新的数组。刚学习这个公式时,对于这里的IF({1,0},...,...)的部分我百思不得其解。{1,0}是什么意思呢?即便是要得到两种结果,为什么不是{1,2}呢?
搞不清楚我只能记下来,用多了就慢慢体会了。常规的IF应用就是根据判断式得到TRUE和FALSE两种结果,IF({1,0},,)也是一样:如果满足,就得到数组1,否则就得到数组2,整体上就得到一个新的二维数组。
应用要点:
1,把公式改为={VLOOKUP(F2,IF({TRUE,FALSE},B2:B6,A2:A6),2,0)}依然成立。
但如果{1,0}改为{1,2}就不行了,因为数值作为逻辑值运算时,非0值都是TRUE,那就相当于IF({TRUE,TRUE},...,...)
2,这里的{1,0}中间一定是,而不能是;
在数组中,逗号表示列,分号表示行。逗号和后面的B2:B6,A2:A6对应。如果用分号就要改为HLOOKUP,按行查找。
思维转换:
除了这个公式之外,还可以用其他方式来替代:
变化1:
={VLOOKUP(F2,CHOOSE({1,2},B2:B6,A2:A6),2,0)}
***用CHOOSE数组代替IF数组,分别指定第1列,第2列。
变化2:
=INDEX(A2:A6,MATCH(F2,B2:B6,0))
***MATCH和INDEX往往如影相随,先找到匹配位置,再利用位置返回数据。
需要注意的是,MATCH返回的是区域内的相对位置,而不是工作表的行号(或列号)。INDEX也是一样。
=INDEX(A:A,MATCH(F2,B2:B6,0)+1)
=INDEX(A:A,MATCH(F2,B:B,0))
=INDEX(A2:A6,MATCH(F2,B:B,0)-1)
变化3:
=LOOKUP(1,0/(B2:B6=F2),A2:A6)
或者
=LOOKUP(0,0/(B2:B6=F2),A2:A6)
=LOOKUP(1,1/(B2:B6=F2),A2:A6)
***0/(B2:B6=F2)得到{#DIV/0!;0;#DIV/0!;#DIV/0!;#DIV/0!}。错误值被排除了,返回的就是有0这一项。
提示:
如果有多个满足条件的姓名,这个公式返回的是最后一个,而不是第一个。
=LOOKUP(0,1/(B2:B6=F2),A2:A6)会出现错误,因为1/(B2:B6=F2)得到{#DIV/0!;1;#DIV/0!;#DIV/0!;#DIV/0!}。
=LOOKUP(TRUE,B2:B6=F2,A2:A6)并不成立,因为B2:B6=F2并不是升序排列。
另外,这个公式不需要用数组组合键。
变化4:
={INDEX(A2:A6,MATCH(TRUE,B2:B
文档评论(0)