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

如何从文本字符串中提取前两个、后两个或任意 n 个单词?

作者小杨修改日期

在 Excel 中处理大量文本数据时,常常需要从每个单元格中提取特定单词——比如前几个词、末尾的词,或位于指定位置的词。典型应用场景包括:从包含多词文本条目的单元格中提取姓名、地址、关键词或唯一标识符,尤其当数据以空格分隔时。例如,您可能有一个包含完整句子或产品代码的单元格,希望提取前三个单词,或仅保留最后两个单词用于后续处理。虽然 Excel 没有直接提供此类功能的内置函数,但可通过多种灵活方法实现单词提取,适用于不同规模和需求的数据集。本文将为您介绍实用的公式、高效工具及其他自动化技巧,助您轻松从 Excel 文本字符串中精准提取开头、结尾或第 n 个单词。

提取前两个、后两个或任意 n 个单词

使用公式从文本字符串中提取前两个或任意 n 个单词

使用公式从文本字符串中提取后两个或任意 n 个单词

使用便捷功能提取文本字符串中的第一个或第 n 个单词

使用 VBA 宏提取单词(第一个、最后一个或第 n 个)

使用 Power Query 提取单词(拆分并重新组合)


使用公式从文本字符串中提取前两个或任意 n 个单词

若要从单元格值中提取前几个单词,可使用以下公式。当您使用统一的单词分隔符(如空格),并希望提取单元格中的前三个单词等内容时,此方法尤为高效。这些公式操作简便,适用于中等规模的数据集,并可灵活调整以提取任意数量的开头单词。

在空白单元格(例如 C2)中输入以下任一公式,然后向下拖动填充柄,将公式应用到所有相关行。您将看到每个文本字符串中提取出的指定数量的前导单词,如下图所示。

=TRIM(LEFT(A2, FIND("^",SUBSTITUTE(A2, " ", "^",3)&"^")))

应用公式提取前两个或任意 n 个单词

说明与提示:

1. 在上述示例公式中,A2 指向包含原文本的单元格,而 3 表示要提取的单词数量,请根据您的数据调整这些引用。

2. 如果每行需要提取的单词数量各不相同,并已在 B 列中指定,您可以使用以下灵活公式:

=TRIM(LEFT(SUBSTITUTE(A2," ",REPT(" ",1000),B2),1000))

应用公式根据单元格值提取前 n 个单词

此公式支持通过引用单元格(例如 B2)动态指定需提取的单词数量,请确保 B2 中包含有效的整数。

3. 如果您的文本使用其他分隔符(如逗号或分号)分隔,只需将空格字符(" ")替换为对应的特定分隔符,即可轻松调整公式。

4. 注意前导或尾随的双空格及多个连续空格,这些会影响结果。使用 TRIM 即可轻松删除多余空格。

5. 若单元格中的总单词数少于您尝试提取的数量,公式将返回完整文本,且不会报错。


使用公式从文本字符串中提取后两个或任意 n 个单词

要从文本字符串中提取末尾的单词(例如最后两个或最后 n 个单词),以下公式将大有帮助。该方法适用于需要一致提取尾部单词的数据集,例如姓氏、文件扩展名,或位于文本单元格末尾的标识符。

请将以下公式复制并粘贴到您希望显示结果的空白单元格中,然后向下拖动填充柄,将其应用到其他行。

=MID(A2,FIND("@",SUBSTITUTE(A2," ","@",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))-(3-1)))+1,LEN(A2))

应用公式提取后两个或任意 n 个单词

注意事项与练习技巧:
  • A2:包含源文本的单元格。
  • 3:表示您希望提取的末尾单词数量。若要提取最后 5 个单词,只需将公式中的 3 改为 5 即可。
  • 如果单元格中的总单词数少于您指定的数量,公式将直接返回该单元格中所有可用的单词。
  • 如果您的数据使用其他分隔符(例如逗号或制表符)分隔,请相应调整公式。
  • 数据中若存在复杂或不一致的空格,可能导致结果不准确;建议在应用公式前先行清理文本。

使用便捷功能提取文本字符串中的第一个或第 n 个单词

如果您只需提取文本字符串中的第一个或特定(第 n 个)单词,又希望采用无需记忆或编辑复杂公式的解决方案,推荐使用 Kutools for ExcelKutools for Excel提取单元格中第 N 个单词工具可轻松从单元格中提取指定位置的单词,无论是偶尔使用还是重复操作都得心应手。此方法快速、菜单驱动,几乎无出错风险,无需手动输入公式,助您高效完成任务!

