分享

特别有用的Excel函数:FILTER详解 - Part I

 hercules028 2022-11-21 发布于四川

大部分Excel使用者都知道,Excel提供了筛选功能。但是这个筛选是手动操作,在需要自动化方案的场景中,不能使用筛选功能。

Excel 2019开始,推出了FILTER函数,解决了这个问题。

这个函数的 语法如下:

=FILTER(array, include,[if_empty]) 

其中,

  • array - 代表需要筛选的区域或数组

  • include - 代表一个数组,由TRUE/FALSE组成,用于指示array中对应的行(列)是否出现在筛选结果中

  • if_empty - 可选参数,如果返回的结果集为空,就用这个参数代替

例如:

Image

在上图中,include参数是一个单列数组,只有前三个值为TRUE,这样,在最后的结果集中,就只包含张三丰,郭靖,黄蓉三行。

所以,使用FILTER函数的关键点就是include参数。

由于它只包含TRUE/FLASE的值,所以,可以使用任意的逻辑表达式。例如:

Image

要在上表中筛选所有的明教人马,可以使用下面的公式作为include参数:

E3:E11='明教'

整个公式就是:

ILTER(B3:F11,E3:E11='明教')

要进行复杂的筛选,必须使用多条件。而多个条件的连接有两种,“且”/“或”。

比如要筛选“明教”和“武当”的人马,显然是“或”,所以使用公式:

(E3:E11='明教')+(E3:E11='武当')

作为include参数。

而要筛选“一班”的“男”同学,显然是“且”,所以需要使用公式:

(D3:D11='男')*(C3:C11='一班')

作为include参数。

看到这里,相信有些朋友会有疑问:Excel中有现成的AND和OR函数来处理“且”和“或”条件,能否使用它们代替上面include参数中的“+”和“*”?

这是不可以的?

因为如果你要这么做,这两个公式就应该写成下面的形式:

OR((E3:E11='明教'),(E3:E11='武当'))

或者

AND((D3:D11='男'),(C3:C11='一班'))

但是这两个公式只会返回单个值,绝对不会返回一个数组。

这是使用FILTER函数需要注意的第一个点!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多