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

如何使用Excel公式提取指定字符串后紧邻的第一个单词?

原公式含义拆解

你提供的公式各部分执行逻辑如下:

  • SEARCH("P/N",D2):定位D2单元格中"P/N"字符串第一次出现的起始位置
  • MID($D2,SEARCH("P/N",D2)+LEN("P/N")+1,LEN(D2)):从"P/N"结束位置再往后跳1位(跳过示例中的冒号),提取到单元格末尾的全部内容
  • 内层TRIM(...):去除上述提取内容的前后多余空格,避免前导空格干扰后续处理
  • SUBSTITUTE(..., " ", REPT(" ",100)):将提取内容中所有的单个空格替换为100个连续空格。这里的100是预设的较大长度值,作用是拉大不同单词之间的间隔,让每个单词前后都有足够多的空格,方便后续截取单个单词。
  • LEFT(...,COLUMN(D:D)*100):COLUMN(D:D)返回D列的列号4,因此这里是从替换后的字符串开头截取400个字符。这就是你公式出错的核心原因:400个字符已经包含了第一个单词之后的多个拉长空格,甚至带上了后面的其他单词内容
  • 外层TRIM(...):去除截取内容的前后空格,最终输出就包含了多个单词,不符合需求
可行的公式方案

通用兼容公式(所有Excel版本可用)

如果要提取"P/N:"后的第一个单词,直接把截取长度改为100即可,优化后的公式如下:

=TRIM(LEFT(SUBSTITUTE(TRIM(MID($D2,SEARCH("P/N:",D2)+4,LEN(D2)))," ",REPT(" ",100)),100))

这里直接搜索完整的"P/N:"匹配更精准,+4是跳过"P/N:"共4个字符的长度。

简化公式(Excel 365/2021及以上版本可用)

可以用新增的文本处理函数简化逻辑,更易读:

=TEXTBEFORE(TEXTAFTER(D2,"P/N:")," ")

逻辑为:先提取"P/N:"之后的所有内容,再提取该内容中第一个空格之前的部分,就是你需要的第一个单词。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 14:45:02