Kutools for Excel 提供 300 多项高级功能,简化复杂任务,提升创造力与效率。集成 AI 能力,Kutools 精准自动化任务,让数据管理变得轻松自如。Kutools for Excel 的详细信息……         免费试用……

安装 Kutools for Excel 后,请按以下步骤操作:

1. 选择一个用于显示提取结果的单元格,然后转到 Kutools > 公式助手 > 公式助手,如下图所示:

点击 Kutools 的公式助手功能

2. 在公式助手对话框中,执行以下操作:

  • 点击公式类型下拉列表中的文本选项。
  • 从公式列表框中选择 提取单元格中第 N 个单词
  • 单元格文本框中指定源单元格,并在 第 N 个文本框中输入所需单词的位置(例如,输入 2 即表示第二个单词)。

在对话框中指定单元格引用

3. 单击确定返回结果,然后向下拖动填充柄,即可将相同逻辑应用到列表中的其余内容。参见下图:

将公式向下拖动到其他单元格

当提取需求频繁变动,或您更倾向于使用向导式界面而非每次手动编写自定义公式时,此方法尤为适用。


使用 VBA 宏提取单词(第一个、最后一个或第 n 个)

对于更高级的使用场景(例如动态提取文本中的第一个、最后一个或任意指定位置的第 n 个单词,或处理大型及频繁更新的数据集),VBA 宏相比仅使用公式能提供更高的灵活性和自动化能力。VBA 可让您创建一个可重复使用的工具,快速处理大量单元格,并根据实际需求自定义要提取的单词或词组。如果您需要定期以相同方式处理文本,或希望避免复杂的嵌套公式,该方法尤其有用。

典型应用场景:批量提取并导入文本、批量清理数据,或快速生成标准化报告。

1. 单击开发工具>Visual Basic,即可打开 VBA 编辑器。在 Microsoft Visual Basic for Applications 窗口中,选择插入> 模块,并将以下代码粘贴到新模块中:

Sub ExtractWord()
    Dim Rng As Range
    Dim Cell As Range
    Dim WordPos As Integer
    Dim Words() As String
    Dim ExtractedWord As String
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set Rng = Application.Selection
    Set Rng = Application.InputBox("Select range to extract word from", xTitleId, Rng.Address, Type:=8)
    
    WordPos = Application.InputBox("Enter which word number to extract (1=first,2=second, etc., or -1 for last)", xTitleId, 1, Type:=1)
    
    Application.ScreenUpdating = False
    
    For Each Cell In Rng
        Words = Split(Application.Trim(Cell.Value), " ")
        
        If WordPos = -1 Then
            If UBound(Words) >= 0 Then
                ExtractedWord = Words(UBound(Words))
            Else
                ExtractedWord = ""
            End If
        ElseIf WordPos >= 1 And WordPos <= UBound(Words) + 1 Then
            ExtractedWord = Words(WordPos - 1)
        Else
            ExtractedWord = ""
        End If
        
        Cell.Offset(0, 1).Value = ExtractedWord
    Next Cell
    
    Application.ScreenUpdating = True
    
    MsgBox "Extraction complete! Results placed in the column to the right.", vbInformation, xTitleId
End Sub

2. 点击运行按钮运行按钮或按 F5 即可运行宏。该宏将提示您选择数据区域,并询问要提取的单词位置(例如,1 表示第一个单词,-1 表示最后一个单词),随后自动将提取出的单词填入右侧相邻列中。请确保分隔符为空格,或根据需要调整 Split 函数以支持其他分隔符。

这种 VBA 方法可显著加快重复性批量提取操作,特别适用于基于公式的解决方案变得繁琐的情况。注意:运行宏前请务必保存工作簿,并确保安全设置中已启用宏。


使用 Power Query 提取单词(拆分并重新组合)

在管理大型表格或处理重复性导入/导出任务时,Power Query 为从文本字符串中提取和操作单词提供了强大的替代方案。点击数据选项卡中的获取和转换数据即可使用 Power Query,通过分隔符(如空格、逗号等)直观地拆分文本、提取所需单词,并重新组合或将数据加载回 Excel。该流程高度可重复,特别适合批量数据清理,尤其是在处理数百甚至数千行数据时。

主要优势:支持重复使用,配备可视化界面,且在单词位置需求变化时可轻松调整。

