提到VLOOKUP函数,相信大家都不陌生,查找函数嘛,匹配两个表格的数据,今天我们重点来看看VLOOKUP函数里如何使用数组公式。
先来说下VLOOKUP函数使用的一个前提条件就是查找区域的首列必须是查找值,也就是说只能正向查找,不能逆向查找。但实现工作中,逆向查找却不可避免。
通常情况下,如果不讲究表格里的次序,最简单的方法就是在表格里调整下次序。也就是将查找值所在的列拖动到查找区域的首列。
一、逆向查找
但总是有特殊的情况,在不动查找表格的情况下,如何使用VLOOKUP函数进行逆向查找呢?
如图所示:左侧查找表格里首列是工号,第二列是姓名,而右侧需要根据姓名查找工号。正常使用VLOOKUP函数是无法操作的。
这里就使用了IF函数公式构建了一个虚拟数组作为查找区域。使用了一个固定的搭配if{1,0}。
if()函数的语法是:if(条件,条件真的返回值,条件为假的返回值)。
if({1,0},区域1,区域2),这个的1,0其实就是true和false的意思,这就相当于是if(true,区域1,区域2)和if(false,区域1,区域2)的组合,第一个返回的是区域1,第二个返回的是区域2,然后把区域1和区域2进行组合,这个新组合的区域就是vlookup的第二参数查找区域。
这里就是if({1,0},B:B,A:A),最后组成了2列数组,第一列是姓名,第二列是工号。
完整的公式是:VLOOKUP(H2,IF{1,0},B:B,A:A),2,0),这里的第三个参数2,就是查找新组成的数组中的第2列。
二、VLOOKUP函数一次查找多列
如图所示,右侧根据姓名查找左侧的多列数据,如姓名、身高、尺寸、得分。
如果使用VLOOKUP函数查找,第三个参数分别会是2,3,4,5。那能不能也是用数组公式来代替一个个输入呢?
当然可以,函数公式:=VLOOKUP(H2,B1:F10,{2,3,4,5},0)
回车后,生成一个数组结果,分别查找出对应的2、3、4、5这几列的值。
如果查找的列顺序不一致,又咋办?其实只要找对对应结果分别在第几列。
完整的函数公式为:=VLOOKUP(H2,B1:F10,{3,5,2,4},0)
怎么样,以上的小技巧,你都学会了吗?