公式技巧公式去重计数

WPS表格如何用公式统计不重复人名数量?

WPS官方团队
WPS表格统计不重复人名, 如何使用UNIQUE函数去重计数, COUNTIF去重统计步骤, SUMPRODUCT统计不重复值, 公式结果0的排查方法, 大数据量下去重公式性能, WPS表格人名重复计数, 公式统计唯一值教程

功能定位:为什么“不重复计数”总在最后一刻卡住

“WPS表格如何用公式统计不重复人名数量”之所以高频出现,是因为人事、运营、教务三张典型表——考勤、订单、成绩单——最后一步都要把“张三出现几次”抽象��“张三只算1人”。传统筛选→复制→删除重复项再计数,不仅步骤多,还破坏原始数据;而公式法能保留原表、自动随数据追加刷新,是2026年WPS官方推荐的数据清洗思路。

版本演进上,WPS Office 2021 之前只有“删除重复项”按钮;2022 夏季更新首次下放 UNIQUE 函数(仅 Windows 桌面);2024 年起 Mac 与安卓同步支持动态数组。至此,主流平台终于对齐 Excel 365 语法,为“一键去重+计数”奠定函数基础。

功能定位:为什么“不重复计数”总在最后一刻卡住
功能定位:为什么“不重复计数”总在最后一刻卡住

方案A:UNIQUE + COUNTA 组合(动态数组,最简洁)

操作路径(分平台)

  • Windows 桌面:输入公式栏直接键入 =COUNTA(UNIQUE(B2:B1001)),回车即可溢出结果。
  • Mac 桌面:同 Windows;若版本低于 2024,需点击「文件-选项-启用动态数组」。
  • 安卓/iOS:打开表格→点选单元格→在「函数卡片」中先输入 UNIQUE,再嵌套 COUNTA;移动端暂不支持一次回车溢出,需要分步确认。

经验性观察:当区域超过一万行,安卓端首次计算可能出现“计算中…”提示约数秒,属正常溢出延迟;桌面端通常在亚秒级完成。

Why:函数拆解与边界

UNIQUE 返回去重后的垂直数组;COUNTA 统计该数组非空单元格数,因而空值不会被计入。若人名列混杂空白单元格,结果仍准确。但若存在公式假空 ="",COUNTA 会将其视为文本“”而多算1,需要改用 COUNTIF(<数组>,"<>") 过滤。

方案B:FREQUENCY + MATCH 数组(兼容旧版,无动态数组也能跑)

步骤与可复现验证

  1. 在空白列(如D2)输入
    =SUM(--(FREQUENCY(MATCH(B2:B1001,B2:B1001,0),ROW(B2:B1001)-ROW(B2)+1)>0))
  2. 按下 Ctrl+Shift+Enter(Mac 用 Command+Shift+Enter),生成花括号数组公式。
  3. 验证:在B列末尾新增“张三”,结果应保持不变;若新增“李四”,结果+1。

Why:MATCH 返回首次出现位置;FREQUENCY 以这些位置为分段点,统计各段出现次数;最后只保留>0的段,即得“唯一”计数。该公式在 2019 及更早版本依然可运行,是向下兼容的底线方案。

When not:性能与可读性取舍

经验性观察:当数据超过5万行,FREQUENCY 数组会显著拖慢计算,文件保存体积也增大。若需每日追加行,建议改用方案A或转 Power Query(WPS 数据→获取数据)。

方案C:Power Query 可视化去重(一次建模,多次刷新)

最短路径

数据→获取数据→从表格/区域→在 Power Query 编辑器中选“姓名”列→主页→删除重复→关闭并加载至新工作表→在新表用普通 =ROWS() 计数。后续只需「数据→全部刷新」即可同步最新不重复人数。

适用场景:需要把去重结果当作明细继续透视,或要合并多表再计数。代价是生成查询链接,文件略大;若发送给仅装有手机端的同事,对方无法直接编辑查询。

