功能定位:为什么“合并多列并去重”仍是高频痛点
2026 春季版 WPS 表格把行上限放宽到 100 万,但“多列拼成一串再去重”依旧让新手陷入复制→粘贴→删除重复项的循环。症结在于:合并只需一秒,去重却常出错;一次性操作容易,后续追加难。下文方案一次写好、长期追加、协作无感,全程纯函数,无需 VBA 或 Python。
先给结论:三步速通路径(桌面端最短入口)
- 选中空白列首行,输入
=TEXTJOIN("、",1,A2:D2),回车并向下填充,完成横向合并。 - 在相邻空白列首行输入
=UNIQUE(E:E),回车即纵向去重,生成新列表。 - 如需追加数据,只需继续在原表下方粘贴新行,UNIQUE 区域会自动溢出更新,无需再次操作。
移动端(Android/iOS)同样支持上述函数,路径:工具栏 → 公式 → 文本 → TEXTJOIN;数据 → 唯一值 → UNIQUE。受屏幕键盘限制,建议先在桌面端建好模板,再云端同步到手机追加录入。
决策树:什么时候用函数,什么时候用“删除重复项”按钮
快速判断
- 数据需频繁追加→ 用 UNIQUE 动态数组,避免每日手工点按钮。
- 仅一次性清洗→ 用“数据→删除重复项”按钮更快,且兼容导出给 Excel 2007 用户。
- 需要区分大小写去重→ 函数方案需再加 EXACT 嵌套;按钮方案默认不区分大小写,可先用辅助列转换。
经验性观察:百万行极限下的性能差异
在 64 位 Windows 设备、16 GB 内存环境下,对 80 万行文本列使用 UNIQUE 溢出,首次计算约需数十秒;之后每追加 5 万行,增量刷新在数秒内完成。若改用“删除重复项”按钮,整表重写耗时相近,但无法增量更新,协作时容易锁表。
函数深潜:TEXTJOIN 与 UNIQUE 的边界条件
TEXTJOIN 的四个参数详解
| 参数顺序 | 含义 | 易错点 |
|---|---|---|
| 1 | 分隔符 | 如含特殊字符,需加双引号,如"、" |
| 2 | 是否忽略空单元格 | TRUE 写 1 即可,FALSE 写 0 |
| 3… | 待合并区域 | 支持多段不连续区域,如 A2:A100,C2:C100 |
UNIQUE 的两种模式
- 单列去重:=UNIQUE(E:E) 直接返回一列。
- 多列唯一组合:=UNIQUE(A2:D100,FALSE,FALSE) 把四列当成整体键值,返回不重复行。
若只想保留去重后的首行记录,可再套 INDEX:=INDEX(UNIQUE(A2:D100),0,1) 取第一列。
追加场景:如何设计“可扩展区域”避免 #SPILL!
UNIQUE 属于动态数组,溢出区域下方必须留空。经验做法:给原始数据套上“Excel 表”(Ctrl+T),表名如 Table1,公式写成 =UNIQUE(Table1[合并列])。新增行只要落在表内,UNIQUE 会自动下推,不会与人工数据冲突。
警告
若把 UNIQUE 结果直接放在 Table1 右侧,WPS 会把表自动扩张,导致列宽被重置。建议将结果放在单独工作表,并使用“=”引用,保持格式隔离。
协作与权限:多人同时追加时如何防止重复
金山协作 2.0 的“流式协同”支持 80 ms 级光标同步,但 UNIQUE 溢出区默认只读。若同事在旧版本 Excel 中打开,会显示为静态值。解决方法是:在协作前把 UNIQUE 结果复制→粘贴为值,放到只读区域;动态区域隐藏或加保护,避免误删。
常见失败分支与回退方案
失败 1:打开文件后公式显示为 _xlfn.UNIQUE
原因:文件被另存为 .xls 兼容格式。回退:另存为 .xlsx 或 .et 即可恢复动态数组。
失败 2:UNIQUE 返回 #CALC!
原因:溢出区域被图形、批注或合并单元格占用。回退:检查红色边框提示,清空下方单元格即可。
失败 3:移动端看不到溢出结果
原因:iOS 版 13.7.2 以下存在渲染缓存 bug。回退:上下滑动触发重绘,或升级到最新版本。
是否值得?量化收益与替代方案对比
| 方案 | 操作次数(月更30次) | 出错概率 | 协作友好度 |
|---|---|---|---|
| 手动按钮 | 30 次点击 + 30 次复制粘贴 | 高(易漏选区) | 低(锁表) |
| 函数模板 | 1 次搭建,0 次手工 | 低(自动刷新) | 高(只读溢出) |
以每月更新 30 次、每次节省 3 分钟计,函数模板一年可省 18 小时,足够覆盖学习成本。
不适用场景清单(When not)
- 需区分全角半角、简体繁体差异的去重——UNIQUE 默认按二进制值比对,需前置 ASC/ Wide 函数转换。
- 输出要给 Excel 2007 以前版本——动态数组无法向下兼容,必须粘贴为值。
- 行数超过 104 万行——WPS 表格虽支持 100 万行,但溢出数组需额外空白行,超出会报错。
最佳实践 6 条检查表
- 原始数据必须先套“Excel 表”再写公式,确保追加自动扩展。
- UNIQUE 结果放在独立工作表,命名“去重结果”,避免误编辑。
- 文件另存前,用“文件→检查兼容性”确认无 _xlfn 前缀。
- 协作场景下,把动态区域设为“锁定+隐藏”,仅开放值区域给同事。
- 每月用“数据→刷新全部”手动触发一次全表重算,防止缓存异常。
- 备份模板:把含公式文件存为 .ett 模板,下次一键新建,无需重写。
FAQ:WPS 表格合并去重高频疑问
UNIQUE 结果能直接排序吗?
可以外套 SORT:=SORT(UNIQUE(E:E)),同样动态溢出。
合并后想加前缀“第N次:”怎么做?
用 CONCAT 或 & 连接:="第"&ROW(A1)&"次:"&TEXTJOIN("、",1,A2:D2)
Mac 版为何找不到 UNIQUE?
请确认已升级至 13.7.2 以上版本;早期 Mac 版把动态数组函数归入“Beta 功能”,需在设置→高级→启用实验功能。
收尾:下一步行动建议
今天就把手头需要日报汇总的多列名单按本文模板改写成 TEXTJOIN+UNIQUE 动态版本,另存为 .ett 模板上传到金山云盘;下次同事甩来新数据,你只需打开模板粘贴,去重结果秒级呈现。若行数逼近百万,提前评估是否转用 WPS 提供的 Python 脚本或 Power Query 方案,以免溢出受限。记得每月备份一次模板,协作前把动态区域加锁,你的“合并去重”工作就真正实现了零手工。




