filter函数返回多列结果(动态数组函数系列5)

FILTER函数是筛选函数,就是在源数据中按照我们的条件筛选出我们想要的数据。除了常规的数据筛选,还可以进行多条件的"且"或者"或"的筛选。

下面我们来看看这个FILTER函数怎么用。

如果不想看文字介绍,可以直接拉到最后看视频。

FILTER函数语法

filter函数返回多列结果(动态数组函数系列5)(1)

上图中的第一段文字解释可能看起来有点别扭,实际的意思就是给定条件判断,条件成立则得到逻辑值TRUE,条件不成立则得到逻辑值FALSE值,然后根据逻辑值来筛选数据。

第一参数array指的是要进行筛选的源数据;第二参数include指的是筛选条件;第三参数[if_empty]指点是,如果没有符合筛选条件的数据,那么需要返回什么?

值得注意的是,尽管[if_empty]是可选参数,但是如果忽略不写,同时也没有符合条件的数据的话,会返回#CAL!错误(不支持空数据集)。所以建议一般不要忽略第三参数不写。

常规用法案例

filter函数返回多列结果(动态数组函数系列5)(2)

上图中的案例,是要我们在左侧的数据区域中,就"科目"字段进行筛选"Excel"的数据。写法很简单。

=FILTER(A2:D19,C2:C19=F2,"")

A2:D19是数据源区域,C2:C19=F2是筛选条件,""是如果没有符合条件的数据,将返回空数据集。

多条件筛选案例

FILTER函数除了可以进行单条件筛选,同时也可以进行多条件筛选。这里需要一点技巧,同时需要理解数组运算的原理。

如果有兴趣的话,可以看看我之前写过的一篇文章,上面详细地介绍了数组运算的原理。

(插入数据运算文章)

同时满足多个条件的筛选

filter函数返回多列结果(动态数组函数系列5)(3)

在上图中,需要用FILTER函数筛选同时满足"版本是MOS2016"和科目是"Excel"这两个条件的数据。这里我们需要将两个条件用"*"相乘。如下:

(B2:B19=F5)*(C2:C19=F2)

TRUE和FALSE在运算的过程中会分别被当成1和0进行计算。相乘的意思和简单,需要两个1相乘,最后才能得到结果1(TRUE)。也就是说,需要两个条件都成立(都是1)能的满足筛选条件。

满足多个条件中的任意一个条件的筛选

filter函数返回多列结果(动态数组函数系列5)(4)

上图中,只要满足两个条件中的任意一个,就可以返回筛选数据。这里的重点是两个条件需要用加号" "连接,当然支持多个条件。

(B2:B19=F5) (C2:C19=F2)

只要满足一个条件就会返回TRUE(也就是1),满足多个条件返回的数字一定大于1。只要大于等于1,FILTER函数就视为满足条件,从而返回筛选数据。

PS:这部分内容有些抽象,因为涉及到数组的运算,需要一些想象力。有兴趣了解的朋友还是建议看看我之前关于数组运算原理的文章吧。

干货|三分钟理解数组及运算原理

综合应用案例

前面我们已经学过三个动态数组函数了,包括RANDARRAY, SORT, SORTBY。学习Excel就是这样,当我们理解单一个函数的用法之后,尽量多思考一些—在什么场景下可以应用?跟哪些函数可以嵌套使用?

通过这一个思考的过程,逐步提高Excel的综合应用能力。

现在的问题是,如果已经筛选出符合条件的数据之后同时还要进行排序,应该怎么做?是不是可以联想到SORT函数?

下面我们就通过这个案例,将FILTER和SORT函数嵌套应用。

filter函数返回多列结果(动态数组函数系列5)(5)

我们已经理解FILTER的用法,FILTER最终会返回一组符合筛选条件的数据。这个时候将SORT函数包住FILTER, 让FILTER返回的数据作为SORT函数的第一参数就可以了。

除了这个综合应用的案例,相信肯定还有很多其他应用场景可以嵌套函数使用的。这就要求我们需要在实际工作中多思考多尝试了。

不想看文字介绍的朋友,可以直接看下面的视频哈。

好,以上就是FILTER函数的介绍。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页