跳至主要内容

如何在Excel中提取所有部分匹配项?

Author: Xiaoyang Last Modified: 2025-05-08

在Excel中处理大型数据集时,您可能需要提取包含特定关键字或短语的部分匹配的行、单元格或数据。此任务在数据清理、筛选和分析中很常见。虽然Excel没有直接提取部分匹配的内置工具,但您可以使用几种方法来实现这一目的。本文将引导您逐步了解如何高效地提取Excel中的所有部分匹配项。

A screenshot showing a column in Excel with all partial matches listed separately and separated by a delimiter


使用公式垂直提取所有部分匹配项

要根据部分文本垂直提取列中的所有匹配项,以下数组公式可以帮到您:

步骤1:请将以下公式复制并粘贴到您希望放置结果的空白单元格中:

=INDEX($A$2:$A$14,SMALL(IF(ISNUMBER((SEARCH($C$2,$A$2:$A$14))),MATCH(ROW($A$2:$A$14),ROW($A$2:$A$14)), ""),ROWS($E$1:E1)),COLUMNS($E$1:E1))

注意:在上述公式中,A2:A14是可能包含您希望返回匹配项的关键字的单元格,C2包含关键字,E1是公式上方的单元格。

步骤2:然后同时按下Ctrl + Shift + Enter键以获取第一个结果,接着向下拖动填充柄以获取所有匹配项,直到出现错误值为止。最后,删除错误值,如下截图所示:

A screenshot showing a column in Excel with partial matches extracted vertically using a formula


使用用户定义函数将所有部分匹配项提取到单个单元格中

如果您需要将所有匹配项提取到一个单元格中,并用特定分隔符分隔,仅靠公式无法实现这一点。这里,您需要应用以下用户定义函数:

步骤1:按“Alt + F11”键打开Microsoft Visual Basic for Applications窗口。

步骤2:在“Microsoft Visual Basic for Applications”窗口中,点击“插入”>“模块”,然后将以下代码复制到模块中。

VBA代码:将所有部分匹配项提取到单个单元格中

Function ExtractPartMatch(rngInput As Range, rngSource As Range, Optional sDelimiter As String)
'Updateby ExtendOffice
Dim rng As Range
If sDelimiter = "" Then sDelimiter = ", "
For Each rng In rngSource
    If InStr(1, rng.Value, rngInput.Value, vbTextCompare) > 0 Then ExtractPartMatch = ExtractPartMatch & sDelimiter & rng.Value
Next
If Len(ExtractPartMatch) > 0 Then ExtractPartMatch = Mid(ExtractPartMatch, 2, Len(ExtractPartMatch))
End Function

步骤3:粘贴代码后,请返回到您希望放置结果的工作表,然后输入此公式:=ExtractPartMatch(C2,$A$2:$A$14),然后按Enter键以获取如下截图所示的结果:

A screenshot showing all partial matches combined into a single cell in Excel with a delimiter, using a VBA function


使用Kutools AI助手垂直提取或将所有部分匹配项提取到单个单元格中

借助Kutools AI助手,您可以简化此过程,并只需几次点击即可提取所有部分匹配项。这个智能工具帮助您识别并提取包含特定关键字或短语的行或单元格,节省宝贵时间并确保准确性。

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

安装Kutools For Excel后,请点击“Kutools”>“AI助手”以打开“Kutools AI助手”窗格。

  1. 在“Kutools AI助手”窗格中,在聊天框中输入需求:例如:垂直提取所有部分匹配项:从列A中提取包含“Wood”的单元格并将它们放在列E中,从单元格E2开始将所有部分匹配项提取到单个单元格中:从列A中提取包含“Wood”的单元格并将它们放在一个单元格E2中
  2. 然后,按Enter键或点击“发送”按钮。Kutools AI将分析问题,完成后,请点击“执行”按钮以获取结果。

总之,可以通过多种方法提取Excel中的部分匹配项,具体取决于您的需求。选择最适合您工作流程的方法,并简化您的Excel任务!如果您有兴趣探索更多Excel技巧,我们的网站提供了数千个教程

最佳办公效率工具

🤖 Kutools AI 助手:基于智能执行生成代码创建自定义公式分析数据并生成图表调用 Kutools 函数等功能,彻底改变数据分析方式…
热门功能查找、高亮或标记重复项 | 删除空行 | 合并不丢失数据的列或单元格 | 四舍五入 ...
高级 LOOKUP多条件 VLookup | 多值 VLookup | 多表查找 | 模糊查找 ....
高级下拉列表快速创建下拉列表 | 从属下拉列表 | 多选下拉列表 ....
列管理器添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域和列 ...
精选功能网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿与工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/斜体/删除线...)...
排名前 15 的工具集12 种文本 工具添加文本删除特定字符等) | 50 多 种图表 类型甘特图等) | 40 多种实用 公式基于生日计算年龄等) | 19 种插入 工具插入二维码根据路径插入图片等) | 12 种转换 工具小写金额转大写汇率转换等) | 7 种合并与分割 工具高级合并行分割单元格等) | 还有更多...

使用 Kutools for Excel 提升您的 Excel 技能,体验前所未有的高效。 Kutools for Excel 提供超过 300 种高级功能来提高生产力并节省时间。 单击此处获取您最需要的功能...


Office Tab 将标签式界面引入 Office,让您的工作更加轻松

  • 在 Word、Excel、PowerPoint 中启用标签式编辑和阅读
  • 在同一窗口的新标签页中打开和创建多个文档,而不是在新窗口中进行操作。
  • 将您的生产力提升 50%,每天为您减少数百次鼠标点击!