跳至主要内容

从Excel中的文本字符串提取第N个单词

Author: Xiaoyang Last Modified: 2025-05-07

如果你有一个文本字符串或句子的列表,现在,你想从列表中提取特定的第N个单词,如下截图所示。本文中,我将介绍一些在Excel中解决此任务的方法。

doc-extract-nth-word-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))), (B2-1)*LEN(A2)+1, LEN(A2)))

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

2. 然后,向下拖动填充柄以将此公式应用到其他单元格,并且所有特定的第N个单词都已如下面的截图所示被提取出来:

doc-extract-nth-word-2


公式的解释:
  • 1. SUBSTITUTE(A2," ",REPT(" ",LEN(A2))):
  • REPT(" ",LEN(A2): 此REPT函数用于按特定次数重复空格字符,该次数是单元格A2中文本长度的次数,这将得到多个空格字符;
  • SUBSTITUTE(A2," ",REPT(" ",LEN(A2))): SUBSTITUTE函数将用REPT函数返回的大量空格字符替换单元格A2中的每个空格字符,这将得到一个在每个单词之间有多个空格的文本字符串。
  • 这部分被重新组织为MID函数中的text参数。
  • 2. (B2-1)*LEN(A2)+1: 这个公式将返回单元格A2中文本字符串中第N个单词的起始位置。这是MID函数的start_num参数。
  • 3. MID(SUBSTITUTE(A2," ",REPT(" ",LEN(A2))), (B2-1)*LEN(A2)+1, LEN(A2)): 这个MID函数根据上述公式返回的参数,从单元格A2中的文本字符串中提取第N个单词。
  • 4. TRIM(): 这个TRIM函数删除单词之间的所有多余空格字符。

提示:如果单词之间有多个空格字符,上述公式将无法正确工作,在这种情况下,应在SUBSTITUTE函数内嵌套另一个TRIM函数,请应用以下公式:

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

doc-extract-nth-word-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-extract-nth-word-4


使用强大功能从文本字符串中提取并获取第N个单词

如果你有Kutools for Excel,它支持大多数Excel用户常用的多种公式,使用其提取单元格中第N个单词工具,你可以尽可能快地提取指定的第N个单词。点击免费试用Kutools for Excel!


相关函数:

  • REPT:
  • REPT函数用于重复指定次数的字符。
  • SUBSTITUTE:
  • SUBSTITUTE函数用于替换文本字符串中的文本或字符为其他文本或字符。
  • TRIM:
  • TRIM函数用于删除文本字符串中的所有多余空格,只保留单词之间的单个空格。
  • MID:
  • MID函数用于从文本字符串中间返回特定字符。
  • LEN:
  • LEN函数用于返回文本字符串中的字符数。

更多文章:

  • 从多行单元格中提取最后一行文本
  • 要从由换行符分隔的文本字符串中提取最后一行文本,通常,没有直接的方法来解决这个问题。本文中,我将介绍一个公式来在Excel中处理此任务。

最佳的办公生产力工具

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