wps如何使用FILTER函数

2024-07-03 22:02:44      135 浏览    作者:li52

1、数据筛选

如下图,希望从左侧的信息表中,根据G2的条件,提取出符合条件的全部记录。
F5单元格输入以下公式,按回车。
=FILTER(A2:D14,C2:C14=G1)

FILTER函数第一参数使用A2:D14作为筛选区域,筛选条件为C2:C14=G1,如果筛选条件的计算结果是TEUR或者不为0的数值,FILTER函数就返回第一参数中对应的整行记录。


2、指定条件的不重复记录

如下图,希望从左侧的信息表中,根据G1的条件,提取出符合条件的不重复产品记录。

F5单元格输入以下公式,按回车。
=UNIQUE(FILTER(B2:B23,C2:C23=G1))
首先使用FILTER函数筛选出符合条件的全部产品列表,再使用UNIQUE函数去除重复项。


3、自定义排序

如下图,希望根据F列的职务对照表,对左侧的员工信息进行排序。

H2单元格输入以下公式,按回车即可。
=SORTBY(A2:B21,MATCH(B2:B21,F:F,))

公式中的MATCH(B2:B21,F:F,)部分,分别计算出B2:B21单元格中的各个职务在F列中所处的位置。
接下来再使用SORTBY函数,根据这些位置信息对A2:B21中的内容进行排序处理。


4、字符拆分

如下图,希望将A列混合到一起的姓名,拆分到多个单元格。

B2输入以下公式,按回车即可。
=TEXTSPLIT(A2,{“、”,”,”})
TEXTSPLIT用于拆分混在一起的内容,并且支持使用多种类型的间隔符。


5、提取员工名单

如下图所示,有两天的加工件数据,存放在不同工作表中。需要从两个工作表中提取出不重复的员工名单。
D2单元格输入以下公式,按回车即可“
=UNIQUE(VSTACK(A2:A11,’12月1日’!A2:A13))

先使用VSTACK函数将两个工作表中的姓名区域合并为一个垂直方向的数组,再使用UNIQUE函数从中提取处不重复记录。


6、按条件筛选部分记录

如下图所示,希望从左侧数据表中,提取出“生产部”年龄最小的两位员工的信息。
E2单元格输入以下公式按回车即可:
=VSTACK(A1:C1,TAKE(SORT(FILTER(A2:C11,B2:B11=”生产部”),3),2))

先使用FILTER函数,从A2:C11单元格区域中提取出符合条件的所有记录。
再使用SORT函数,对数组结果中的第3列升序排序。
接下来使用TAKE函数,返回排序后的前两行的内容。
最后,用VSTACK函数,将A1:C1单元格区域中的标题与TAKE函数的结果连接。


7、一列转多列

如下图,希望将A列的姓名转换为两列。
C2单元格输入以下公式即可:
=WRAPROWS(A2:A16,2,””)

WRAPROWS用于将一列内容转换为多列,第1参数是要处理的数据区域,第二参数指定转换的列数。
如果转换后的行列区域大于实际的数据元素个数,第三参数可将这些多出的区域显示成指定的字符。


8、隔行插入空行

如下图所示,希望根据左侧的员工信息,每隔1行插入一个空行。
E1单元格输入以下公式,按回车即可:
=VSTACK(A1:C1,WRAPROWS(TOROW(EXPAND(A2:C11,,6,””)),3))

EXPAND(A2:C11,,6,””),公式中的这部分,用来将A2:C11转换为6列。多出的维度用空文本填充:

接下来,使用TOROW函数将以上结果转换为一行,此时,每组数据之间间隔了三个空白列:

再用WRAPROWS函数转换为3列多行:

最后,用VSTACK将A1:C1中的标题与以上结果合并即可。





一对多查询,在日常工作中经常会用到,举个例子,左边是部门和员工数据,然后我们需要通过部门,查找出所有员工的名单


Filter公式快速实现一对多查询

无需插入辅助列,我们直接可以在E2单元格中输入公式:

=FILTER(B:B,A:A=D2)

=FILTER(结果列,查找列=查找值)

这样的话,所有的员工都一次性的查找出来了,但是它是竖向排列的

我们需要加一个转置公式,TRANSPOSE公式,输入的是:

=TRANSPOSE(FILTER(B:B,A:A=D2))

向下填充就得到了所有的结果

是不是很快,你学会了么?动手试试吧!

0
Copyright © 2024