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

如何实现多条件查找?
要查找产品,其颜色为白色且中号尺寸、价格为$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()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 MATCH 函数可在一个单元格区域搜索指定值,并返回该值的相对位置。
相关公式
在某些情况下,您可能需要根据多个条件查找最接近或近似的匹配值。通过结合使用 INDEX、MATCH 和 IF 函数,您可以在 Excel 中高效实现这一需求。
有时我们需要在 Excel 中进行近似匹配,比如评估员工绩效、学生成绩分级或根据重量计算邮费等。本文将为您介绍如何结合使用 INDEX 和 MATCH 函数,快速查找所需结果。
如果您已经掌握了在工作表中使用 VLOOKUP 函数查找数值的方法,那么从其他工作表或工作簿中查找数值同样轻松。本文将为您演示如何在 Excel 中从其他工作表查找数值。
最强最佳办公效率工具
Kutools for Excel —— 助您脱颖而出
| 🤖 | KUTOOLS AI 助手:基于数据分析的革命性升级智能执行 | 生成代码| 创建自定义公式 | 数据分析及生成图表| 调用 Kutools Functions…… |
| 热门功能:查找、高亮或标记重复项 | 删除空白行 | 合并列或单元格且不丢失数据 | 不使用公式的四舍五入…… | |
| 超级 VLookup:多条件查找 | 多值返回 | 跨多表查找 | 模糊查找…… | |
| 高级下拉列表:便捷下拉列表 | 联动下拉列表 | 多选下拉列表…… | |
| 列管理器:添加指定数量的列 | 移动列 | 切换隐藏列可见状态 |对比列与选择相同/不同单元格…… | |
| 精选功能:网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿和表管理器|资源库(自动文本)| 日期提取 | 汇总工作表 | 加密/解密单元格 | 按列表批量发送邮件 | 超级筛选 | 特殊筛选(筛选粗体单元格/斜体/删除线等) ...... | |
| 顶级 15 工具集:12 文本工具(添加文本、删除特定字符……)| 50+ 图表 类型(甘特图……)| 40+ 实用公式(基于生日计算年龄……)| 19 插入工具(插入二维码、按路径插入图片……)| 12 转换工具(小写金额转大写、汇率转换……)| 7 合并和拆分工具(高级合并行、拆分 Excel 单元格……)|…… 以及更多 |
Kutools for Excel 拥有超过 300 项功能,让您一键直达所需……
Office Tab —— 让 Microsoft Office(包括 Excel)支持标签式阅读与编辑
- 一秒即可切换数十个已打开的文档!
- 每天为您减少数百次鼠标点击,轻松告别鼠标手困扰。
- 在同时查看和编辑多个文档时,让您的工作效率提升高达 50%。
- 为 Office(包括 Excel)带来高效标签页体验,畅享如同 Chrome、Edge 和 Firefox 般的便捷操作。