跳至主要内容

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

Author: Xiaoyang Last Modified: 2025-07-31

在Excel中处理大量文本数据时,通常需要从每个单元格中提取某些单词,例如前几个单词、最后的单词或特定位置的单词。常见的场景包括从包含多词文本条目的单元格中提取名称、地址、关键字或唯一标识符,特别是当数据由空格分隔时。例如,您可能有一个包含句子或产品代码的单元格,并希望提取前三个单词,或者仅提取最后两个单词以进行后续处理。Excel没有直接内置的函数来实现这一点,但有多种方法可以实现灵活的单词提取,每种方法都适用于不同的数据大小和需求。本文将介绍公式、实用工具和额外的自动化技术,帮助您高效地从Excel中的文本字符串提取前、后或第n个单词。

extract first or last two or n words

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

使用公式从文本字符串提取最后两个或第n个单词

使用便捷功能从文本字符串提取第一个或第N个单词

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

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


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

要从单元格值中提取前几个单词,您可以使用以下公式。如果您有始终如一的单词分隔符(例如空格),并且希望从单元格中提取前三个单词,这些公式特别有用。这些公式易于应用,适用于中等规模的数据集,并且可以调整为提取任意数量的前导单词。

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

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

apply a formula to extract first two or n words

说明与提示:

1. 在上述示例公式中,A2指代包含原始文本的单元格,而3是您希望提取的单词数。根据您的数据需求修改这些引用。

2. 如果您希望提取的单词数按行变化,并且指定在B列中,您可以使用以下灵活公式:

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

apply a formula to extract first n words by cell value

此公式允许您通过引用单元格(例如B2)动态指定要提取的单词数。请确保B2包含有效的整数。

3. 如果您的文本由其他分隔符(如逗号或分号)分隔,您可以通过将空格字符(" ")替换为您特定的分隔符来适应该公式。

4. 注意开头/结尾的双空格或多连续空格,因为这些会影响结果。应用TRIM有助于去除多余的空格。

5. 如果单元格中的总单词数少于您试图提取的数量,该公式将返回完整文本而不报错。


使用公式从文本字符串提取最后两个或第n个单词

要从文本字符串中提取最后的单词(如最后两个或最后n个单词),以下公式会有所帮助。这种方法对于需要始终提取尾随单词的数据集非常有效,例如姓氏、文件扩展名或文本单元格末尾的标识符。

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

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

apply a formula to extract last two or n words

注意事项和实践技巧:
  • A2: 包含文本的源单元格。
  • 3: 您希望提取的最后单词的数量。要提取最后5个单词,只需将公式中的3改为5。
  • 如果单元格中总的单词数少于您请求的数量,它将简单地返回该单元格中所有可用的单词。
  • 如果您的数据由另一个分隔符(逗号、制表符)分隔,请相应调整公式。
  • 数据中复杂或不一致的间距可能导致结果不准确;在可能的情况下,在应用公式之前清理您的文本。

使用便捷功能从文本字符串提取第一个或第N个单词

如果您需要仅从文本字符串中提取第一个或特定的(第n个)单词,并且更喜欢不需要记忆或编辑复杂公式的解决方案,可以使用Kutools for Excel提取单元格中第n个单词的功能允许您轻松从单元格中选择特定的单词位置,使其适合偶尔使用和重复任务。如果您想要一个快速、菜单驱动的解决方案,错误风险最小且无需手动输入公式,则推荐此方法。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...

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

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

click Formula Helper feature of kutools

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

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

specify the cell references in the dialog box

3. 点击确定返回结果,然后向下拖动填充柄以将相同的逻辑应用于列表的其余部分。见插图:

drag down the formula to other cells

当提取要求经常变化时,或者当您想要一个引导界面而不是每次构建自定义公式时,此方法非常适用。


使用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运行宏,点击 Run button 运行按钮或按 F5。宏将提示您选择数据范围,询问要提取哪个单词位置(例如,1表示第一个单词,-1表示最后一个单词),然后将提取的单词放置在相邻右侧的列中。确保您的分隔符为空格,或根据需要调整 Split 函数以适应其他分隔符。

这种VBA方法使重复、批量提取更快,是基于公式的解决方案变得繁琐时的理想选择。注意:在运行宏之前始终保存您的工作簿,并确保在安全设置中启用了宏。


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

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

主要优势:一致性用于重复使用,可视化界面,如果单词位置要求改变则易于调整。

操作步骤:

  1. 选择您的数据范围并选择数据 > 从表/范围以将数据加载到Power Query中。如果出现提示,请确认/创建您的表。
  2. 在Power Query编辑器中,选择包含您文本的列。
  3. 单击拆分列 > 按分隔符
    a screenshot showing the By Delimiter option on the ribbon
  4. 选择空格或输入您自定义的分隔符,然后选择拆分于每次出现分隔符。然后点击确定。
    a screenshot of specifiying the delimiter
  5. 文本中的每个单词现在将出现在其自己的列中(例如,列1、列2等)。如果您希望提取前两个单词,请重新组合拆分的单词。选择相应的列,右键单击标题,然后从上下文菜单中选择合并列
    a screenshot showing the Merge Columns option in the context menu
  6. 选择您首选的分隔符(例如,空格或逗号)并点击确定
    a screenshot of specifying a delimiter for combining text
  7. 最后,点击关闭并加载以将您的结果加载回当前工作簿的新工作表中。

Power Query还使重复使用该过程变得毫不费力,因为如果底层表格发生变化,您可以刷新查询,确保一致的结果而无需手动重新应用公式或宏。请记住检查Power Query生成的列数,并考虑较短文本字符串中缺失的单词。


更多相关文章:

  • 从单元格中提取多行
  • 如果您有一个由换行符分隔的文本字符串列表(在输入文本时按下Alt + Enter键产生),现在,您想将这些行的文本提取到多个单元格中,如下方截图所示。如何在Excel中使用公式解决这个问题?
  • 从Excel中的文本字符串提取子字符串
  • 您可能经常需要从文本字符串中提取子字符串,在Excel中没有直接的函数来完成这个任务,但是借助LEFT、RIGHT、MID和SEARCH函数,您可以根据需要提取各种子字符串。
  • 从文本字符串中提取括号内的文本
  • 如果文本字符串中有部分文本被括号包围,现在您需要提取括号之间的所有文本字符串,如下方截图所示。如何在Excel中快速轻松地解决这个任务?
  • 提取特定字符最后一次出现后的文本
  • 如果您有一系列复杂的文本字符串,其中包含多个分隔符(以下方截图为例,其中包含连字符、逗号、单元格数据中的空格),现在,您想找到连字符最后一次出现的位置,然后提取其后的子字符串。

最佳 Office 办公效率工具

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

用 Kutools for Excel 加速你的 Excel 技能,体验前所未有的高效办公。 Kutools for Excel 提供300 多项高级功能,助您提升效率,节省大量时间。点击此处,获取你最需要的功能...


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

  • 在 Word、Excel、PowerPoint 启用标签式编辑和阅读
  • 在同一窗口的新标签中打开和创建多个文档,无需新建窗口。
  • 办公效率提升50%,每天帮你减少上百次鼠标点击!