FILTER函数是Excel的强大的筛选函数,从Microsoft 365和Excel 2021版本开始提供,如果你在使用的Excel版本中没有找到FILTER函数,那么可能是因为你的Excel版本不支持动态数组。
语法:=FILTER (要返回内容的数据区域,指定的条件, [没有记录时返回的内容])
案例一:单条件筛选(一对一查找)
公式:=FILTER(C:C,A:A=F2)
注:可以替代VLOOKUP函数和XLOOKUP函数进行一对一查找。
案例二:单条件筛选:一对多查找
公式 =FILTER(A:A,B:B=G1)
注:1、借助于函数的自动溢出功能,只需要在第一个目标单元格输入公式,不需要下拉填充公式就可以返回结果;
2、筛选条件可以引用单元格,也可以是文本。如果是文本,需要用英文输入状态下的双引号括起来,如=FILTER(A:A,B:B="高级业代")。
案例三:单条件筛选(一对整/返回多行多列)
公式 =FILTER(A1:F13,B1:B13=I1)
注:借助于函数的自动溢出功能,只需要在第一个目标单元格输入公式,就可以自动返回多行多列的数据 。
案例四:横向筛选(横向查找)
公式 =FILTER($A$2:$H$2,$A$1:$H$1=A9)
注:1、FILTER函数支持横向筛选(横向查找)
2、根据实际情况设置绝对引用、混合引用和相对引用
案例五:多条件筛选(与)
公式 =FILTER(A2:A13,(C2:C13="高级业代")*(D2:D13>3000))
注:实际业务中筛选条件很可能不止一个,如果是多个条件同时满足,统统放进FILTER的第二参数,用星号(*)将其连接即可;如案例中需要满足的两个条件,①、高级业代;②、1月销售额大于3000。
案例六:多条件筛选(或)
公式 =FILTER(A2:A13,(C2:C13="高级业代")+(D2:D13>3000))
注:实际业务中筛选条件很可能不止一个,但只需满足其中之一或几个,统统放进FILTER的第二参数,用星号(+)将其连接即可;如案例中只需要满足两个条件中的一个,①、高级业代;②、1月销售额大于3000。
案例七:屏蔽错误值筛选
公式 =FILTER(A:A,C:C=I1,"找不到值")
注:FILTER第三参数用于指定查找失败时的返回值,例如案例中源数据表格没有“储备业代”的数据。
案例八:筛选后转置
公式 =TRANSPOSE(FILTER(A:A,C:C=H5))
注:搭配TRANSPOSE函数可以将FILTER的结果进行行列转置
案例九:定位筛选(二维查找)
公式:
=FILTER(FILTER($A$2:$F$13,$A$1:$F$1=I$4),$A$2:$A$13=$H4)
注:1、定位查找最经典的方法是INDEX+MATCH的方法,现在FILTER+FILTER嵌套也能实现同样的效果。
2、实际工作中根据情况进行绝对引用等。
案例十:函数作为筛选条件(筛选TOP3数据)
公式:
=FILTER(A2:D13,D2:D13>LARGE(D2:D13,4))
注:查找销售额排名前三的数据,只需要将LARGE函数作为筛选条件,LARGE函数的作用是返回第K个最大值,所以在案例中公式的逻辑是筛选大于排名第四的销售额的数据,与LARGE函数相对应的是SMALL函数。
案例十一:对筛选后的数据进行排名
公式:
=SORT(FILTER(A2:D13,D2:D13>LARGE(D2:D13,4)),4)
注:1、FILTER函数搭配LARGE函数筛选TOP3的数据;
2、FILTER函数嵌套SORT函数对筛选结果进行排序。
以上为精心挑选的FILTER函数十一个案例,供大家参考。