You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel跨多列提取含指定关键词的唯一整行(支持模糊匹配)

提取Excel中含指定关键词的唯一整行数据(支持模糊匹配)

一、用Excel自带功能搞定(零公式)

1. 定位所有含关键词的单元格

  • 按Ctrl+F弹出「查找和替换」对话框,输入目标关键词(比如Foo)
  • 点击「选项」,不要勾选「单元格匹配」(勾选后仅支持完全匹配,无法识别Foobar这类包含关键词的内容)
  • 点击「查找全部」,对话框底部会列出所有匹配的单元格;按Ctrl+A全选这些结果,关闭对话框后,工作表中所有含关键词的单元格会被选中

2. 提取整行并去重

  • 右键选中的任意单元格→点击「复制」
  • 新建空白工作表,右键A1单元格→「粘贴」,此时会粘贴所有匹配的行(同一行多列含关键词会重复粘贴)
  • 选中粘贴后的全部数据区域(含表头),点击「数据」选项卡→「删除重复值」→勾选「全选」→点击「确定」,即可得到唯一的匹配行

多列匹配的示例说明

下图为「查找和替换」的结果示例:同一行(行号5)的A列和C列均包含关键词"Foo",查找结果会显示两条对应记录,但后续去重操作后,这行只会保留一次:

(示例图展示:查找结果列表中,行号5的A、C单元格均匹配关键词,两条记录指向同一行)

二、用公式实现(数据动态更新)

假设:

  • 原始数据位于Sheet1!A1:AB4950,表头在第1行
  • 关键词输入在Sheet2!A1(可自行调整位置)
  • 结果输出在Sheet2的A2开始区域

1. 生成不重复的匹配行号

在Sheet2!B2单元格输入以下公式:

  • Excel 365/2021版本直接回车
  • 旧版Excel需按Ctrl+Shift+Enter触发数组公式
=IFERROR(INDEX(Sheet1!$A$1:$A$4950,SMALL(IF(MMULT(--(ISNUMBER(SEARCH(Sheet2!$A$1,Sheet1!$A$2:$AB$4950))),ROW(Sheet1!$A$1:$AB$1)^0)>0,ROW(Sheet1!$A$2:$AB$4950)-ROW(Sheet1!$A$1)+1,""),ROW(A1))),"")

原理说明:先逐行检查是否存在含关键词的单元格,将符合条件的行号按顺序提取,无匹配时返回空白。

2. 提取整行数据

在Sheet2!A2单元格输入公式,向右拖动到AB列,再向下拖动至出现空白即可:

=IF($B2="","",INDEX(Sheet1!A:A,$B2))

该公式会根据B列的行号,提取Sheet1对应行的整列数据,B列为空时自动显示空白。

公式优势

  • 支持模糊匹配,搜索Foo可匹配Foobar、XyFooZ等包含关键词的内容
  • 自动去重,同一行无论多少列含关键词,仅提取一次
  • 原始数据更新后,结果会自动同步更新

内容的提问来源于stack exchange,提问作者Jimmy Wede

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 06:09:25