Filter是Excel中一个强大的筛选函数,它可以根据指定条件筛选出一个或多少数据。
一、基本语法
Filter(array,include,[if_empty])
array必须:要筛选的包含结果(只要包含结果的区域,其它不用的数据不用包含)数组或区域
include必须:布尔值数组,其高度宽度与数组相同。
[if_empty]可选:所含数组中的所有值都为空(筛选器不返回任何内容)时返回的值。
二、示例
1、筛选出符合条件的单个结果要求:找出张三3日芒果销售量
公式:=FILTER($F$1:$F$4,($C$1:$C$4="张三")*($A$1:$A$4="芒果"),"")
返回结果:20
include:($C$1:$C$4="张三")*($A$1:$A$4="芒果") 这里的查询条件可以是一个,也可以多个。
if_empty:默认为空,也可以根据自己的需要换成其它值。
2、筛选出符合条件的多个结果
公式:=FILTER($F$1:$F$4,($C$1:$C$4="张三")*($A$1:$A$4="芒果"),"")
返回结果:95 100 20 187
3、Filter与其它函数的配合应用
根据Filter可以返回数组的特性(这是与vlookup、index 等其它查找函数最大的区别),与其它函数配合使用可发按其更强大的作用。
(1)、算出王五在二店1-4日的销量之和
首先通过filter找出王五在二店的销售数量:
公式:=FILTER($D$2:$G$9,($B$2:$B$9="二店")*($C$2:$C$9="王五"),"")
结果:
59 121 46 81 116 134 82 92
通过这个返回的数组结果 ,只要在它的前面加上一个Sum函数即可轻松求出销量和:
公式:=SUM(FILTER($D$2:$G$9,($B$2:$B$9="二店")*($C$2:$C$9="王五"),""))
结果:731
通过这个方式,还可以轻松找到,最大值,最小值,均销量等
最小值:=MIN(FILTER($D$2:$G$9,($B$2:$B$9="二店")*($C$2:$C$9="王五"),""))
结果:46
最大值:=MAX(FILTER($D$2:$G$9,($B$2:$B$9="二店")*($C$2:$C$9="王五"),""))
结果:134
平均值:=AVERAGE(FILTER($D$2:$G$9,($B$2:$B$9="二店")*($C$2:$C$9="王五"),""))
结果:91.375