跳至主要内容

从文本字符串中删除第二个或第N个空格之前或之后的文本

Author: Xiaoyang Last Modified: 2025-05-07

有时,您可能需要删除第二个或第N个特定分隔符(例如空格、逗号等)之前或之后的所有文本,如下图所示。本文将介绍一些在Excel中处理此任务的简单公式。

doc-remove-after-second-space-1


从文本字符串中删除第二个或第N个特定分隔符(空格、逗号等)之后的文本

在Excel中,要删除第二个或第N个空格或其他分隔符之后的文本,LEFT、SUBSTITUTE和FIND函数可以帮到您。通用语法为:

=LEFT(SUBSTITUTE(单元格," ","#",N+1),FIND("#",SUBSTITUTE(单元格," ","#",N),1)-1)
  • 单元格:要从中删除文本的单元格引用或文本字符串。
  • N:表示要基于其删除文本的第N个分隔符。

请复制或输入以下公式到一个空白单元格中以获取结果:

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

然后,向下拖动填充柄以应用此公式到其他单元格,所有第二个空格之后的文本都会立即被删除,如下截图所示:

doc-remove-after-second-space-2

公式解释:

1. SUBSTITUTE(A2," ","#",3):此SUBSTITUTE函数用于将A2单元格中的第三个空格替换为特定字符#。它将得到这个结果:“Tom Hill Houston#Texas US”。这部分公式被识别为LEFT函数的text参数。

2. FIND("#",SUBSTITUTE(A2," ","#",2),1)-1:这部分公式被识别为LEFT函数的num_chars参数。

  • SUBSTITUTE(A2," ","#",2):SUBSTITUTE函数将用特定的#字符替换A2单元格中的第二个空格。您将得到这样的结果:“Tom Hill#Houston Texas US”。
  • FIND("#",SUBSTITUTE(A2," ","#",2),1)-1=FIND("#", "Tom Hill#Houston Texas US", 1)-1:此FIND函数用于从由SUBSTITUTE函数返回的文本字符串中查找#字符的位置,从第一个字符开始。减去1是为了排除空格。这将得到数字8。

3. LEFT(SUBSTITUTE(A2," ","#",3),FIND("#",SUBSTITUTE(A2," ","#",2),1)-1)=LEFT("Tom Hill Houston#Texas US", 8):最后,此LEFT函数将从A2单元格中文本字符串的左侧提取8个字符。

注意事项:

1. 如果有其他分隔符分隔您的文本字符串,只需将空格字符替换为您需要的其他字符即可。

2. 要删除第N个特定分隔符之后的文本,请根据需要更改第N个数字。例如,要删除第三个空格之后的文本,请使用以下公式:

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

doc-remove-after-second-space-3


从文本字符串中删除第二个或第N个特定分隔符(空格、逗号等)之前的文本

要删除第二个或第N个特定分隔符之前的文本,RIGHT、LEN、FIND和SUBSTITUTE函数可以帮助您。通用语法为:

=RIGHT(单元格,LEN(单元格)-FIND("#",SUBSTITUTE(单元格," ","#",N)))
  • 单元格:要从中删除文本的单元格引用或文本字符串。
  • N:表示要基于其删除文本的第N个分隔符。

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

=RIGHT(A2,LEN(A2)-FIND("#",SUBSTITUTE(A2," ","#",2)))

然后,向下拖动填充柄以应用此公式到其他单元格,您将获得所需的结果:

doc-remove-after-second-space-4

公式解释:

1. LEN(A2)-FIND("#",SUBSTITUTE(A2," ","#",2)):这部分公式被识别为RIGHT函数的num_chars参数。

  • SUBSTITUTE(A2," ","#",2):SUBSTITUTE函数将用特定的#字符替换A2单元格中的第二个空格。您将得到这样的结果:“Tom Hill#Houston Texas US”。
  • FIND("#",SUBSTITUTE(A2," ","#",2))=FIND("#", "Tom Hill#Houston Texas US" ):此FIND函数将获取由SUBSTITUTE函数返回的文本字符串中#字符的位置。它将得到数字9。
  • LEN(A2)-FIND("#",SUBSTITUTE(A2," ","#",2))=25-9:A2单元格的总长度减去第二个空格的位置,得到剩余字符的数量。这将得到数字16。

2. RIGHT(A2,LEN(A2)-FIND("#",SUBSTITUTE(A2," ","#",2)))=RIGHT(A2, 16):此RIGHT函数用于从A2单元格中文本字符串的右侧提取字符。

注意事项:

1. 如果有其他分隔符分隔您的文本字符串,只需将空格字符替换为您需要的其他字符即可。

2. 要删除第N个特定分隔符之前的文本,请根据需要更改第N个数字。例如,要删除第三个空格之后的文本,请使用以下公式:

=RIGHT(A2,LEN(A2)-FIND("#",SUBSTITUTE(A2," ","#",3)))

doc-remove-after-second-space-5


相关使用的函数:

  • LEN
  • LEN函数返回文本字符串中的字符数。
  • LEFT
  • LEFT函数从提供的字符串的左侧提取指定数量的字符。
  • RIGHT
  • RIGHT函数用于从文本字符串的右侧提取指定数量的字符。
  • FIND
  • FIND函数用于在一个字符串内查找另一个字符串,并返回该字符串在另一个字符串内的起始位置。
  • SUBSTITUTE
  • Excel中的SUBSTITUTE函数将文本字符串中的文本或字符替换为其他文本或字符。

更多文章:


最佳的办公生产力工具

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一样。