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

如何在 Excel 中根据两个或多个条件查找对应的值?

作者Kelly修改日期

在 Excel 中搜索特定信息是常见需求,尤其是在处理大型数据集时。虽然 Excel 的“查找”功能有助于定位单个值,但在需要提取同时满足两个或更多条件的数据时则力不从心。例如,查找某款水果在特定日期的销售额,或一次性筛选出所有符合多项条件的记录。高效应对这类多条件查找(Lookup)任务,是许多用户的典型挑战。本文将为您介绍几种在 Excel 中基于两个或多个条件精准查找值的实用高效方法,涵盖应用场景、关键注意事项及实用技巧,助您轻松提升数据处理效率!


使用数组公式通过两个或多个条件查找值

假设您正在处理如下所示的水果销售表,可能需要根据多项信息(如水果类型、销售日期和重量)来查找对应的销售金额。在 Excel 中,使用数组公式可以高效地检索这些值,即使需同时满足多个条件也不例外。这种方法灵活实用,特别适用于需要查找匹配多个条件的单个单元格值的数据集。
示例数据

数组公式 1:在 Excel 中通过两个或多个条件查找值

此数组公式的一般结构如下:

{=INDEX(array,MATCH(1,(criteria 1=lookup_array 1)*(criteria 2= lookup_array 2)…*(criteria n= lookup_array n),0))}

例如,如果您想查找芒果9/3/2019 的销售金额,请在空白单元格中输入以下公式,然后按 Ctrl+Shift+Enter 将其确认为数组公式:

=INDEX(F3:F22,MATCH(1,(J3=B3:B22)*(J4=C3:C22),0))

使用公式1根据两个或多个条件查找值

注意:在此示例中,

  • F3:F22是您要从中检索值的“金额”列。
  • B3:B22为“日期”列;C3:C22为“水果”列。
  • J3是作为第一个条件的日期;J4是作为第二个条件的水果名称。
请确保这些区域的行数一致,否则公式将返回错误。

添加更多条件非常简单。例如,要查找在 9/3/2019 销售的芒果且重量为 211 的销售金额,请按如下方式在 MATCH 和查找数组中添加第三个条件:

=INDEX(F3:F22,MATCH(1,(J3=B3:B22)*(J4=C3:C22)*(J5=E3:E22),0))

输入公式后,再次按下 Ctrl+Shift+Enter 进行确认,即可获得满足所有指定条件的销售金额。
为公式添加条件

数组公式 2:通过连接在 Excel 中使用两个或多个条件查找值

或者,您也可以采用连接方式来构建公式,尤其在追求更紧凑的结构时。基本公式如下:

=INDEX(array,MATCH(criteria 1& criteria 2…& criteriaN, lookup_array 1& lookup_array 2…& lookup_arrayN,0),0)

例如,要检索 重量为 242 且日期为 9/1/2019 的水果销售金额:

=INDEX(F3:F22,MATCH(J3&J4,B3:B22&C3:C22,0),0)

使用公式2根据两个或多个条件查找值

注意:此处,

  • F3:F22为金额列;B3:B22为日期列;E3:E22为重量列。
  • J3为日期;J5为您条件中的重量值。
务必始终保持条件与对应查找数组的顺序一致,否则公式可能会返回错误结果。

对于两个以上的条件,请按相同顺序扩展条件和查找数组:

=INDEX(F3:F22,MATCH(J3&J4&J5,B3:B22&C3:C22&E3:E22,0),0)

与之前一样,请按下 Ctrl+Shift+Enter,即可获得正确结果。

为公式添加条件

这两种数组公式方法均可找到满足所有条件的第一个值,但要求所用单元格区域大小一致,且仅返回首个匹配项,无法列出全部匹配结果。若无匹配项,公式将返回 #N/A 错误。如需显示所有匹配项,请考虑使用 FILTER 函数(详见下文)。

一些实用提示和注意事项:

  • 如果您使用的是较新版本的 Excel(如 Microsoft 365 或 Excel 2021),即可借助动态数组公式和 FILTER 函数轻松简化此操作。
  • 为避免在无匹配项时出现 #N/A 错误,您可以将公式用 IFERROR 函数包裹,例如:=IFERROR(INDEX(F3:F22,MATCH(1,(J3=B3:B22)*(J4=C3:C22),0)),“未找到“)
  • 请仔细检查您的查找条件单元格,确保其中没有多余空格或不一致的数据类型。
  • 如果仅按 Enter 后出现错误,请使用 Ctrl+Shift+Enter 将其确认为数组公式(适用于 Excel 2019 及更早版本)。


使用高级筛选通过两个或多个条件查找值

