跳到主要内容

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

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


使用公式从文本字符串中提取并获取第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个单词,如以下屏幕截图所示:


公式说明:
  • 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功能可删除单词之间的所有多余空格字符。

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

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


使用用户定义函数从文本字符串中提取并获取第n个单词

如果上面的公式让您难以理解,在这里,我将介绍一个用户定义函数,使用下面的代码,您还可以从文本字符串中提取第n个单词。 请执行以下操作:

1。 按 ALT + F11 键打开 Microsoft Visual Basic应用程序 窗口。

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。 然后,将公式拖动到其他单元格中以根据需要获得结果,请参见屏幕截图:


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

如果你有 Kutools for Excel,它支持大多数Excel用户使用的多个常用公式, 提取单元格中的第n个单词 实用程序,您可以尽快提取您指定的第n个单词。 点击下载 Kutools for Excel 免费试用!


使用的相对功能:

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

更多文章:

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

最佳办公效率工具


Office Tab - 在 Microsoft Office(包括 Excel)中启用分页式阅读和编辑

  • 一秒钟即可在数十个打开的文档之间切换!
  • 每天为您减少数百次鼠标单击,告别鼠标手。
  • 查看和编辑多个文档时,可将您的工作效率提高50%。
  • 为 Office(包括 Excel)带来高效的选项卡,就像 Chrome、Edge 和 Firefox 一样。
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations