You need to enable JavaScript to run this app. Excel中如何从第二个子串位置反向计数提取指定目标字符串
优惠活动
大模型
产品
解决方案
定价
更多

Excel中如何从第二个子串位置反向计数提取指定目标字符串

Excel 提取指定格式字符串的解决方案

完全可以实现,根据你使用的Excel版本可以选择不同的公式方案:

方案1:适用于Excel 365/2021及以上版本

使用新增的文本处理函数公式最简洁:

=TEXTBEFORE(TEXTAFTER(A1," ",-1),"()")&"()"

逻辑说明:

  • TEXTAFTER(A1," ",-1) 中参数-1表示从右往左找第一个空格,提取空格之后的所有内容
  • 再用TEXTBEFORE截取到()之前的内容,最后拼接()即可得到完整目标字符串

方案2:适用于所有Excel版本的兼容公式

如果是旧版Excel没有上述新函数,可以用组合公式实现:

=MID(A1,FIND("@",SUBSTITUTE(LEFT(A1,FIND("()",A1)-1)," ","@",LEN(LEFT(A1,FIND("()",A1)-1))-LEN(SUBSTITUTE(LEFT(A1,FIND("()",A1)-1)," ",""))))+1,FIND("()",A1)-FIND("@",SUBSTITUTE(LEFT(A1,FIND("()",A1)-1)," ","@",LEN(LEFT(A1,FIND("()",A1)-1))-LEN(SUBSTITUTE(LEFT(A1,FIND("()",A1)-1)," ",""))))+2

逻辑说明:

  1. 先用LEFT(A1,FIND("()",A1)-1)提取出()左侧的所有内容
  2. 统计这段内容中的空格总数,用SUBSTITUTE把最后一个空格替换为不会在原文出现的特殊字符(比如@)
  3. 定位@的位置,从@的下一位开始截取,截取长度到()的结束位置即可

你给出的两个测试用例都可以用上述公式正确提取出目标结果:

  • 第一个测试串提取结果为 EXTRACTTHIS()
  • 第二个测试串提取结果为 WHAT_IF_THE_STRING_LENGTH_IS_DIFFERENT()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.22 06:27:00