我们都知道,在Excel2013里面最常用的查询函数是vlookup,比如根据员工工号查询他的考勤、工资等等,还有根据学生的考号查询他的成绩,这个最受欢迎的vlookup函数都可以一键帮我们搞定,但是vlookup函数有个致命的缺点,就是查询值必须在查询区域的首列,那么在查询值不在首列的情况怎么完成查询呢?
1.vlookup函数正向查找
为了和后面的逆向查找做个对比,我们先来看下vlookup函数的正向查找,利用工号查找姓名,
=VLOOKUP(E5,A2:B11,2 , 0)的意思就是以E5单元格的工号为查找值 , 在A2到B10的查找区域,在首列中找到与E5相同的工号,然后返回这个区域中与之对应的第2列(也就是姓名列)的姓名 。这就是vlookup函数的正向查找 , 那么现在我想以姓名为查找值,在这个区域里查找和姓名对应的工号要怎么办呢?
2.vlookup函数的逆向查找一
逆向查找的第一种方法同样是利用vlookup函数,搭配if函数重新构建个数组来使用 。这个公式的用法是利用 if({1,0},B2:B11 , A2:A11)返回一个姓名在前,工号在后的多行两列的内存数组,这样它就符合vlookup函数的查找值在首列的要求 , 可以顺利进行查找了 。
3.vlookup函数的逆向查找二
vlookup函数逆向查找的第二种方法是搭配choose函数重新构建一个内存数组,choose({1,2},B2:B11,A2:A11)同样是返回一个姓名在前,工号在后的多行两列的内存数组,与if不一样的是 , choose函数变成了{1,2} , 这点大家要注意 。
4.index和match函数的结合使用
=INDEX(A2:A11,MATCH(E8,B2:B11,0)) 。公式首先使用match函数E8单元格姓名在B2到B10单元格中的相对位置5 , 也就是这个区域所在第几行,再以此作为index函数的索引值,从A2到A11单元格中返回对应位置的内容 。这个公式看似繁琐,实际在查询时其组合灵活多变,可以完成从左到右,从上到下等多个方向的查找 。
5.lookup函数
=LOOKUP(1,0/(E8=B2:B11),A2:A11)这是比较经典的lookup函数的用法,首先用E8=B2:B11得到一组逻辑值,再用0除以这些逻辑值 , 得到由0和错误值组成的内存数组,再用1作为查询值,在刚才得到的内存数组中查询 , 如果lookup函数得不到查询值,那么它与查询区域中小于或等于查询值的最大匹配值匹配,因此是以最后一个0进行匹配,并返回A2到A11中相同位置的值 。
6.以上四种逆向查询方法的总结
【Excel2013在查询值不在首列时如何完成查询】给大家介绍了四种逆向查询的方法,那么它们又有什么区别呢?如果查询的结果有多条 , 也就是我们查询一个姓名的时候出现了多个工号,这就说明公司有重名的现象 , 这个时候前三个逆向查找的公式都是返回首个满足条件的值,而lookup函数则是返回最后一个满足条件的值,这一点大家要格外格外的注意 。
Excel2013在查询值不在首列时如何完成查询的详细内容就为您分享到这里,【精彩生活】jing111.com小编为您精选以下内容,希望对您有所帮助:
- excel如何在WPS表格中生成饼状图形象展示数据
- 什么是科创板概念股
- 抖音作品删了赞还在吗
- 龙日一和张静美第几集在一起
- 小红书浏览足 迹在哪里
- 充电宝4个灯都在亮是什么情况
- 做饭糊弄学是什么意思
- 视神经炎的病因存在中西方差异
- home键在哪 home键失灵有妙招【图文】
- Word2016如何制作一个可爱的动物日历