
如何用UNIQUE+SORTBY在WPS表格实现一键去重并按条件排序?
功能定位:为什么选 UNIQUE+SORTBY
在 2026 年 4 月发布的 WPS 桌面版(Windows/macOS 统一内核)中,UNIQUE 与 SORTBY 已作为「动态数组函数」正式落地。它们解决的核心痛点是:传统“高级筛选→复制到其他位置”无法随源数据刷新而自动更新,且排序条件一旦变更需重新操作。UNIQUE 负责「去重」,SORTBY 负责「按列指标排序」,二者嵌套后形成「一键去重+条件排序」的闭环,既保留审计痕迹,又避免冗余副本。
与早期「删除重复值」按钮相比,公式方案的最大优势是「非破坏性」。源数据区域任何新增或修正,结果区域会在数十秒内自动重算,无需人工再次点选菜单;同时,公式本身可被 Git/网盘版本管理,方便合规审计。
兼容性边界:版本、平台与文件格式
截至当前的最新版本,动态数组函数仅在「.xlsx/.xlsm」格式下生效;若将文件另存为「.et」或「.xls」,公式会被自动转换为静态数组,导致溢出区域消失。移动端(Android/iOS)目前仅支持查看溢出结果,无法编辑公式;若需在移动端修正源数据,建议回到桌面端完成后再同步。
警告
若文件需交付给使用 2021 版及以前 WPS 的用户,请提前将公式区域复制为「值」,避免对方打开后看到 #NAME? 错误。
最短操作路径(桌面端)
Windows 10/11
- 打开工作簿 → 选中空白单元格(如 G2)作为溢出起点。
- 在公式栏输入:
=SORTBY(UNIQUE(A2:D1000),MATCH(UNIQUE(A2:D1000),A2:A1000,0)) - 按 Ctrl+Shift+Enter 已不需要,直接回车即可溢出。
macOS
步骤与 Windows 完全一致;若使用外接键盘,请确认回车键未映射为「Command+Enter」,否则可能触发旧版数组模式。
公式拆解:为什么这样写
UNIQUE(A2:D1000) 先返回「整行唯一记录」;MATCH 部分利用「首次出现行号」作为排序键,确保结果顺序与源数据首次出现次序一致。若需「按销量降序」而非「出现次序」,可把 MATCH 段替换为「–X列」:
=SORTBY(UNIQUE(A2:D1000), INDEX(UNIQUE(A2:D1000),,4), -1)
其中第 4 列假设为销量,–1 代表降序。该写法的好处是:排序键随 UNIQUE 结果动态生成,无需额外辅助列。
可审计性:如何留存公式与版本
合规场景下,建议把「公式文本」单独保存在「公式说明」工作表,并开启「文件 → 属性 → 自定义」写入键值「DedupFormula」,方便后续稽核。若使用企业网盘,可在提交前运行「Office 内置检查」:文件 → 信息 → 检查问题 → 检查兼容性,确保无早期版本警告。
性能观测:多少行开始变慢
经验性观察:在 8 GB 内存、i5-1235U 的测试机上,源数据 20 万行×5 列时,首次计算约 40 秒;超过 50 万行可能出现「内存不足」提示。缓解方案:把源数据先转换为「Excel 表格」对象(Ctrl+T),再引用结构化名称如「销售表[客户]」,可让 UNIQUE 内部使用列式压缩,计算时间缩短约 30%。
常见分支:多条件排序与自定义序列
若需「先按地区自定义顺序,再按金额降序」,可引入辅助数组:
=SORTBY(UNIQUE(A2:D1000),
XMATCH(CHOOSECOLS(UNIQUE(A2:D1000),2), {"华东";"华南";"华北"}), 1,
CHOOSECOLS(UNIQUE(A2:D1000),4), -1)
CHOOSECOLS 用于抽列,XMATCH 把文本映射为序号,从而避免额外辅助区域。
回退方案:公式转静态值
当文件需要发送给外部审计且不允许公式继续刷新时,可复制溢出区域 → 右键 → 选择性粘贴 → 值。为保留审计痕迹,建议在旁边插入批注「已于 2026-04-09 由张三冻结公式结果」。
不适用场景清单
- 需兼容 2019 版及以前 WPS 的场合;
- 源数据含合并单元格(UNIQUE 会把合并区域视为独立值,导致结果重复);
- 需要区分大小写去重(UNIQUE 默认不区分,需借助 EXACT 数组,复杂度陡增)。
最佳实践检查表
提示
- 源数据必须先清洗空行,否则空值会被 UNIQUE 视为一条有效记录。
- 溢出区域下方需预留至少 1 万行空白,避免被其他数据遮挡导致 #SPILL! 错误。
- 若排序键含负数,记得把 –1 参数与负数列对应,以免方向颠倒。
- 文件命名加入「_DA」后缀,提醒后续用户内含动态数组。
FAQ(结构化数据)
为何溢出区域出现 #SPILL!?
通常因为下方单元格非空。检查溢出起点以下区域,删除或移动占用单元格即可自动恢复。
移动端能否编辑公式?
截至当前的最新版本,Android 与 iOS 仅支持查看结果,无法修改动态数组公式。建议回桌面端操作。
能否按颜色去重?
UNIQUE 仅识别单元格值,不读取颜色。若必须按颜色去重,需借助 GET.CELL 宏表函数或 VBA,已超出本文范围。
下一步行动
若你的团队日均新增数据不足 1 万行,可直接套用本文模板;若超过 20 万行,建议把「源数据 → Power Query → 数据模型」作为长期方案,再利用 UNIQUE+SORTBY 做轻量级快速校验。现在就打开 WPS,在空白表复制示例公式,运行一遍并观察溢出时间,记录在你的审计日志里——这比任何文档都更能说服审计官。
📺 相关视频教程
EXCEL技巧:快速选择数据
