跳至主要内容

提取第二个空格或逗号之前或之后的文本

Author: Xiaoyang Last Modified: 2025-05-07

如果需要从单元格列表中提取位于第二个或第n个特定字符(空格或逗号)之前或之后的文本字符串,本文将介绍一些在Excel中解决此任务的公式。

doc-extract-after-second-space-1 doc-extract-after-second-space-2

在Excel中提取第二个或第n个空格或逗号之后的文本

在Excel中,TRIM、MID、FIND和SUBSTITUTE函数的组合可以帮助您完成此任务,通用语法为:

=TRIM(MID(text,FIND("#",SUBSTITUTE(text," ","#",Nth))+1,255))
  • text: 您要从中提取文本的文本字符串或单元格引用。
  • Nth: 表示您希望基于其提取文本的空格或逗号实例编号。

请在希望输出结果的空白单元格中输入或复制以下公式:

=TRIM(MID(A2,FIND("#",SUBSTITUTE(A2," ","#",2))+1,255))

doc-extract-after-second-space-3


公式解释:

SUBSTITUTE(A2," ","#",2): 此SUBSTITUTE函数用于查找并用“#”字符替换A2单元格中的第二个空格字符。您将得到如下结果:“Insert multiple#blank rows”。此返回结果被识别为FIND函数中的within_text参数。

FIND("#",SUBSTITUTE(A2," ","#",2))+1: FIND函数将获取由SUBSTITUTE函数返回的文本字符串中“#”字符的位置,加1表示获取文本中第二个空格之后的起始位置,您将得到17。返回的结果将被识别为MID函数中的start_num参数。

MID(A2,FIND("#",SUBSTITUTE(A2," ","#",2))+1,255): MID函数用于从A2单元格中的文本字符串中提取255个字符,这些字符从FIND函数返回的字符数开始。

doc extract after second space 04

TRIM(): 此TRIM函数将删除所有多余的空格,并仅在单词之间保留一个空格。


注意事项:

1. 如果您的文本由逗号或其他分隔符分隔,只需根据需要将空格字符串替换为其他分隔符即可。例如:

=TRIM(MID(A2,FIND("#",SUBSTITUTE(A2,",","#",2))+1,255))

2. 要提取第n个空格之后的文本,请将公式中的数字2更改为所需的数字。例如,要提取第三个空格之后的文本,只需应用以下公式:

=TRIM(MID(A4,FIND("#",SUBSTITUTE(A4," ","#",3))+1,255))

doc-extract-after-second-space-5


在Excel中提取第二个或第n个空格或逗号之前的文本

要提取第二个或第n个空格或逗号之前的文本,LEFT、SUBSTITUTE和FIND函数可以帮到您。通用语法为:

=LEFT(text,FIND("#",SUBSTITUTE(text, " " ,"#",Nth))-1)
  • text: 您要从中提取文本的文本字符串或单元格引用。
  • Nth: 表示您希望基于其提取文本的空格或逗号实例编号。

请将以下公式复制或输入到空白单元格中:

=LEFT(A2,FIND("#",SUBSTITUTE(A2," ","#",2))-1)

然后,向下拖动填充柄以应用该公式到所需单元格,所有第二个空格之前的文本都将被提取,如下图所示:

doc-extract-after-second-space-6


公式解释:

SUBSTITUTE(A2," ","#",2): 此SUBSTITUTE函数用于查找并用“#”字符替换A2单元格中的第二个空格字符。您将得到如下结果:“Insert multiple#blank rows”。此返回结果被识别为FIND函数中的within_text参数。

FIND("#",SUBSTITUTE(A2," ","#",2))-1: FIND函数将获取由SUBSTITUTE函数返回的文本字符串中“#”字符的位置,减去1以获取文本中第二个空格字符之前的位置。您将得到15。返回的结果将被识别为LEFT函数中的num_chars参数。

