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

用 INDEX 和 MATCH 实现多条件查找

作者Amanda Li修改日期

在处理包含多列和行标题的大型 Excel 数据库时,查找符合多个条件的数据总是非常棘手。此时,您可以通过结合 INDEXMATCH 函数的数组公式来轻松解决。

多条件 INDEX MATCH 示例 1

如何实现多条件查找?

要查找产品,其颜色为白色中号尺寸、价格为$18 ,如上图所示,您可以利用布尔逻辑生成由 1 和 0 组成的数组,显示符合条件的行。MATCH 函数将定位第一个满足所有条件的行,随后 INDEX 函数即可返回该行对应的产品 ID。

通用语法

=INDEX()return_range,MATCH(1,())criteria_value 1=criteria_range 1*criteria_value 2=criteria_range 2*(…),0))

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

  • return_range:指组合公式需要返回的产品 ID 区域。此处即为产品 ID 所在区域。
  • criteria_value:用于定位产品 ID 位置的条件,这里指的是单元格 H3、H5 和 H6 中的数值。
  • criteria_range:对应 criteria_values 的区域,此处指颜色、尺寸和价格区域。
  • match_type 0: 让 MATCH函数仅查找第一个与 lookup_value 完全相等的数值。

要查找白色中号、价格为$18 的产品,请复制或输入下方公式至 H8 单元格,并按 Ctrl+Shift+Enter 即可得到结果:

=INDEX()B5:B10,MATCH(1,())"White"=C5:C10)*("Medium"=D5:D10)*(18=E5:E10),0))

或者,使用一个单元格引用让公式更加灵活动态:

=INDEX()B5:B10,MATCH(1,())h 3=C5:C10)*(H5=D5:D10)*(H6=E5:E10),0))

多条件 INDEX MATCH 示例 2

公式详解

=INDEX()B5:B10,MATCH(1,)(h 3=C5:C10)*(H5=D5:D10)*(H6=E5:E10),0))

  • (h 3=C5:C10)*(H5=D5:D10)*(H6=E5:E10) 该公式会将单元格 h 3 的颜色与 C5:C10 区域内的所有颜色进行比较,将 H5 的尺寸与 D5:D10 区域内的所有尺寸进行比较,并将 H6 的价格与 E5:E10 区域内的所有价格进行比较。初步结果如下:
    {TRUE;FALSE;TRUE;FALSE;TRUE;FALSE}*{FALSE;FALSE;TRUE;TRUE;TRUE;FALSE}*{FALSE;FALSE;FALSE;TRUE;TRUE;FALSE}。
    通过乘法,TRUE 和 FALSE 会被转换为 1 和 0:
    {1;0;1;0;1;0}*{0;0;1;1;1;0}*{0;0;0;1;1;0}。
    相乘后,最终会得到这样一个单一数组:
    {0;0;0;0;1;0}
  • MATCH(1,)(h 3=C5:C10)*(H5=D5:D10)*(H6=E5:E10),0)=MATCH(1,)match_type 0 要求 MATCH 函数进行精确匹配。该函数会返回 1 在数组 {0;0;0;0;1;0} 中的位置,即第 5 个。
  • INDEX()B5:B10,MATCH(1,)(h 3=C5:C10)*(H5=D5:D10)*(H6=E5:E10),0)) = INDEX(B5:B10INDEX 函数将返回产品 ID 区域中第 5 个值,即 B5:B10 中的 30005.

相关函数

Excel INDEX 函数

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

Excel MATCH 函数

Excel MATCH 函数可在一个单元格区域搜索指定值,并返回该值的相对位置。


相关公式

按多个条件查找最接近的匹配值

在某些情况下,您可能需要根据多个条件查找最接近或近似的匹配值。通过结合使用 INDEX、MATCH 和 IF 函数,您可以在 Excel 中高效实现这一需求。

用 INDEX 与 MATCH 实现近似匹配

有时我们需要在 Excel 中进行近似匹配,比如评估员工绩效、学生成绩分级或根据重量计算邮费等。本文将为您介绍如何结合使用 INDEX 和 MATCH 函数,快速查找所需结果。

从其他工作表或工作簿待检索值区域

如果您已经掌握了在工作表中使用 VLOOKUP 函数查找数值的方法,那么从其他工作表或工作簿中查找数值同样轻松。本文将为您演示如何在 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 般的便捷操作。