公式技巧

WPS表格如何用公式按条件统计不重复人数?

作者:WPS官方团队
WPS表格按条件统计不重复人数, 如何用公式在WPS实现去重计数, WPS中UNIQUE和COUNTA组合用法, SUMPRODUCT多条件去重计数步骤, WPS COUNTIF去重出现重复怎么办, 数据透视表与公式去重有什么区别, WPS大数据量去重统计优化方法

功能定位:为什么“条件+去重”必须公式化

在数据合规场景里,按条件统计不重复人数常被用于审计抽样、考勤核对、补贴发放名单锁定。WPS表格 12.9.1 的公式引擎已完整支持动态数组,能把“筛选→去重→计数”三步合成一步,既避免手工透视的临时文件散落,也便于后续在“协作历史”中留痕追溯。

与数据透视表相比,公式法的最大优势是“字段变动可自动重算”,且结果单元格能被其他公式再次引用;代价则是需要一次性写对逻辑,否则数组溢出会拖慢大文件。下文给出两条官方验证可用的套路,并标注何时该回退到透视表。

功能定位:为什么“条件+去重”必须公式化
功能定位:为什么“条件+去重”必须公式化

套路 A:UNIQUE+FILTER+COUNTA 动态数组

1. 适用版本与入口

Windows/macOS 桌面端需 12.9.1 及以上;移动端目前仅支持查看溢出结果,不可编辑公式。路径:打开表格 → 选中空白单元格 → 直接输入公式栏即可。

2. 标准写法

假设 A 列是“部门”,B 列是“员工工号”,需统计“研发部”不重复人数:

=COUNTA(UNIQUE(FILTER(B:B,A:A="研发部")))

公式会先在内存中把满足条件的工号抽出来,再去重,最后用 COUNTA 计数文本型工号。若工号是数值,可用 COUNT 替代。

3. 可复现验证步骤

  1. 在测试簿手动输入 10 行示例数据,让“研发部”出现 3 人次但仅 2 个不同工号。
  2. 输入上述公式后,应返回 2;若返回 3,说明 UNIQUE 作用域包含了空白,需把 B:B 改成 B2:B11 等确定性区域。
  3. 打开“公式”→“公式求值”逐步观察,确认 FILTER 返回数组确实只有研发部行。

4. 边界与副作用

警告

当数据超过 5 万行且条件宽松时,动态数组会一次性占用数百 MB 内存,可能导致 32 位 WPS 崩溃。经验性观察:在 8 GB 内存机器上,若返回数组>10 万行,界面会出现“计算中”假死数十秒。缓解办法:把整列引用改成 Excel 表格(Ctrl+T)的结构化引用,例如[工号]、[部门],可让引擎只扫描已用区域。

套路 B:SUMPRODUCT+COUNTIFS 的兼容旧版方案

1. 何时必须用

若文件需分发给仍在使用 11.x 版本或 Linux 信创环境的同事,UNIQUE 会显示 #NAME?,此时可回退到 SUMPRODUCT 数组:

=SUMPRODUCT((A2:A1000="研发部")*(1/COUNTIFS(B2:B1000,B2:B1000,A2:A1000,"研发部")))

逻辑是:给每个满足条件的行一个“1/出��次数”权重,再求和,即得去重计数。

2. 性能与可审计性

该公式为单单元格数组,不会溢出,兼容 2003 语法,但计算复杂度是 O(n²)。经验性观察:在 1 万行数据、旧款 i5 笔记本上,每次重算约 2–3 秒,可接受;超过 5 万行则明显卡顿。若需留痕,可在“文件”→“属性”→“自定义”里新增字段“公式版本=SUMPRODUCT”,方便后续比对。

决策树:该选哪条套路?

评估维度 UNIQUE+FILTER SUMPRODUCT
版本要求 12.9.1 以上 11.x 起可用
数据规模 ≤5 万行流畅 ≤1 万行流畅
协作留痕 溢出区域可批注 单格易锁定
后续引用 可直接作为数据源 需外套命名区域

若文件需交付给上级审计部门,建议优先 UNIQUE+FILTER,并把溢出区域复制为值到“锁定”工作表,再对复制结果加批注说明公式来源,实现“可读+可回溯”。

操作路径:桌面与移动端差异

桌面端(Windows/macOS)

  1. 打开数据工作簿 → 选中空白单元格 → 在公式栏直接输入上述任一公式。
  2. 若出现“溢出区域被占用”,检查下方是否有非空单元格,清空即可。
  3. 如需固化结果:选中溢出区域 → Ctrl+C → 右键“粘贴为值”。

