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

在 Excel 中提取文本字符串的第 n 个单词

作者Xiaoyang修改日期

如果您有一列文本字符串或句子,并希望从中提取特定的第 n 个单词,如下图所示,本文将为您介绍几种在 Excel 中实现这一需求的方法。

doc-提取第n个单词-1


通过公式提取文本字符串中的第 n 个单词

要完成此任务,可以结合使用 TRIM、MID、SUBSTITUTE、REPT 和 LEN 函数。其通用语法如下:

=TRIM(MID(SUBSTITUTE(string," ",REPT(" ",LEN(string))), (N-1)*LEN(string)+1, LEN(string)))
  • string:用于提取文本字符串或单元格值中的单词。
  • N:需要提取的单词序号。

1. 请在空白单元格中输入或粘贴以下公式:

=TRIM(MID(SUBSTITUTE(A2," ",REPT(" ",LEN(A2))), (B 2-1)*LEN(A2)+1, LEN(A2)))

注意:上述公式中,A2 为包含目标文本字符串的单元格,B2 为要提取的单词序号,也可直接输入数字。

2. 然后,向下拖动填充柄应用公式,即可提取所有指定的第 n 个单词,如下图所示:

doc-提取第n个单词-2


公式说明:
  • 1。SUBSTITUTE(A2,“ “,REPT(“ “,LEN(A2))):
  • REPT(" ",LEN(A2):REPT 函数用于将空格重复指定的次数(即 A2 单元格字符数文本长度),从而得到多个空格字符;
  • SUBSTITUTE(A2," ",REPT(" ",LEN(A2))):SUBSTITUTE 函数会将 A2 单元格中的每个空格替换为由 REPT 函数生成的大量空格,从而让每个单词之间包含多个空格,获得更明显的文本分隔效果。
  • 这一部分将作为 MID 函数中的 text 参数使用。
  • 2。(B 2-1)*LEN(A2)+1: 此公式可返回 A2 单元格中第 n 个单词的起始位置,即 MID 函数的 start_num 参数。
  • 3。MID(SUBSTITUTE(A2," ",REPT(" ",LEN(A2))), (B 2-1)*LEN(A2)+1, LEN(A2)): 此 MID 函数根据上述参数,从 A2 单元格的文本字符串中提取第 n 个单词。
  • 4。TRIM():TRIM 函数可帮助您轻松删除单词间的多余空格。

技巧:如果单词间存在多个空格,上述公式可能无法正确工作,此时,应在 SUBSTITUTE 函数中再嵌套一个 TRIM 函数,请使用以下公式:

=TRIM(MID(SUBSTITUTE(TRIM(A2)," ",REPT(" ",LEN(A2))), (B 2-1)*LEN(A2)+1, LEN(A2)))

doc-提取第n个单词-3


通过自定义函数提取文本字符串中的第 n 个单词

如果您觉得上述公式难以理解,这里为您介绍一种自定义函数的方法。只需使用下方代码,便可轻松从文本字符串中提取第 n 个单词。请按照以下步骤操作:

1. 请按下 ALT + F11 组合键,即可打开 Microsoft Visual Basic for Applications 窗口。

2. 点击插入 > 模块,在模块窗口中粘贴以下代码。

Function FindWord(Source As String, Position As Integer)
'Update by Extendoffice
Dim arr() As String
arr = VBA.Split(Source, " ")
xCount = UBound(arr)
If xCount < 1 Or (Position - 1) > xCount Or Position < 0 Then
    FindWord = ""
Else
    FindWord = arr(Position - 1)
End If
End Function

3. 保存并关闭此代码模块后,在需要输出结果的空白单元格中输入以下公式:=findword(A2,B2)

注意:在此公式中,A2 为包含目标文本字符串的单元格,B2 为要提取的单词序号,也可直接输入数字。

4. 向下拖动公式,即可获取更多结果,如下图所示:

doc-提取第n个单词-4


通过强大功能提取文本字符串中的第 n 个单词

如果您拥有 Kutools for Excel,其内置多种常用公式,并配备 提取单元格中第 N 个单词工具,助您快速提取指定的第 n 个单词。点击下载 Kutools for Excel 免费试用!


相关函数说明:

  • REPT
  • REPT 函数可用于将指定字符重复多次。
  • SUBSTITUTE
  • SUBSTITUTE 函数可将文本字符串中的指定文本或字符替换为其他文本或字符。
  • TRIM
  • TRIM 函数能够去除文本字符串中所有多余的空格,仅保留每个单词之间的单一空格。
  • MID
  • MID 函数返回文本字符串中间的指定字符。
  • LEN
  • LEN 函数用于返回文本字符串中的字符数。

更多相关文章:

  • 提取多行单元格中的最后一行文本
  • 如果需要从以换行符分隔的文本字符串中提取最后一行内容,通常没有直接的方法可以实现。本文将为您介绍一个在 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 般的便捷体验。