FILTER函数虽然已经出来很久了, 但目前仅存在于office2021和365版本,很多小伙伴可能还没用过,今天我们就系统的学习下这个新函数。
FILTER单词“过滤、筛选”的意思,顾名思义,FILTER函数的作用是:根据给定的条件筛选出对应的数据。
语法
=FILTER(数据区域,筛选条件,[找不到结果返回的值])
一共有三个参数,我们只需要记住前两个参数。
第一个参数是要筛选的单元格区域或数组,第二个参数是筛选条件;
第三个参数是容错值,如果未筛选出任何数据,FILTER函数会返回“#CALC!”,可以通过参数三屏蔽它,相当于自带IFERROR函数。
单条件筛选
下图中根据A-D列的数据源,筛选出省份为“山东”的所有数据,直接在F2单元格输入公式:
=FILTER(A:D,B:B="山东")
可以发现的是,FILTER会自动向右、向下溢出(填充)满足条件的内容,并不需要拖动公式填充。
动图展示如下:
还可以发现的是,函数返回的列数与参数一框选的列数相同。
如果只要后两列数据,参数一只需要选择C-D列即可:
那如果需要返回的区域不连续怎么办?
比如返回分类、省份和销量三列,这里可以借助SWITCH函数,公式如下所示:
=FILTER(SWITCH(,1,A:A,2,B:B,3,D:D),B:B=G1)
如果利用利用vlookup函数匹配,需要建立辅助列,这里FILTER函数一步到位。
多条件筛选——且
如果筛选条件为多个“且”条件,这里可以通过“*”将多个条件连接。
下图中筛选出:省份为“山东”且类别为“家具”的数据。
=FILTER(A:D,(B:B="山东")*(C:C="家具"))
多条件筛选——或
如果筛选条件为多个“或”条件,这里可以通过“+”将多个条件连接。
下图中筛选出:省份为“北京” 或 销量大于300的数据。
=FILTER(A:D,(B:B="北京")+(D:D>300))
筛选排序
结合SORT函数,可以实现筛选并排序的效果。
下图中,筛选出省份为"山东"、并按"销量"降序的数据。
=SORT(FILTER(A:D,(B:B="山东")),4,-1)
SORT函数为排序函数,参数一为排序区域,参数二为排序依据的行或列(这里按第四列销售排序),参数三决定升序or降序,1为升序,-1为降序,这里采用降序排序。
模糊筛选
结合FIND、ISNUMBER可以实现模糊筛选的效果。
下图中筛选出省份名中带“海”字的数据。
=FILTER(A:D,ISNUMBER(FIND("海",B:B)))
FIND函数用于查找省份中是否存在关键字“海”,存在返回对应的位置;
再利用ISNUMBER函数判断是否为数值,结果返回逻辑值TRUE和FALSE;
两者作为FILTER函数的参数二。
规避错误值
上面说到,FILTER函数如果未找到满足条件的值,会返回“#CALC!”,如下图所示:
如果不想让它显示出来,我们可以通过参数三屏蔽它:
这里的参数三相当于IFERROR函数。
小结
通过以上案例可以发现IFERROR函数优势在于直接返回一个可运算的数组,可以结合其它函数继续运算,十分方便。
领取专属 10元无门槛券
私享最新 技术干货