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

从单元格提取首个列表值

作者Amanda Li修改日期

若需从包含多个值的特定单元格中检索区域内排列的第一个关键词,可结合使用稍复杂的数组公式,以及 INDEXMATCH、ISNUMBER 和 SEARCH 等函数。

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

如何从单元格中提取第一个列表值?

如上图所示,若要获取单元格中与关键词列内容匹配的首个关键词,这意味着需要进行模糊包含匹配,而非精确匹配。具体方法为:结合 ISNUMBER 和 SEARCH 函数生成 TRUE/FALSE 数组,再利用 MATCH 定位第一个 TRUE 的位置,并将其作为参数传递给 INDEX,返回对应值。

通用语法

=INDEX()keyword_rng,MATCH(TRUE,ISNUMBER(SEARCH()))keyword_rng,lookup_cell)),0))

√ 注意:这是一个数组公式,需使用 Ctrl+Shift+Enter 组合键输入方式。

  • keyword_rng:关键词所在的单元格区域。
  • lookup_cell:需要查找是否包含关键词的目标单元格。

从 B5 单元格在关键字列表中检索第一个匹配项,请在 C5 单元格中输入或复制以下公式,并按下 Ctrl+Shift+Enter 以获得结果:

=INDEX()($E$5:$E$7),MATCH(TRUE,ISNUMBER(SEARCH()))($E$5:$E$7),B5)),0))

√ 注意:上式中的美元符号($) 代表绝对引用,即公式中的 keyword_rng 区域在移动或复制公式到其他单元格时不会改变。而未加美元符号的 lookup_cell 表示该单元格为动态引用。输入公式后,下拉填充柄自动填充到下方单元格。

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

公式详解

=INDEX(($E$5:$E$7,))MATCH(TRUE,)ISNUMBER()SEARCH($E$5:$E$7,B5)),0))

  • SEARCH($E$5:$E$7,B5)SEARCH 函数会返回关键词在区域 $E$5:$E$7 中的位置,若找到则返回该关键词在文本中的位置,未找到则返回 #VALUE!错误。结果将以类似 {15;11;#VALUE!} 这样的数组形式显示。
  • ISNUMBER()SEARCH($E$5:$E$7,B5))=ISNUMBER(){15;11;#VALUE!})ISNUMBER 函数会将数组中的数值转换为 TRUE,将 #VALUE! 转换为 FALSE,效果如下:{TRUE;TRUE;FALSE}
  • MATCH(TRUE,)ISNUMBER()SEARCH($E$5:$E$7,B5)),0)=MATCH(TRUE,){TRUE;TRUE;FALSE},0)match_type 0 参数让 MATCH 函数进行精确匹配,并返回数组中第一个 {TRUE;TRUE;FALSE}为 TRUE 的位置。因此,该函数返回 1.
  • INDEX(($E$5:$E$7,))MATCH(TRUE,)ISNUMBER()SEARCH($E$5:$E$7,B5)),0)) = INDEX(($E$5:$E$7,)1):INDEX 函数随后会返回区域 $E$5:$E$7 中第 1 个值,该值为 AAA

备注

  • 如果某个单元格包含两个或以上关键词,公式将返回关键词区域中最先出现的那个关键词。
  • 此公式不区分大小写。如果需要区分大小写的匹配,只需将 SEARCH 函数替换为 FIND 函数即可。
  • 如果您只需判断单元格是否包含某个特定字符串,也可以将关键词列表替换为硬编码的字符串数组常量(如 {“AAA”})。

相关函数

Excel INDEX 函数

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

Excel MATCH 函数

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

Excel SEARCH 函数

在 Excel 中,SEARCH 函数可帮助您查找指定文本字符串中某个特定字符或子字符串的位置,如下图所示。本文将为您介绍如何在 Excel 中使用 SEARCH 函数。


相关公式

在单元格中检索首个匹配的列表值

假设您拥有一组关键词,若需从包含多个值的特定单元格中提取第一个出现的关键词,可结合使用 INDEX、区分公式、AGGREGATE 以及 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 般的便捷操作。