有了这个函数,再也不用万金油了。

你好,我是刘卓。欢迎来到我的公号,excel函数解析。不可否认,office365新增函数的功能很强大,很实用。以前很复杂的问题,比如提取不重复值,一对多查询,多关键字排序等,现在轻而易举搞定。

今天先来分享筛选函数—filter的用法,有了这个函数,你再也不想用万金油了。下面让咱们一起来看看这个函数的用法。
-01-

函数说明

filter根据指定的条件来筛选数据,结果返回一个数组。函数语法如下,有3个参数。

=FILTER(区域,条件,[如果没有满足条件的值,让它返回的值])

第1参数是要筛选的区域或数组。可以是一行、一列或多行多列。

第2参数是要筛选的条件,也就是某行或某列满足的条件,返回的结果是一个由true和false组成的逻辑值数组。结果为true的将被筛选出来。

第3参数是如果没有满足条件的值,让它返回我们指定的值。

-02-
具体应用

1.单条件筛选(一对多查询)

下图左表是某公司部分员工的信息表,现在要根据H1单元格的部门,查询出所有的记录,也就是查询出所有生产部的记录。结果如F4:I6所示。只需在F4单元格输入下面的公式即可,不用按三键。

=FILTER(A4:D15,C4:C15=H1,"")

第1参数A4:D15是要筛选的区域;第2参数C4:C15=H1是要筛选的条件,也就是C4:C15这一列的部门是否等于H1的生产部,如果相等返回true,否则返回false,结果为{FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE},是一个逻辑值数组。

第3参数的空本文""是我们自己指定的,也就是如果C4:C15的部门中没有等于生产部的,就让它返回""。

当第2参数的条件区域中有满足筛选的条件时,对应的第1参数的记录就被筛选出来。这个函数挺好理解的。

如果你只要筛选出生产部的人员姓名,只需将筛选区域改为A4:A15即可。

2.多条件与的筛选(多对多查询)

还是同一份数据源,现在的要求是筛选出籍贯是北京且工资大于5000的所有记录。在F23单元格输入下面的公式,完成。现在是多条件且的关系,第2参数的两个条件用乘法,非0的数字表示true,0表示false。

=FILTER(A23:D34,(B23:B34=H19)*(D23:D34>5000),"")

3.多条件或的筛选(多对多查询)

现在是多条件或的筛选,筛选出姓名是2个字或工资大于6000的所有记录。在F41单元格输入下面的公式即可。第2参数的两个条件用加法,表示或的关系。

=FILTER(A41:D52,(LEN(A41:A52)=2)+(D41:D52>6000),"")

4.筛选出前3条记录

在F59单元格输入公式=FILTER(A59:D70,ROW(1:12)<4)即可。
5.按部门合并名单

按照F列的部门合并相同部门的人员名单,在G77单元格输入公式=TEXTJOIN("、",,FILTER(A$77:A$88,C$77:C$88=F77)),向下填充。首先用filter筛选出各部门的人员,然后用textjoin把这些名单合并起来。

今天分享的只是单个新函数的用法,如果多个新函数配合起来使用会有更好的效果,实用性也更强。希望对你有所帮助,有任何问题可以在讨论区留言。

链接:

https://pan.baidu.com/s/1Db3Ii6OcFT6YRhTwbsEllw

提取码:fy27
(0)

相关推荐