KutoolsforOffice — 一套方案,五大工具。事半功倍。

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

作者Xiaoyang修改日期

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

doc-remove-after-second-space-1


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

在 Excel 中,您可以通过结合使用 LEFT、SUBSTITUTE 和 FIND 函数,删除第二个或第 n 个空格或其他分隔符后的文本。其通用语法如下:

=LEFT(SUBSTITUTE(cell," ","#",N+1),FIND("#",SUBSTITUTE(cell," ","#",N),1)-1)
  • cell:您希望删除文本内容的单元格引用或文本字符串。
  • 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(cell,LEN(cell)-FIND("#",SUBSTITUTE(cell," ","#",N)))
  • cell:您希望从中删除文本的单元格引用或文本字符串。
  • 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 函数可用于将文本字符串中的指定文本或字符替换为其他文本或字符。

更多相关文章:

  • 从文本字符串中删除括号内的文本
  • 假设您有一列文本字符串,其中部分内容被括号括起来,现在,您希望删除所有括号及括号内的内容,如下图所示。本文将为您介绍几种在 Excel 中实现此操作的方法。

最强最佳办公效率工具

Kutools for Excel —— 助您脱颖而出

🤖KUTOOLS AI 助手:基于数据分析的革命性升级智能执行   |  生成代码|  创建自定义公式  |  数据分析及生成图表|  调用 Kutools Functions……
热门功能查找、高亮或标记重复项  |  删除空白行  |  合并列或单元格且不丢失数据  |  不使用公式的四舍五入……
超级 VLookup多条件查找  |  多值返回  |  跨多表查找  |  模糊查找……
高级下拉列表便捷下拉列表  |  联动下拉列表  |  多选下拉列表……
列管理器添加指定数量的列  |  移动列  |  切换隐藏列可见状态  |对比列与选择相同/不同单元格……
精选功能网格聚焦  |  设计视图  |  增强编辑栏  |  工作簿和表管理器|资源库(自动文本)|  日期提取  |  汇总工作表  |  加密/解密单元格  |  按列表批量发送邮件  |  超级筛选  |  特殊筛选(筛选粗体单元格/斜体/删除线等) ......
顶级 15 工具集12 文本工具添加文本删除特定字符……)|  50+ 图表 类型甘特图……)|  40+ 实用公式基于生日计算年龄……)|  19 插入工具插入二维码按路径插入图片……)|  12 转换工具小写金额转大写汇率转换……)|  7 合并和拆分工具高级合并行拆分 Excel 单元格……)|…… 以及更多
在您的首选语言使用 Kutools —— 支持英语、西班牙语、德语、法语、中文及 40+ 种语言!

Kutools for Excel 拥有超过 300 项功能,让您一键直达所需……


Office Tab —— 让 Microsoft Office(包括 Excel)支持标签式阅读与编辑

  • 一秒即可切换数十个已打开的文档!
  • 每天为您减少数百次鼠标点击,轻松告别鼠标手困扰。
  • 在同时查看和编辑多个文档时,让您的工作效率提升高达 50%。
  • 为 Office(包括 Excel)带来高效标签页体验,畅享如同 Chrome、Edge 和 Firefox 般的便捷操作。