操作步骤:

  1. 选择您的数据区域,然后依次点击数据 > 从表格/区域,即可将数据加载到 Power Query 中。如系统提示,请确认或创建表格。
  2. 在 Power Query 编辑器中,选择包含文本的列。
  3. 单击拆分列> 按分隔符
    功能区上“按分隔符”选项的截图
  4. 选择空格或输入自定义分隔符,再选择拆分位置——每次出现分隔符时,然后单击“确定”。
    指定分隔符的截图
  5. 文本中的每个单词现在将分别显示在各自的列中(例如 Column 1、Column 2 等)。如需提取前两个单词,请重新合并已拆分的列:选中相应列,右键单击列标题,然后从上下文菜单中选择合并列
    右键菜单中“合并列”选项的截图
  6. 选择您偏好的分隔符(例如空格或逗号),然后点击确定
    为合并文本指定分隔符的截图
  7. 最后,单击关闭并加载,即可将结果加载到当前工作簿的新工作表中。

Power Query 还能轻松实现流程复用——当底层表格发生变化时,只需刷新查询,即可获得一致的结果,无需手动重新应用公式或宏。请务必检查 Power Query 生成的列数,并留意较短文本字符串中可能缺失的单词。


更多相关文章:

  • 从单元格中提取多行内容
  • 如果您有一组由换行符分隔的文本字符串(输入时通过按 Alt + Enter 生成),现在希望将这些行拆分并分别提取到多个单元格中(如下图所示),该如何在 Excel 中使用公式实现?
  • 在 Excel 中从文本字符串提取子字符串
  • 在 Excel 中,从文本字符串中提取子字符串是一项常见任务。尽管 Excel 没有专门用于此操作的单一函数,但结合使用 LEFT、RIGHT、MID 和 SEARCH 函数,您就能灵活提取所需的各种子字符串。
  • 提取特定字符最后一次出现之后的内容
  • 如果您有一组包含多个分隔符的复杂文本字符串(如下图所示,单元格数据中包含连字符、逗号和空格),现在希望找到连字符最后一次出现的位置,并提取其后的内容。

最佳办公效率工具

🤖KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行   |  生成代码|  创建自定义公式  |  数据分析及生成图表|  调用 Kutools Functions……
热门功能查找、高亮或标记重复项   |  删除空白行   |  合并列或单元格且不丢失数据   |  不使用公式的四舍五入……
高级 LOOKUP多条件 VLookup  |  多值 VLookup  |   跨多工作表 VLookup   |   模糊查找……
高级下拉列表快速创建下拉列表   |  级联下拉列表   |  多选下拉列表……
列管理器添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列……
特色功能网格聚焦   |  设计视图   |增强编辑栏   | 工作簿和表管理器   |  资源库(自动文本)|  日期提取   |  汇总工作表  |  加密/解密单元格   | 按列表发送邮件   |  超级筛选   |   特殊筛选(筛选粗体单元格/斜体/删除线……) ......
精选 15 工具集12 文本工具添加文本删除特定字符,……)|   50+ 图表 类型甘特图,……)|   40+ 实用公式基于生日计算年龄,……)|   19 插入工具插入二维码从路径插入图片,……)|   12 转换工具小写金额转大写汇率转换,……)|   7 合并和拆分工具高级合并行分割单元格,……)|……更多
在您的首选语言中使用 Kutools – 支持英语、西班牙语、德语、法语、中文及 40+ 种其他语言!

使用 Kutools for Excel 大幅提升您的 Excel 技能,体验前所未有的高效。Kutools for Excel 提供 300 多项高级功能,助您提升生产力、节省时间。立即点击此处,获取您最需要的功能……


Office Tab 为 Office 带来标签式界面,让您的工作更轻松

  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑和阅读
  • 在同一个窗口的新标签页中打开并创建多个文档,而非在新窗口中。
  • 将您的工作效率提升 50%,每天减少数百次鼠标点击!

所有 Kutools 插件,一个安装程序

Kutools for Office 套件捆绑了适用于 Excel、Word、Outlook 和 PowerPoint 的插件以及 Office Tab Pro,非常适合需要跨多个 Office 应用高效协作的团队。

ExcelWordOutlookTabsPowerPoint
  • 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
  • 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
  • 协同效果更佳— 在多个 Office 应用中实现高效协同
  • 30 天全功能试用— 无需注册,无需信用卡
  • 超值之选— 比单独购买插件更省钱