
问题定义:为什么“合并多列并去重”总卡在最后一步
在数据清洗场景里,把姓名、手机号、地址等分散列合并成一串“唯一值”几乎是每日刚需。传统做法是:先复制→粘贴到一列→删除重复项。缺点很明显:步骤多、无法自动更新、容易误删原始数据。WPS表格 2026 春季版把 UNIQUE、TEXTJOIN、FILTER 三个函数打包进底层引擎,一次性解决“合并+去重+动态刷新”三大痛点。
功能边界:哪些值能被识别为“重复”
UNIQUE 函数把“完全相同的字符”视为重复,区分全半角、大小写,但忽略格式差异(如红色字体 vs 黑色字体)。经验性观察:若单元格内存在不可见字符(CHAR 160 不间断空格),会被当成新值,导致去重失败。解决思路:先用 CLEAN 或 SUBSTITUTE 清一遍。
最短可达路径:Win/Mac/安卓三端通用公式
步骤 1 准备区域
打开 WPS 表格,选中空白单元格(建议放在原表右侧,避免循环引用)。假设需要合并 A2:C100 中的三列。
步骤 2 输入一次性公式
=TEXTJOIN("、",TRUE,UNIQUE(TOCOL(A2:C100,1)))
回车即可得到用“、”分隔的唯一值字符串。公式拆解:TOCOL 把二维区域压成一列,并跳过空单元格(第二参数写 1);UNIQUE 对压平后的单列去重;TEXTJOIN 用指定分隔符串接结果,TRUE 表示忽略空值。
步骤 3 向下填充或溢出
WPS 表格已支持动态数组,公式溢出区域会自动用蓝色边框提示,无需手动拖拽。若你仍在 2024 旧版,需按 Ctrl+Shift+Enter 确认为 CSE 数组,再向下拖拽。
平台差异与回退方案
| 平台 | 最低版本 | 回退写法 |
|---|---|---|
| Windows 桌面 | 12.6.0.2153 | 无 UNIQUE 时:=IF(COUNTIF($E$1:E1,A2:C100)=0,A2:C100,"") 再 TEXTJOIN |
| macOS | 同版通用 | 同上 |
| 安卓/iOS | 移动端 13.1+ | 若提示“函数不存在”,改用「数据→删除重复项」手动菜单 |
例外与副作用:空值、错误值、数字格式
空单元格:TOCOL 第二参数写 1 可跳过;若写 0,空值会被 UNIQUE 当成一个“空文本”保留,最终出现首尾多余分隔符。错误值:#N/A、#DIV/0! 会被 TEXTJOIN 原样保留,导致输出字符串中间出现“#N/A”。建议在外层再包 IFERROR:=TEXTJOIN("、",TRUE,IFERROR(UNIQUE(TOCOL(A2:C100,1)),""))。数字格式:UNIQUE 把“1”与“1.0”视为不同值,若不需要区分,可在外层加 VALUE 统一转换。
验证与观测方法:如何确认结果真的“唯一”
- 选中公式溢出区域,状态栏计数显示“唯一值”数量。
- 复制结果→粘贴为值→用「数据→删除重复项」再跑一次,若提示“未发现重复”,则验证通过。
- 对 1 万行×10 列的随机样本测试,经验性观察:公式计算耗时在亚秒级,文件体积几乎无增长。
何时不该用:性能与协作红线
超过 5 万行×20 列的连续区域,动态数组溢出会占用大量内存,可能导致安卓端闪退。此时建议改用 Power Query(数据→获取数据→从表/区域)。需要保留区分大小写的场景(如验证码字符串),UNIQUE 默认不区分,可改用辅助列 =EXACT() 手工比对。多人协作且版本差异大:若同事仍在 2023 旧版,打开文件会显示 _xlfn 前缀并失效,需提前统一升级。
最佳实践清单:复制即用
检查表
☐ 区域不含合并单元格,否则 TOCOL 返回 #VALUE!。
☐ 分隔符与下游系统一致:如导入 MySQL 建议用“|”而非“、”。
☐ 公式溢出区不要手动输入任何数据,防止“无法覆盖”错误。
☐ 文件另存为 .xlsx 格式,.et 旧格式不支持动态数组。
☐ 若结果超 32767 字符,TEXTJOIN 返回 #VALUE!,需改用 Power Query 或分批输出。
FAQ:WPS 表格合并多列去重常见疑问
公式返回 #NAME! 怎么办?
说明当前版本低于 12.6,缺失 UNIQUE。升级或改用「数据→删除重复项」手动菜单。
能否按出现顺序保留最后一个值?
UNIQUE 默认保留首次出现。若需“最后一次”,可先用 SORTBY 把行号倒序,再 UNIQUE。
分隔符想换行而不是符号?
把 TEXTJOIN 第一参数写成 CHAR(10),然后把结果单元格设为「自动换行」即可。
核心结论与下一步行动
借助 UNIQUE+TEXTJOIN,WPS 表格把原本需要 5 步的手工操作压缩成 1 个动态公式,且能随源数据实时刷新。若数据量低于 5 万行,这几乎是零成本方案;超出后请切换到 Power Query。现在就打开你的表格,把 A2:C100 换成实际区域,复制公式回车——3 秒后,你会得到一串干净、无重复、可直接粘贴到邮件或数据库的合并值。