常见分支:条件不重复计数(按部门、月份)

公式模板

若要在“销售部”内统计不重复人名,可用筛选版 UNIQUE:

=COUNTA(UNIQUE(FILTER(B2:B1001,C2:C1001="销售部")))

FILTER 先返回销售部姓名数组,再交 UNIQUE 去重。若平台未更新至支持 FILTER,可退化为 FREQUENCY+IF 数组:

=SUM(--(FREQUENCY(IF(C2:C1001="销售部",MATCH(B2:B1001,B2:B1001,0)),ROW(B2:B1001)-ROW(B2)+1)>0))

注意:数组公式需三键结束;区域引用整列(B:B)会大幅拖慢速度,务必限定行数。

公式模板
公式模板

例外与副作用:空白、大小写、前后空格

工作假设

“张三”与“张三 ”(尾部空格)会被 UNIQUE 视为两个名字,导致计数+1;同样,“张三”与“zhang san”大小写不同亦算两条。可在辅助列用 =TRIM(UPPER(B2)) 先清洗,再对辅助列做去重。

若数据来源于外部系统导出,经验性观察约有3%–5%的尾部空格风险,建议一律清洗后再喂给公式,避免月末统计误差。

故障排查:结果比预期少1或多1

  1. 多1:检查是否把表头“姓名”算进区域;改为 B2:B1001。
  2. 少1:确认是否存在手动隐藏行;UNIQUE 计算隐藏行,但筛选状态下行未参与数组可能导致视觉误差。
  3. 结果始终0:公式误输入为 =COUNTA(UNIQUE(B2:B1001,TRUE)),第二参数 TRUE 表示按行去列,返回空数组;应省略或填 FALSE。

适用/不适用场景清单

场景推荐方案理由
日报追加≤1万行UNIQUE+COUNTA公式自动溢出,零手动
旧版WPS 2019FREQUENCY+MATCH无动态数组也可用
多表合并+去重Power Query可视化拼接,可刷新
手机端超5万行不建议公式计算延迟明显,易闪退

最佳实践检查表(可直接打印贴屏)

  1. 先清洗:TRIM+UPPER 去空格与大小写。
  2. 再定范围:避免整列引用,锁定数据区最后一行。
  3. 选函数:新版优先 UNIQUE+COUNTA;旧版用 FREQUENCY。
  4. 加条件:FILTER 一次完成部门/月份筛选。
  5. 留日志:把公式写在独立“统计”工作表,防止被手动填写覆盖。
  6. 测刷新:追加样本行,确认结果联动更新。
  7. 备份:另存副本再玩数组公式,防误操作破坏原数据。

FAQ(使用 FAQPage Schema)

公式返回 #NAME! 怎么办?

表示当前版本未支持 UNIQUE/FILTER。请改用 FREQUENCY+MATCH 数组公式,或升级至 2024 年后版本。

能否直接忽略空白单元格?

UNIQUE 默认返回空白,COUNTA 会计数。可用 =COUNTA(UNIQUE(range))-COUNTBLANK(UNIQUE(range)) 或改用 COUNTIF(range,"<>") 过滤。

结果会随筛选变化吗?

公式法基于整段区域,不受手动筛选影响;若只想统计“可见行”,需改用 SUBTOTAL+OFFSET 辅助,或转 Power Query 导入时勾选“仅可见行”。

收尾:下一步行动建议

如果你刚升级到 2026 年最新版本,先用 UNIQUE+COUNTA 解决 80% 的场景;遇到旧同事协作,再留一份 FREQUENCY 兼容模板。把本文检查表贴在团队共享盘,任何新人都能在三分钟内完成不重复人名计数,再也不用 Ctrl+C/V 手动删重。现在就打开你的 WPS 表格,复制一行公式,验证一下统计结果是不是终于对得上了?

标签:公式去重计数函数数据清洗

相关文章