Excel中特别有⽤的函数之Filter
今天继续介绍Excel中的新函数系列:FILTER。
就在准备这篇⽂章时,我⼜⼀次感受到了Excel新函数的威⼒,不得不说,包括我们前⾯介绍过的SORT,UNIQUE,今天介绍的FILTER在内的Excel新函数,让以前必须写很复杂的公式才能解决的问题变得轻⽽易举。
闲⾔碎语不多谈。直接来看这个函数吧!
语法
FILTER函数的语法如下:
这个函数有3个参数:
数组这个参数就是准备进⾏筛选的整个数据区域(或数组)
sumproduct函数的用法简介包括这个参数的名称有点奇怪,其实是英⽂的直译(include,这个英⽂名字也不是那么直观)。这个参数是⼀个返回逻辑值TRUE/FALSE的判断,⽤来判断“数组”参数中的值是否满⾜条件,如果是TRUE,在结果中就会返回“数组”参数中对应的⾏(或列)
[if_empty]如果第⼆个参数的所有返回值都为FALSE,表⽰“数组”参数中并没有需要返回的⾏(或列),这时,就返回这个参数。如果这个参数被省略了,就返回空值。
⽤法
结合实例来看这些参数,理解的更清楚⼀些。
假设我们的数据如下:
如果我们希望在其中查所有开发部参加的项⽬,就可以使⽤下⾯的公式:
=FILTER(B3:F9,C3:C9="开发部","未到")
结果返回了两个项⽬。值得提醒的是,这个函数返回的是个动态数组。
如果我们将第⼆个参数的“开发部”写成了“开发1部”,结果就会返回第三个参数:
多个条件
FILTER函数的第⼆个参数实际上就是⼀个条件表达式,类似于IF函数的第⼀个参数。因此,就有多个条件的问题。我们下⾯通过两个例⼦来看看如何在FILTER函数中使⽤多个条件。
例1 两个同时成⽴的条件筛选
例如,我们希望返回项⽬名称是“李宁订货会项⽬”,并且由"咨询部"参加的项⽬
可以使⽤公式:
=FILTER(B3:F9,(B3:B9="李宁订货会项⽬")*(C3:C9="咨询部"),"未到")
这个多个条件的写法我们在IF和SUMPRODUCT等函数中经常见到。
例2 ⼀个条件成⽴即可的多条件筛选
例如,我们希望返回所有的“李宁订货会项⽬”和所有“咨询部”参加的项⽬。可以使⽤公式:
=FILTER(B3:F9,(B3:B9="李宁订货会项⽬")+(C3:C9="咨询部"),"未到")
不到时返回多项
在前⾯的例⼦中,我们看到,如果第⼆个参数返回值都是FALSE,筛选不出任何结果,就会返回第三个参数:
但是这个返回值容易造成误解:好像这个函数的返回值只占这⼀个单元格似的。实际上,正常情况下,这个函数返回⼀个区域,这个区域的宽度跟第⼀个参数的宽度是⼀致的。
为了避免这种情况,我们可以使⽤下⾯的⽅法让第三个参数返回多个值:
=FILTER(B3:F9,C3:C9="开发1部",{"项⽬未到","部门未到",0,0,0})
总结
FILTER函数还有⼀些很重要的应⽤。其中部分应⽤以前也可以实现,就是得⽤⾮常复杂的⽅法。现在,我们可以利⽤FILTER函数(和其他新函数)来简化这些应⽤。具体内容我们后⾯陆续为⼤家介绍。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。