从Excel中的文本字符串提取第N个单词
如果你有一个文本字符串或句子的列表,现在,你想从列表中提取特定的第N个单词,如下截图所示。本文中,我将介绍一些在Excel中解决此任务的方法。
使用公式从文本字符串中提取并获取第N个单词
要处理此任务,可以使用结合了TRIM、MID、SUBSTITUTE、REPT和LEN函数的公式。通用语法是:
- string: 要从中提取单词的文本字符串或单元格值。
- N: 要提取的单词的编号。
1. 请在空白单元格中输入或复制以下公式:
注意:在上述公式中,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函数删除单词之间的所有多余空格字符。
提示:如果单词之间有多个空格字符,上述公式将无法正确工作,在这种情况下,应在SUBSTITUTE函数内嵌套另一个TRIM函数,请应用以下公式:
使用用户定义函数从文本字符串中提取并获取第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. 然后,将公式拖动到其他单元格以获得所需的结果,见截图:
使用强大功能从文本字符串中提取并获取第N个单词
如果你有Kutools for Excel,它支持大多数Excel用户常用的多种公式,使用其提取单元格中第N个单词工具,你可以尽可能快地提取指定的第N个单词。点击免费试用Kutools for Excel!
相关函数:
- REPT:
- REPT函数用于重复指定次数的字符。
- SUBSTITUTE:
- SUBSTITUTE函数用于替换文本字符串中的文本或字符为其他文本或字符。
- TRIM:
- TRIM函数用于删除文本字符串中的所有多余空格,只保留单词之间的单个空格。
- MID:
- MID函数用于从文本字符串中间返回特定字符。
- LEN:
- LEN函数用于返回文本字符串中的字符数。
更多文章:
- 从Excel中的文本字符串获取或提取第一个单词
- 要从由空格分隔的文本字符串列表中提取所有第一个单词,Excel中的LEFT和FIND函数可以帮助你。
- 从Excel中的文本字符串获取或提取最后一个单词
- 要从由空格字符分隔的文本字符串中提取最后一个单词,通常,你可以基于Excel中的TRIM、SUBSTITUTE、RIGHT和REPT函数创建一个公式。
- 从多行单元格中提取最后一行文本
- 要从由换行符分隔的文本字符串中提取最后一行文本,通常,没有直接的方法来解决这个问题。本文中,我将介绍一个公式来在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一样。