移动端(Android/iOS)

  • 目前仅支持查看由桌面端生成的溢出结果,不可编辑动态数组公式。
  • 若需在手机端调整条件,建议把“条件”单独放在 D1 单元格,公式改为引用 D1,这样手机改值即可重算。
移动端(Android/iOS)
移动端(Android/iOS)

例外与回退:透视表+删除重复何时更好

当文件需要多人同时分块协同,且条件组合高达数十种时,公式法会导致频繁重算冲突。此时可用“数据”→“删除重复项”+“数据透视表”两步走:

  1. 先复制目标列到临时工作表 → 数据 → 删除重复项。
  2. 插入透视表 → 将“部门”拖入筛选 → 计数工号即可。

缺点是步骤无法自动更新,但优势是计算一次性完成,后续协作不再触发重算,适合月末一次性上报场景。

合规与数据留存:让公式结果可审计

提示

审计处常要求“原始数据—计算逻辑—结果”三段式可追溯。推荐做法:1. 把原始数据设为“只读”表格并加保护密码;2. 在相邻列插入公式,溢出区域用浅色填充;3. 文件→信息→版本历史→标记版本“公式计算基准日”,即使后续有人改数据,也能一键回到基准快照。

故障排查:常见错误码与处置

现象 可能原因 验证与处置
#SPILL! 溢出区域被非空单元格阻挡 选中公式单元格下方区域,删除或移走内容
#NAME? 版本低于 12.9 或不支持 UNIQUE 改用 SUMPRODUCT 方案;或升级至最新版本
结果明显偏大 整列引用把空白当 0 计入 把 B:B 改成结构化引用如 Table1[工号]
文件体积暴涨 多次复制溢出区域为值,残留隐藏数组 文件→检查工作簿→清除空白数组→保存

适用/不适用场景清单

  • 适用:日报考勤抽查、项目补贴名单锁定、课程签到唯一学生数、合规抽样审计。
  • 不适用:>10 万行明细且需频繁切换条件;需多人同时编辑同区域;终端为 Linux 信创旧版(11.x 以下)。

最佳实践 5 条检查表

  1. 把“条件”单独放在单元格,供移动端随时调整。
  2. 数据区先转 Excel 表格(Ctrl+T),避免整列引用拖慢性能。
  3. 公式完成后立即用“版本历史”打基准快照,方便审计回溯。
  4. 若文件对外分发,复制公式结果为值,防止对方版本不支持动态数组。
  5. ≥5 万行数据先用“筛选”抽样 1000 行验证公式返回是否符合预期,再全量应用。

FAQ:WPS 表格按条件统计不重复人数

移动端能否直接输入 UNIQUE 公式?

截至 12.9.1 移动版仅支持查看溢出结果,不可编辑 UNIQUE 公式。建议把条件放到单独单元格,手机改值即可触发桌面端重算。

文件发到 Linux 信创环境报错 #NAME? 怎么办?

信创版 11.x 尚未支持动态数组,请改用 SUMPRODUCT+COUNTIFS 兼容方案,或升级至信创专用 12.9.1 rpm 包。

溢出区域能否加批注?

可以,但批注会随溢出区域大小自动移位。若需固定审计意见,建议复制为值后再加批注。

5 万行以上还有别的轻量方案吗?

可先用“数据”→“删除重复项”生成辅助列,再用常规 COUNTIFS 统计,计算一次性完成,内存占用最低。

公式结果如何固化并加国密水印?

复制为值→审阅→文档加密→勾选“国密 SM4”→权限管理→只读水印→输入“统计基准日+工号”即可。

总结与下一步行动

WPS表格 12.9.1 已提供两条官方验证可用的“按条件统计不重复人数”公式路径:UNIQUE+FILTER 适合 12.9 以上且数据≤5 万行;SUMPRODUCT 兼容旧版但性能受限。选定方案后,用“版本历史”打快照、把条件拆到独立单元格、再对结果复制为值加固,即可在满足合规留痕的同时,兼顾移动端查看与审计回溯。

下一步,请打开你的目标文件,先用 1000 行小样验证公式返回是否符合预期,确认无误后全量应用,并第一时间在“文件→信息→版本历史”里标记基准版本——这样无论数据如何变动,你都能一键回到审计起点。

📺 相关视频教程

原来Excel跨表合并多个表格这么简单😭 #excel #办公技巧 #职场干货 #office办公技巧

#去重计数#条件筛选#公式优化#数组函数#数据管理
关键词:WPS表格按条件统计不重复人数如何用公式在WPS实现去重计数WPS中UNIQUE和COUNTA组合用法SUMPRODUCT多条件去重计数步骤WPS COUNTIF去重出现重复怎么办数据透视表与公式去重有什么区别WPS大数据量去重统计优化方法

相关文章