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

Excel技术问询:如何提取单元格字符串中右侧第二个下划线后的文本

Excel提取右侧数第二个下划线后的目标文本

需求说明

需要从单元格字符串中提取从右侧数第二个下划线之后、最后一个下划线之前的文本。示例:

  • 单元格内容:88/12_PO/SP_SJ_#448491_WHITE_10A_60
  • 需提取结果:10A

原公式问题

你提供的原公式:

=MID(B2, SEARCH("_",B2) + 1, SEARCH("_",B2,SEARCH("_",B2)+1) - SEARCH("_",B2) - 1)

作用是提取左侧前两个下划线之间的内容(示例中会得到PO/SP),完全不符合需求,需要替换为以下正确公式。

正确公式方案

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

利用TEXTAFTER和TEXTBEFORE函数直接定位:

=TEXTBEFORE(TEXTAFTER(B2,"_",-2),"_")
  • 逻辑:TEXTAFTER(B2,"_",-2)提取从右侧数第二个下划线之后的所有文本(示例中得到10A_60);TEXTBEFORE再提取该结果中下划线之前的部分,最终得到10A。

方案2:适用于所有Excel版本(兼容版)

通过计算下划线总数,定位倒数第二、第一个下划线的位置,再用MID提取内容:

=MID(B2,
     FIND("@",SUBSTITUTE(B2,"_","@",LEN(B2)-LEN(SUBSTITUTE(B2,"_",""))-1))+1,
     FIND("@",SUBSTITUTE(B2,"_","@",LEN(B2)-LEN(SUBSTITUTE(B2,"_",""))))-FIND("@",SUBSTITUTE(B2,"_","@",LEN(B2)-LEN(SUBSTITUTE(B2,"_",""))-1))-1)
  • 逻辑:
    1. LEN(B2)-LEN(SUBSTITUTE(B2,"_",""))计算单元格内下划线的总数量;
    2. 用SUBSTITUTE分别把倒数第二个、第一个下划线替换为特殊字符@;
    3. 通过FIND找到两个@的位置,用MID提取中间的目标文本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 10:40:50