一个刚会VLOOKUP的学员找我,说VLOOKUP函数真的太好用了,以前在核对数据的时候如果不会这个函数,只能一个一个手工核对,现在有了这个函数,可以非常方便快速的找出数据中不一样的地方,快速核对。但是新的问题又来了,数据在右边可以快速查找,数据在左边就没有办法了。如何解决呢?
这里就是新手学习查找函数经常遇到的一个问题,解决这个问题有好多种办法,最简单的方法就是复制法,就是把需要查找的数据复制到右边去,就可以了,这样相当于创建了一个辅助列。
这样录入的函数与正常的方法一模一样:=VLOOKUP(E2,$B$1:$C$13,2,0)
对于有“强迫症状”的人来说,辅助列是不允许的,多一列特别难受,此时我们可以用其它方法来解决,这种问题很多人叫做“反向查找”。我们可以用三种该当来解决。
这个方法比较适合低版本的用户,原理就是利用CHOOSE函数重新构建一个新的引用区域,CHOOSE函数的第1个参数我们用{1,2}来写,代表第1个区域,和第2个区域。因为只生成了两个区域,所以VLOOKUP函数的第三个参数,就是返回第2列了,第四参数就是0了;
=VLOOKUP(D2,CHOOSE({1,2},B2:B8,A2:A8),2,0)
这里要注意的就是CHOOSE函数的区域范围不要选择整列,这样会使得函数运算速度变慢,是多少区域就选择多少区域,选择完后,把行列都锁定;
这个方法适合高版本,用了XLOOKUP后解决查找方向的问题,也就是四个方向都没有问题了,无论是向右向左,还是向上向下都没有问题,因为XLOOKUP直接把VLOOKUP中关于列的引用序号都省略了。不需要输入列号的数字,只需要输入查找对象,查找对象的区域、返回对象的区域就可以了;所以这也是反向查收代码最短的方案=XLOOKUP(D2,B:B,A:A);
这个函数组合是一个“万金油”的函数组合,学会了这个组合,反向查找,多条件查找都不是问题,INDEX的比较重要的两个参数就是行号和列号,有了这两个号,就像座标一样,可以快速锁定想要查询的位置了。
找位置的最佳函数就是MATCH,这个函数非常好理解,录入要查找的数据,对应的区域,是否绝对匹配,就可以了;根据INDEX和MATCH函数的组合我们录入:=INDEX($A$2:$A$8,MATCH(D2,$B$2:$B$8,0))
学习了这个函数组合后,也可以立即学习一下OFFSET+MATCH这个函数组合,OFFSET这个函数在解决某些特定问题的时候非常高效。我们把函数更改为:=OFFSET($A$1,MATCH(D2,$B$2:$B$8,0),)
对于“小白”来说,复制一列,创建辅助列是最快的方法,对于高版本的用户来说XLOOKUP是最方便的,对于进一步学习不同的查找函数的来说,用INDEX+MATCH,是最适合的。
联系客服