除了使用公式外,Excel 还提供了高级筛选功能,可筛选并提取满足两个或多个条件的所有行,并将匹配结果输出到其他位置。当您需要查看所有符合指定条件的记录(而非仅检索单个值)时,此功能尤为实用。使用步骤如下:

1. 转到数据选项卡,在“排序和筛选”组中点击高级,即可打开“高级筛选”对话框。
从“数据”选项卡中单击高级功能

2. 在“高级筛选”对话框中,完成以下设置:
(1)在“操作”部分,勾选“将筛选结果复制到其他位置”选项。
(2)在“列表区域”中,选中您要筛选的数据范围(本例中为 A1:E21)。
(3)在“条件区域”中,选择包含您筛选条件的区域(此处为 H1:J2)。请确保此条件区域中的标题与数据表中的标题完全一致。
(4)在“复制到”中,选择您希望粘贴筛选结果的第一个单元格(本例中为 H9)。
在“高级筛选”对话框中设置选项

3. 单击“确定”即可执行筛选。

满足条件区域中所有条件的行将被复制到您指定的目标区域,非常适合一次性查看或生成符合多项筛选条件的记录报告。
符合所有列出条件的筛选行被复制到其他位置

一些提示和注意事项:

  • 请确保您的条件区域标题与主数据表中的标题完全一致,否则筛选功能可能无法正常运行。
  • 高级筛选同时支持 AND 和 OR 条件:将条件置于同一行时,应用 AND 逻辑(所有条件必须同时满足);若将条件分列不同行,则应用 OR 逻辑(任一条件满足即可)。
  • 高级筛选不会随数据更改自动更新;您需在更新数据或条件后重新应用筛选。
  • 请注意,条件区域中的空白单元格可能会被视作该字段的“匹配任意值”。

与基于公式的解决方案相比,高级筛选尤其适合提取符合条件的完整数据集,而不仅限于单个单元格的值。然而,该方法不适用于需要实时或频繁更新的查找场景,因为每次数据更改后都必须重新执行筛选操作。


替代方法:使用 Excel FILTER 函数通过两个或多个条件查找值

如果您使用的是较新版本的 Excel(Microsoft 365 或 Excel 2021 及更高版本),FILTER 函数可动态、直观地提取所有满足多个条件的值。此方案无需复杂的数组输入,且能在数据或条件变更时自动更新结果,强烈推荐使用!

1. 在空白单元格中输入如下公式:

=FILTER(F3:F22, (B3:B22=J3)*(C3:C22=J4))

在此公式中:

  • F3:F22 是您的金额列。
  • B3:B22 为日期列,与 J3 中的日期相匹配。
  • C3:C22 是水果列,与 J4 中的水果相匹配。

如果要添加第三个条件,例如匹配“重量”列 (E3:E22)J5 中的值,请扩展公式:

=FILTER(F3:F22, (B3:B22=J3)*(C3:C22=J4)*(E3:E22=J5))

按 Enter 后,Excel 将显示所有满足全部条件的金额。如果未找到匹配项,公式将返回 #CALC!错误,您可使用 IFERROR 函数轻松处理该错误:

=IFERROR(FILTER(F3:F22, (B3:B22=J3)*(C3:C22=J4)*(E3:E22=J5)), "No match")

优势:

  • 结果将随您的数据或条件变更而自动更新。
  • 新式公式比旧版数组公式更易于维护和扩展。
  • 返回所有匹配项,而非仅限首个找到的值。
  • 限制:仅适用于 Microsoft 365、Excel 2021 或更高版本,旧版本不支持。


相关文章:

最佳办公效率工具

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

使用 Kutools for Excel 大幅提升您的 Excel 技能,体验前所未有的高效。Kutools for Excel 提供 300 多项高级功能,助您提升生产力、节省时间。立即点击此处,获取您最需要的功能……


Office Tab 为 Office 带来标签式界面,让您的工作更轻松

  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑和阅读
  • 在同一个窗口的新标签页中打开并创建多个文档,而非在新窗口中。
  • 将您的工作效率提升 50%,每天减少数百次鼠标点击!

所有 Kutools 插件,一个安装程序

Kutools for Office 套件捆绑了适用于 Excel、Word、Outlook 和 PowerPoint 的插件以及 Office Tab Pro,非常适合需要跨多个 Office 应用高效协作的团队。

ExcelWordOutlookTabsPowerPoint
  • 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
  • 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
  • 协同效果更佳— 在多个 Office 应用中实现高效协同
  • 30 天全功能试用— 无需注册,无需信用卡
  • 超值之选— 比单独购买插件更省钱