2000元课程
免费学7天
函数+VBA
函数FILTER执行多条件筛选时有一条定律:多个条件同时满足,条件之间用星号(*)连接;满足其中部分条件,条件之间用加号(+)连接。由此还形成两个模板化公式:
FILTER(筛选数据,条件1*条件2*条件3……)
FILTER(筛选数据,条件1+条件2+条件3……)
本着知其然,还要知其所以然的精神,来一探究竟吧。
先来了解3个知识点。
1.FILTER筛选TRUE对应的数据。
B列是要筛选的数组,C列是手动输入的条件。
=FILTER(B3:B10,C3:C10)
结论:FILTER筛选出第二参数中TRUE对应的数据。
这是函数FILTER的底层逻辑。
把条件改为数字,FILTER筛选出所有非0数字对应的数据:
=FILTER(B3:B10,C3:C10)
结论:非0数字=TRUE,0=FALSE
买课程可进永久答疑群,课程可免费试学点击下方链接即可
TRUE与FALSE的四则运算
回忆一下四则运算,加减乘除。
TRUE和FALSE参与四则运算时:TRUE等同于1,FASLE等同于0.
模板公式中的星号为乘法运算,加号为加法运算。
现在,把以上3个只是点串联起来,尝试着理解这个公式:
=(C3:C10>35)*(D3:D10="男")
C3:C10>35:年龄大于35,这个表达式将返回一个由TRUE和FALSE组成的数组。
D3:D10="男":性别为“男”,这个表达式也会返回一个由TRUE和FALSE组成的数组。
两个数组相乘,当且仅当两个TRUE相乘时才会得到非0数字。意味着把它作为FILTER的第2参数时,两个条件都成立的才会被筛选。
两个条件相加时,只要其中一个是TRUE,结果就是非0数字;意味着只要其中一个条件成立,就会被筛选出来。
说出需求,自动帮你写好VBA代码!
如何把这些知识表达清楚是一件比学习它们更困难的事。即使无法完全理解,也希望这些信息对你有所帮助。
好了,今天的Excel小课堂就到此结束,大家赶紧实际操作联系一下吧,有不懂的问题可以留言问我!感谢关注Excel880,还请多多转发,持续关注我们呀!