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

如何从Excel分号分隔字符串中提取所有CN=项并输出到单个单元格

Excel提取单元格内所有CN=前缀内容的解决方案

版本1:Excel 365/2021及以上(支持动态数组公式)

直接在目标单元格输入以下公式,然后开启目标单元格的自动换行功能即可得到逐行排列的结果:

=TEXTJOIN(CHAR(10),TRUE,LEFT(MID(TEXTSPLIT(A87,";"),SEARCH("CN=",TEXTSPLIT(A87,";"))+2,999),SEARCH(",",MID(TEXTSPLIT(A87,";"),SEARCH("CN=",TEXTSPLIT(A87,";"))+2,999))-1))

公式说明:

  • 先用TEXTSPLIT(A87,";")按分号拆分原字符串为多个独立属性片段
  • 对每个片段用SEARCH("CN=")定位CN=的位置,截取后续内容
  • 再用SEARCH(",")定位后续第一个逗号的位置,截取CN值部分
  • 最后用TEXTJOIN加换行符CHAR(10)把所有结果拼接在同一个单元格内

版本2:低版本Excel(不支持动态数组)

使用Power Query实现,操作步骤如下:

  • 选中原数据所在单元格/列,点击顶部「数据」选项卡→「从表格/区域」导入Power Query编辑器
  • 右键点击数据列标题,选择「拆分列」→「按分隔符」,分隔符输入;,拆分方式选「拆分为行」
  • 点击顶部「添加列」→「自定义列」,输入自定义公式(将公式中的[原列名]替换为你实际的列标题):
    Text.Range([原列名],Text.PositionOf([原列名],"CN=")+2,Text.PositionOf(Text.Range([原列名],Text.PositionOf([原列名],"CN=")+2),","))
  • 选中新增的自定义列,点击「转换」选项卡→「分组依据」,分组依据选无,操作选「将行串联为列表」,分隔符输入换行符,确认后得到拼接好的结果
  • 点击「关闭并上载」将结果导出回Excel,设置单元格自动换行即可

原公式失效原因

你之前使用的SUBSTITUTE系列公式仅能做固定字符替换,无法实现「过滤非CN开头片段、截取CN=到第一个逗号区间内容」的逻辑,因此无法达到预期效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 01:06:01