Excel函数实战系列 第9期
小伙伴们,今天继续我们的函数实战系列,今天我们更新到第9期。今天我们分享一个经典的套路,一对多查找IF+SMALL+INDEX,经常玩函数的不会这个套路,都不好意思说懂函数!当然,现在出了新函数,这个套路没人用了,但是这个经典的公式,大家一定要了解啊。还是结合工作中遇到的实际问题,我们来拆解下这个经典的套路。=INDEX($C:$C,SMALL(IF($B$2:$B$11=$D3,ROW($2:$11),4^8),COLUMN(A1)))&""这里有3个经典的套路,没有见过的小伙伴第一次见,不知道什么意思,今天我们把他说明白了。1、4^8
第一次见这个东西不知道是个什么玩意,其实他就是4的8次方,也就是65536,因为最早的EXCEL版本的最大行号就是65536,其实他就是用来INDEX提取不符合的单元格地址,也就是一个空白单元格,换成任意一个数字都行,只要大于C列的有内容的单元格行号都行 ,比如12,156,999,9999都可以。2、&""
这个连接空值,我们说过,主要是用来规避0,就是如果不连接空值,INDEX提取的空白单元格会显示0,不会显示空,所以连接空,是为了显示美观,但是注意一点,就是数字变成文本了,进行四则运算要把数字处理一下,否则可能会出错。3、经典的SMALL(IF($B$2:$B$11=$D3,ROW($2:$11),4^8),COLUMN(A1))
这个经典的套路以前太常见了,用于一对多查找,我们以河南地区的销量举例拆解分析。IF($B$2:$B$11=$D3,ROW($2:$11),4^8)它的意思就是如果B列地区等于条件河南,那么就返回B列地区对应的行号,否则就返回65536,一个非常大的数字,{2;65536;65536;65536;6;65536;8;65536;65536;65536}然后SMALL函数,用COLUMN函数作为它的第2个参数,右拉分别提取第1,2,3...小的值,也就是把符合条件的等于河南地区的行号提取出来,不符合的提取是一个非常大的数字65536,交给INDEX函数。最后用INDEX函数把符合条件的单元格的值给提取出来。这样拆解分析,是不是这个经典的套路是不是很好理解,以后再见到就知道是什么意思了!不过现在有了FILTER函数=TOROW(FILTER($C$2:$C$11,ISNUMBER(FIND(D3,$B$2:$B$11))))
这个套路用的也不多了,但是大家一定要理解他的思路,有助于函数知识的学习。好了,今天就聊到这,有什么函数方面好的思路,打到留言区,大家一起学习!