如何完成Excel2013查询值不在首列

数码 2023-03-15 10:31:13 通达百科

  我们都知道,在Excel2013里面最常用的查询[查询,读音为chá xún,是用户通过设置某些查询条件,从表或其他查询中选取全部或者部分数据,以表的形式显示数据供用户浏览。]函数是vlookup,比如根据员工工号查询他的考勤、工资等等,还有根据学生的考号查询他的成绩,这个最受欢迎的vlookup函数都可以一键帮我们搞定,但是vlookup函数有个致命的缺点,就是查询值必须在查询区域的首列,那么在查询值不在首列的情况怎么完成查询呢?

  1.vlookup函数正向查找[在计算机科学中定义为:在一些(有序的/无序的)数据元素中,通过一定的方法找出与给定关键字相同的数据元素的过程叫做查找。]

Excel2013在查询值不在首列时如何完成查询

  为了和后面的逆向[逆向思维是人们重要的一种思维方式。]查找做个对比,我们先来看下vlookup函数的正向查找,利用工号查找姓名[姓名,由姓和名组成,也称名字。]

  =VLOOKUP(E5,A2:B11,2,0)的意思就是以E5单元格[单元格是表格中行与列的交叉部分,它是组成表格的最小单位,可拆分或者合并。]的工号为查找值,在A2到B10的查找区域,在首列中找到与E5相同的工号,然后返回[返回,概念词语,指回到一个地方或状况或从一个地方或状况回来的行动。]这个区域中与之对应的第2列(也就是姓名列)的姓名。这就是vlookup函数的正向查找,那么现在我想以姓名为查找值,在这个区域里查找和姓名对应的工号要怎么办呢?

  2.vlookup函数的逆向查找一

  逆向查找的第一种方法同样是利用vlookup函数,搭配if函数重新构建个数组[所谓数组,是有序的元素序列。]来使用。这个公式的用法是利用 if({1,0},B2:B11,A2:A11)返回一个姓名在前,工号在后的多行两列的内存[内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。]数组, 这样它就符合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.以上四种逆向查询方法的总结

  给大家介绍了四种逆向查询的方法,那么它们又有什么区别呢?如果查询的结果有多条,也就是我们查询一个姓名的时候出现了多个工号,这就说明公司有重名的现象,这个时候前三个逆向查找的公式都是返回首个满足条件的值,而lookup函数则是返回最后一个满足条件的值,这一点大家要格外格外的注意。

  以上就是Excel2013在查询值不在首列时怎么完成查询方法介绍,操作很简单的,大家学会了吗?希望能对大家有所帮助!

相关推荐

猜你喜欢

大家正在看