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

Excel提取多分隔符单元格内指定文本并生成去重列表的方法

Excel提取指定文本并去重合并解决方案

针对Excel 365/2021及以上(动态数组版本)

直接使用以下公式即可完成提取、去重、合并的全流程:

=TEXTJOIN(", ", TRUE, UNIQUE(TEXTAFTER(TEXTSPLIT(A1, "|"), ", ", -1)))

公式拆解:

  • TEXTSPLIT(A1, "|"):将目标单元格内容按|分割为独立的文本片段,自动适配任意数量的分隔符。
  • TEXTAFTER(..., ", ", -1):对每个分割后的片段,提取最后一个, (逗号加空格)之后的内容,这正是你需要的「|分隔符与其前一个逗号之间的文本」,参数-1表示从文本末尾反向匹配第一个, 。
  • UNIQUE(...):对所有提取出的文本进行去重,自动剔除重复值。
  • TEXTJOIN(", ", TRUE, ...):将去重后的结果用, 连接为一个紧凑的列表,TRUE参数会自动忽略可能出现的空值。

针对旧版Excel(无动态数组支持,如2019及更早)

使用数组公式兼容旧版本,输入公式后需按Ctrl+Shift+Enter确认(而非单独按Enter):

=TEXTJOIN(", ", TRUE, UNIQUE(IFERROR(TEXTAFTER(INDEX(TEXTSPLIT(A1, "|"), ,ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1,"|",""))+1))), ", ", -1), "")))

兼容版补充说明:

  • LEN(A1)-LEN(SUBSTITUTE(A1,"|",""))+1:计算单元格内|的数量,从而确定分割后的片段总数。
  • ROW(INDIRECT(...)):生成对应数量的行号序列,配合INDEX逐个提取分割后的片段,模拟动态数组的遍历效果。
  • IFERROR(...):防止因片段格式异常导致的公式错误,空值会被自动过滤。

示例验证

假设A1单元格内容为:
Xxx, yyy, zzz, Need this|AAA, BBB, CCC, And this|Xxx, BBB, CCC, This too...|Xxx, yyy, zzz, Need this

公式输出结果为:
Need this, And this, This too...

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 07:53:16