You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Excel中合并两个单元格的不重复数据(无需使用VBA)

在Excel中合并两个单元格数据并去除重复项(非VBA方法)

方法1:适用于Excel 365/2021(支持动态数组函数)

直接用TEXTSPLIT、UNIQUE和TEXTJOIN三个函数组合,一步到位:

=TEXTJOIN(",", TRUE, UNIQUE({TRIM(TEXTSPLIT(A1, ",")), TRIM(TEXTSPLIT(B1, ","))}))
  • TEXTSPLIT(A1, ","):把A1中的字符串按逗号拆分成独立的文本数组
  • TRIM():去除每个文本项前后的空格(避免因空格导致的重复误判,比如"CC"和" CC")
  • {...,...}:将A1和B1拆分后的数组合并成一个大数组
  • UNIQUE():从合并后的数组中提取不重复的项
  • TEXTJOIN(",", TRUE, ...):把去重后的数组用逗号连接成字符串,TRUE参数会自动忽略空值(比如单元格末尾多打了逗号的情况)

方法2:适用于旧版Excel(无动态数组函数)

如果你的Excel版本不支持动态数组,可使用以下数组公式(输入后需按Ctrl+Shift+Enter确认,而非单独按Enter):

=TEXTJOIN(",", TRUE, IF(ISERROR(MATCH(TRIM(MID(SUBSTITUTE(A1&","&B1, ",", REPT(" ", 99)), (ROW(INDIRECT("1:"&LEN(A1&","&B1)-LEN(SUBSTITUTE(A1&","&B1, ",", ""))+1))-1)*99+1, 99)), TRIM(MID(SUBSTITUTE(A1&","&B1, ",", REPT(" ", 99)), (ROW(INDIRECT("1:"&LEN(A1&","&B1)-LEN(SUBSTITUTE(A1&","&B1, ",", ""))+1))-1)*99+1, 99)), 0)), "", TRIM(MID(SUBSTITUTE(A1&","&B1, ",", REPT(" ", 99)), (ROW(INDIRECT("1:"&LEN(A1&","&B1)-LEN(SUBSTITUTE(A1&","&B1, ",", ""))+1))-1)*99+1, 99))))

公式原理:

  1. A1&","&B1:先把两个单元格的内容合并成一个字符串
  2. SUBSTITUTE(..., ",", REPT(" ", 99)):把所有逗号替换成99个空格,方便按固定长度拆分
  3. MID(..., ..., 99):按位置拆分出每个文本项,再用TRIM()去除空格
  4. MATCH(...):检查当前项是否在之前的项中出现过,ISERROR()判断是否重复
  5. IF(...):保留不重复的项,过滤重复项
  6. TEXTJOIN():把最终的不重复项用逗号连接成字符串

注意事项

  • 如果你的单元格内容使用的是其他分隔符(比如分号),只需把公式中的逗号分隔符替换成对应的符号即可
  • 确保单元格中没有多余的换行或特殊字符,否则可能影响拆分和去重效果

内容的提问来源于stack exchange,提问作者Himesh Banerjee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 16:00:50