LEFT(A2,FIND("#",SUBSTITUTE(A2," ","#",2))-1): 最后,LEFT函数用于从A2单元格中的文本字符串中提取由FIND函数返回的最左侧15个字符。


注意事项:

1. 如果您的文本由逗号或其他分隔符分隔,只需根据需要将空格字符串替换为其他分隔符即可。例如:

=LEFT(A2,FIND("#",SUBSTITUTE(A2,",","#",2))-1)

2. 要提取第n个空格之前的文本,请将公式中的数字2更改为所需的数字。例如,要提取第三个空格之前的文本,只需应用以下公式:

=LEFT(A4,FIND("#",SUBSTITUTE(A4," ","#",3))-1)

doc-extract-after-second-space-7


相关功能:

  • MID:
  • MID函数用于从给定文本字符串的中间查找并返回特定数量的字符。
  • LEFT:
  • LEFT函数从提供的字符串的左侧提取指定数量的字符。
  • FIND:
  • FIND函数用于在一个字符串中查找另一个字符串,并返回字符串在另一个字符串内的起始位置。
  • SUBSTITUTE:
  • Microsoft Excel的SUBSTITUTE函数用于替换文本字符串中的文本或字符。
  • TRIM:
  • TRIM函数从文本字符串中删除所有多余的空格,并仅在单词之间保留单个空格。

更多文章:

  • 从单元格中提取多行
  • 如果您有一列文本字符串,它们通过换行符分隔(在输入文本时按下Alt + Enter键产生),现在,您想将这些文本行提取到多个单元格中,如下图所示。如何使用Excel中的公式解决它?
  • 从文本字符串中提取括号内的文本
  • 如果文本字符串中有部分文本被括号包围,现在,您需要提取括号之间的所有文本字符串,如下图所示。如何在Excel中快速轻松地解决此任务?
  • 在Excel中从文本字符串中提取子字符串
  • 您可能经常需要从文本字符串中提取子字符串,在Excel中没有直接的函数来执行此操作,但借助LEFT、RIGHT、MID和SEARCH函数,您可以根据需要提取各种子字符串。

最佳的办公生产力工具

Kutools for Excel - 助您脱颖而出

🤖 Kutools AI 助手:基于以下功能彻底改变数据分析方式:智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用Kutools函数
热门功能查找、高亮或标记重复项  |  删除空行  |  合并列或单元格而不丢失数据  |  四舍五入无需公式 ...
超级VLookup多条件  |  多值  |  跨多个工作表  |  模糊查找...
高级下拉列表简易下拉列表  |  级联下拉列表  |  多选下拉列表...
列管理器添加指定数量的列  |  移动列  |  切换隐藏列的可见状态  比较列以 选择相同和不同的单元格 ...
精选功能网格聚焦  |  设计视图  |  增强编辑栏  |  工作簿与工作表管理器 | 资源库(自动文本)  |  日期提取  |  合并数据  |  加密/解密单元格  |  按列表发送电子邮件  |  超级筛选  |  特殊筛选(筛选粗体/斜体/删除线...) ...
排名前15的工具集12个 文本 工具添加文本删除特定字符 ...)  |  50多种 图表 类型甘特图 ...)  |  40多种实用 公式基于生日计算年龄 ...)  |  19个 插入 工具插入二维码从路径插入图片 ...)  |  12个 转换 工具小写金额转大写汇率转换 ...)  |  7个 合并与拆分 工具高级合并行分割Excel单元格 ...)  |  ... 还有更多

Kutools for Excel拥有超过300种功能,确保您需要的功能只需一键即可实现...


Office Tab - 在Microsoft Office(包括Excel)中启用标签式阅读和编辑

  • 一秒内切换数十个打开的文档!
  • 每天为您减少数百次鼠标点击,告别鼠标手。
  • 在查看和编辑多个文档时,您的工作效率将提高50%。
  • 为Office(包括Excel)带来高效的标签页,就像Chrome、Edge和Firefox一样。