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

提取文本在最后一个特定字符后

作者小洋修改日期

如果您有包含多个分隔符的复杂文本字符串(如下图所示,单元格数据中包含连字符、逗号和空格),现在需要查找最后一个连字符的位置,并提取其后面的子字符串。本文将为您介绍多种可用于完成此任务的公式。

doc-提取最后一个字符后的文本-1


公式 1:提取最后一个特定分隔符后面的子字符串

在 Excel 中,您可以结合使用 RIGHT、LEN、SEARCH 和 SUBSTITUTE 函数,通过公式轻松实现这一操作。

1. 如需提取最后一个连字符后面的子字符串,请在空白单元格中输入或复制以下公式:

=RIGHT(A2,LEN(A2)-SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-","")))))

2. 接着,拖动填充柄将公式应用到其他单元格,即可获得如下图所示的结果:

doc-提取最后一个字符后的文本-2


公式说明:

1。LEN(A2)-LEN(SUBSTITUTE(A2,“-“,““)):此公式可用于统计单元格 A2 中连字符的数量。

  • LEN(A2):LEN 函数可返回单元格 A2 中文本的总字符数。结果为:44.
  • SUBSTITUTE(A2,"-",""):SUBSTITUTE 函数可将所有连字符替换为空。最终结果为:“InsertDeleterows, sheets, images, formulas”。
  • LEN(SUBSTITUTE(A2,"-",""):统计删除连字符后,单元格 A2 中文本字符串的总长度。
  • LEN(A2)-LEN(SUBSTITUTE(A2,"-","")):通过用字符串的总长度减去去除连字符后的文本长度,即可得出连字符的数量,结果为 2.

2。SUBSTITUTE(A2,“-“,“#“,LEN(A2)-LEN(SUBSTITUTE(A2,“-“,““))):此 SUBSTITUTE 函数可将公式第一部分找到的最后一个连字符替换为“#”,从而得到如下结果:“Insert-Delete#rows, sheets, images, formulas”。

doc-提取最后一个字符后的文本-3

3。SEARCH(“#“,SUBSTITUTE(A2,“-“,“#“,LEN(A2)-LEN(SUBSTITUTE(A2,“-“,““))))=SEARCH("#", "Insert-Delete#rows, sheets, images, formulas"):该 SEARCH 函数会返回由 SUBSTITUTE 函数生成的文本字符串中“#”字符的位置。结果为 14.

4。LEN(A2)-SEARCH(“#“,SUBSTITUTE(A2,“-“,“#“,LEN(A2)-LEN(SUBSTITUTE(A2,“-“,““)))):此公式部分用于计算最后一个连字符后面的字符数。结果为 30.

5。RIGHT(A2,LEN(A2)-SEARCH(“#“,SUBSTITUTE(A2,“-“,“#“,LEN(A2)-LEN(SUBSTITUTE(A2,“-“,““)))))=RIGHT(A2, 30):最后,RIGHT 函数用于从单元格 A2 的文本字符串右侧提取第 4 步公式返回的 30 个字符。


注意事项:

1. 如需提取最后一个其他分隔符后的内容,只需将连字符替换为您所需的分隔符即可。

2. 如果文本字符串中不包含特定分隔符,上述公式将如截图所示返回错误值:

doc-提取最后一个字符后的文本-4

为避免该错误,可将上述公式嵌入 IFERROR 函数,请应用以下公式:

=IFERROR(RIGHT(A2,LEN(A2)-SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))))), A2)

doc-提取最后一个字符后的文本-5


公式 2:提取最后一个特定分隔符后的子字符串

这里还有一个由 TRIM、RIGHT、SUBSTITUTE、REPT 和 LEN 函数组成的简洁公式,同样能够帮助您在 Excel 中轻松完成此任务。

1. 请将以下公式复制或输入到需要显示结果的空白单元格中:

=TRIM(RIGHT(SUBSTITUTE(A2,"-",REPT(" ",LEN(A2))),LEN(A2)))

2. 下拉填充至所有需要应用此公式的单元格,所有连字符后的子字符串即可如图所示被提取出来:

doc-提取最后一个字符后的文本-6


公式说明:

1。LEN(A2):LEN 函数会返回单元格 A2 的总字符数,该数值将在 RIGHT 函数中作为 num_chars 参数使用。结果为:44.

2。SUBSTITUTE(A2,“-“,REPT(“ “,LEN(A2))):

  • REPT(" ",LEN(A2):REPT 函数会根据单元格 A2 的长度生成相应数量的空格字符串。
  • SUBSTITUTE(A2,"-",REPT(" ",LEN(A2))):此 SUBSTITUTE 函数可将单元格 A2 中的连字符替换为由 REPT 函数生成的空格字符串。

此部分公式将作为 RIGHT 函数的 text 参数使用。

3。RIGHT(SUBSTITUTE(A2,“-“,REPT(“ “,LEN(A2))),LEN(A2)):RIGHT 函数用于提取 SUBSTITUTE 函数返回文本字符串的右侧内容。

4。TRIM():TRIM 函数可删除多余空格,仅保留单词之间的一个空格。


相关函数使用:

  • RIGHT
  • RIGHT 函数可用于从文本字符串的右侧提取指定数量的字符。
  • SEARCH
  • SEARCH 函数可帮助您定位指定字符或子字符串在目标文本中的具体位置。
  • LEN
  • LEN 函数可返回文本字符串中的字符数量。
  • SUBSTITUTE
  • Microsoft Excel 的 SUBSTITUTE 函数可将文本字符串中的指定文本或字符替换为其他文本或字符。
  • TRIM
  • TRIM 函数可去除文本字符串中的多余空格,仅保留单词之间的单个空格。
  • REPT
  • REPT 函数可用于将指定字符重复多次。

更多相关文章:

  • 从单元格提取多行内容
  • 如果您有一组以换行符分隔的文本字符串(在输入时按下 Alt + ENTER 键),现在希望将这些文本行分别提取到多个单元格中,如下图所示。在 Excel 中,如何通过公式实现这一操作?
  • 在 Excel 中从文本字符串中提取子字符串
  • 在 Excel 中,我们经常需要从文本字符串中提取子字符串,但由于没有专门的函数,可以结合使用 LEFT、RIGHT、MID 和 SEARCH 等函数,灵活提取所需的各类子字符串。

这款最佳办公效率工具

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 般的便捷体验。