FILTER+UNIQUE+COUNTA统计唯一性:wps中FILTER函数是一个超级智能筛子
脚本之家
FILTER函数在Excel或WPS表格中是一个超级智能筛子,下面我们通过一个简单的案例理解它的强大之处。
如下图所示:
A1:C10区域是各部门的技能认证证书的登记表。每个部门中的员工可能获取了相同的证书。
我们要做的就是:根据E2单元格中的部门,在F列统计出该部门所有员工获取的不同的证书,即唯一不重复的证书。
比如销售部,4位员工虽然都获取了各自的证书,但是员工冯九和孙一获取的证书都是计算机证,所以不同的证书其实只有三种,分别是:英语4级、会计证、计算机证。
FILTER函数的定义与功能:
FILTER函数是Excel和WPS表格工具中的一种动态数组函数,核心功能是根据指定条件从数据区域中筛选出符合条件的记录。
FILTER函数语法为:
=FILTER(数组, 条件, [无结果时的返回值])
- 数组:需要筛选的数据区域(如C2:C10)。
- 条件:逻辑表达式(如A2:A10="销售部")。
无结果时的返回值(可选):当无匹配数据时显示的内容(如"无记录")。
第一步:筛选
我们可以这样输入函数公式:
=FILTER(C2:C10,A2:A10=E2)
FILTER函数筛选C2:C10区域的数据。当符合什么条件的时候才会执行筛选命令呢?只有当条件区域A2:A10中的部门与E2单元格指定的部门相同时,才会将C2:C10区域与之对应行的证书数据筛选出来。
Excel中的UNIQUE函数用于从指定的数组或区域中提取唯一值(去除重复项),并返回一个动态数组。
UNIQUE函数语法很简洁:
=UNIQUE(去重区域, [按行或列返回], [去重模式])
- 参数1:(必需):需要提取唯一值的原始数据区域或数组。可以是单行、单列,或多行多列的区域。
- 参数2:(可选) FALSE(默认):按行比较,将每一行视为整体,返回唯一行。TRUE:按列比较,将每一列视为整体,返回唯一列。
- 参数3:(可选) 控制返回结果的筛选条件:FALSE(默认):返回所有唯一行或列(即使重复出现多次,也保留一次)。TRUE:仅返回在原始数据中恰好出现一次的行或列。
第二步:去重。
我们可以这样输入函数公式:
=UNIQUE(FILTER(C2:C10,A2:A10=E2))
使用UNIQUE函数对上一步FILTER函数返回的数组区域数据去重;省略第2参数表示按行去重,在单列返回值;省略第3参数表示留下唯一值列表,即使重复出现多次证书数据,也只保留一次。
至此,我们就实现了统计销售部唯一证书列表的工作。
如果我们想要统计的是指定部门的不同证书的个数:
可以这样输入函数公式:
=COUNTA(UNIQUE(FILTER(C2:C10,A2:A10=E2)))
COUNTA函数可以统计指定区域内的非空单元格的个数。
所以使用COUNTA函数统计UNIQUE与FILTER函数返回的不同证书唯一值列表区域中非空值的个数为3。