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

在列表中查找并返回单元格内第一个匹配项

作者Amanda Li修改日期

假如您有一个关键词列表,想要从某个包含多个值的单元格中获取首次出现的关键词,您可以结合使用 INDEXMATCHAGGREGATESEARCH 等函数公式来轻松实现。

在单元格中查找列表中的首个匹配值 1

如何在单元格中根据列表查找第一个匹配值?

若要获取单元格内与关键词列表匹配的首个关键词(如上表所示),需执行“包含匹配”而非精确匹配。为此,可利用 SEARCH 函数,将单元格中每个关键词出现的位置(以数字形式)传递给 AGGREGATE 函数,然后通过设置 function_num 参数为 15,ref 2 参数为 1,让 AGGREGATE 获取最小值。接下来,使用 MATCH 定位首个最小值,并将其位置编号传递给 INDEX,返回对应的关键词。

通用语法

=INDEX()keyword_rng,MATCH(AGGREGATE(15,6,SEARCH()))keyword_rng,lookup_cell),1),SEARCH(keyword_rng,lookup_cell),0))

√ 注意:这是一个数组公式,需要同时按下 Ctrl+Shift+Enter 键盘输入。

  • keyword_rng:包含关键词的单元格区域。
  • lookup_cell:用于查找包含指定关键词的单元格。

要获取 B5 单元格与关键词列匹配的首个关键词,请在 C5 单元格中复制或输入以下公式,并按 Ctrl+Shift+Enter,即可得到结果:

=INDEX()$E$5:$E$7,MATCH(AGGREGATE(15,6,SEARCH()))$E$5:$E$7,B5),1),SEARCH($E$5:$E$7,B5),0))

√ 注意:上文中的美元符号($)表示绝对引用,意味着 keyword_rng 在公式中引用不会因移动或复制到其他单元格而变化。而未加美元符号的 lookup_cell 因需动态变化。输入公式后,下拉填充柄以应用到下方单元格。

在单元格中查找列表中的首个匹配值 2

公式详解

=INDEX($E$5:$E$7,)MATCH()AGGREGATE(15,6,)SEARCH($E$5:$E$7,B5),1),SEARCH($E$5:$E$7,B5),0))

  • SEARCH($E$5:$E$7,B5)SEARCH 函数会返回在数字中找到范围 $E$5:$E$7 内每个关键词的位置,若未找到,则返回 #VALUE!错误。结果将以如下数组形式呈现:{15;11;#VALUE!}
  • AGGREGATE(15,6,)SEARCH($E$5:$E$7,B5),1)=AGGREGATE(15,6,){15;11;#VALUE!},1) 当 AGGREGATE 函数配合 function_num 参数为 15option 参数为 6 使用时,可根据 ref 2 参数 1,自动忽略错误值,返回数组中的最小值。因此,该公式最终返回 11.
  • MATCH()AGGREGATE(15,6,)SEARCH($E$5:$E$7,B5),1),SEARCH($E$5:$E$7,B5)=MATCH()11,{15;11;#VALUE!},0)match_type 参数 0 会让 MATCH 函数进行精确匹配,并返回 11 在数组 {15;11;#VALUE!} 中的位置。因此,公式将返回 2.
  • INDEX($E$5:$E$7,)MATCH()AGGREGATE(15,6,)SEARCH($E$5:$E$7,B5),1),SEARCH($E$5:$E$7,B5)) = INDEX($E$5:$E$7,2):INDEX 函数随后会返回 $E$5:$E$7 范围中第 2 个位置的值,即 bbb

备注

  • 如果单元格中未包含任何关键词,则会返回 #NUM!错误。
  • 该公式不区分大小写。如需进行区分大小写的匹配,只需将 SEARCH 函数替换为 FIND 即可。

相关函数

Excel INDEX 函数

Excel INDEX 函数可根据指定位置,从区域或数组中返回对应的显示值。

Excel MATCH 函数

Excel MATCH 函数可在单元格区域内查找指定数值,并返回该数值的相对位置。

Excel SEARCH 函数

在 Excel 中,SEARCH 函数可帮助您查找特定字符或子字符串在指定文本字符串中的位置,如上方截图所示。本教程将为您详细介绍如何在 Excel 中使用 SEARCH 函数。

Excel AGGREGATE 函数

Excel AGGREGATE 函数可实现 SUM、COUNT、SMALL 等多种汇总计算,并可灵活选择是否忽略错误值和隐藏行。


相关公式

从单元格获取第一个列表值

如果您希望从包含多个值的单元格中提取某个区域内列出的第一个关键词,则需要结合使用 INDEX、MATCH、ISNUMBER 和 SEARCH 等函数,构建相对复杂的数组公式。

精确匹配配合 INDEX 和 MATCH

如果您想在 Excel 中查找某个特定产品、电影或人物的相关信息,推荐您巧妙运用 INDEX 和 MATCH 函数组合。

判断单元格是否包含特定文本

本教程为您提供多种公式,帮助检测单元格是否包含特定文本,并返回 TRUE 或 FALSE(如下方截图所示),同时详细讲解公式参数及其工作原理。

判断单元格是否同时包含多项内容

假设在 Excel 中,E 列包含一组数值,您希望判断 B 列单元格是否包含 E 列中的所有数值,并返回 TRUE 或 FALSE,如下图所示。本文将为您提供相应公式,助您轻松完成此任务。

判断单元格是否包含多项内容中的任意一项

本教程为您详解了在 Excel 中检测单元格是否包含多个指定值的公式,并对公式参数及其工作机制进行了说明。


最强最佳办公效率工具

Kutools for Excel —— 助您脱颖而出

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

Kutools for Excel 拥有超过 300 项功能,让您一键直达所需……


Office Tab —— 让 Microsoft Office(包括 Excel)支持标签式阅读与编辑

  • 一秒即可切换数十个已打开的文档!
  • 每天为您减少数百次鼠标点击,轻松告别鼠标手困扰。
  • 在同时查看和编辑多个文档时,让您的工作效率提升高达 50%。
  • 为 Office(包括 Excel)带来高效标签页体验,畅享如同 Chrome、Edge 和 Firefox 般的便捷操作。