跳至主要内容

基于OR和AND逻辑的多条件Sumif求和

Author: Xiaoyang Last Modified: 2025-07-31

在处理Excel工作表时,您可能需要根据多个条件对值进行求和。有时,这些条件来自同一列(OR逻辑),但有时则来自不同列(AND逻辑)。在这种情况下,如何在Excel中完成此任务呢?

doc-sumif-multiple-criteria-1


基于OR逻辑的多条件Sumif求和

假设您有一个产品列表,其中包含供应商和数量,如下截图所示。现在,您想获取由供应商John和David提供的所有总数量。在这里,我将为您介绍两种简单的公式。

doc-sumif-multiple-criteria-2

通过使用SUMIF + SUMIF +…公式

如果您想对满足多个条件中的任意一个条件(OR逻辑)的数字求和,可以在单个公式中添加多个SUMIF函数,通用语法为:

=SUMIF(条件范围, 条件1, 求和范围)+SUMIF(条件范围, 条件2, 求和范围)+…
  • 条件范围:要匹配条件的单元格范围;
  • 条件1:用于确定应求和哪些单元格的第一个条件;
  • 条件2:用于确定应求和哪些单元格的第二个条件;
  • 求和范围:要从中求和的单元格范围。

现在,请将以下任一公式复制或输入到空白单元格中,并按Enter键以获取结果:

=SUMIF(B4:B14,"John",C4:C14) + SUMIF(B4:B14,"David",C4:C14)          (手动输入条件)=SUMIF(B4:B14,E4,C4:C14) + SUMIF(B4:B14,E5,C4:C14)                           (使用单元格引用)

doc-sumif-multiple-criteria-3


公式解释:

=SUMIF(B4:B14,"John",C4:C14) + SUMIF(B4:B14,"David",C4:C14)

  • 第一个SUMIF(B4:B14,"John",C4:C14)找到John的行并计算总数量;
  • 第二个SUMIF(B4:B14,"David",C4:C14)找到David的行并计算总数量;
  • 然后将这两个SUMIF公式相加,得到John和David供应的所有总数量。

通过使用SUM和SUMIF函数

如果只有几个条件,上述公式非常容易使用,但如果需要对具有多个OR条件的值求和,上述公式可能会显得冗长。在这种情况下,基于SUM和SUMIF函数创建的一个更好的公式可能会帮上忙。通用语法如下:

带有硬编码文本的通用公式:

=SUM(SUMIF(条件范围, {条件1,条件2,...}, 求和范围))
  • 条件范围:要匹配条件的单元格范围;
  • 条件1:用于确定应求和哪些单元格的第一个条件;
  • 条件2:用于确定应求和哪些单元格的第二个条件;
  • 求和范围:要从中求和的单元格范围。

带有单元格引用的通用公式:

{=SUM(SUMIF(criteria_range, criteria_cells, sum_range))}
数组公式,需同时按下Ctrl + Shift + Enter键。
  • 条件范围:要匹配条件的单元格范围;
  • 条件单元格:包含所需条件的单元格;
  • 求和范围:要从中求和的单元格范围。

请将以下所需的任一公式输入或复制到空白单元格中,然后获取结果:

=SUM(SUMIF(B4:B14, {"John","David"}, C4:C14))          (手动输入条件)=SUM(SUMIF(B4:B14, E4:E5, C4:C14))                             (使用单元格引用,数组公式,需按下Ctrl + Shift + Enter键)

doc-sumif-multiple-criteria-4


公式解释:

=SUM(SUMIF(B4:B14, {"John","David"}, C4:C14))

> SUMIF(B4:B14, {"John","David"}, C4:C14):

  • {"John","David"}: 一个数组常量,即用大括号提供的一组多个条件。
  • SUMIF(B4:B14,"David",C4:C14) 使用OR逻辑的数组常量强制SUMIF函数根据多个条件(“John”和“David”)之一对C4:C14中的数字求和,并返回两个独立的结果:{410,1520}。

> SUM(SUMIF(B4:B14, {"John","David"}, C4:C14))=SUM({410,1520}): 最后,这个SUM函数将这些数组结果相加以返回结果:1930。


通过使用SUMIFS函数实现基于AND逻辑的多条件Sumif求和

如果要在不同列中根据多个条件求和,可以使用SUMIFS函数快速解决此任务。通用语法为:

=SUMIFS(求和范围, 条件范围1, 条件1, [条件范围2, 条件2], ...)
  • 求和范围:要从中求和的单元格范围;
  • 条件范围1:应用条件1的范围;
  • 条件1:与条件范围1进行检查并确定要添加哪些单元格的第一个条件;(条件类型可以是:数字、逻辑表达式、单元格引用、文本、日期或其他Excel函数。
  • 条件范围2, 条件2…: 其他附加的范围及其关联条件。(在一个SUMIFS公式中,您可以设置最多127对条件范围和条件。

假设我有一个包含产品、供应商、数量和价格列的表格,如下截图所示。现在,我想找出产品“Apple”的总价以及数量大于等于200的总和。

doc-sumif-multiple-criteria-5

请将以下任一公式应用到空白单元格中,并按Enter键以返回结果:

=SUMIFS(D4:D14,A4:A14,"Apple",C4:C14,">=200")          (手动输入条件)=SUMIFS(C4:C14,A4:A14,G3,C4:C14,G4)                           (使用单元格引用)

doc-sumif-multiple-criteria-6


公式解释:

=SUMIFS(D4:D14,A4:A14,"Apple",C4:C14,">=200")

  • 范围A4:A14检查产品“Apple”,范围C4:C14提取所有大于等于200的数量,然后SUMIFS函数仅对范围D4:D14中的匹配单元格求和。

相关使用的功能:

  • SUMIF:
  • SUMIF函数可以帮助根据一个条件对单元格求和。
  • SUMIFS:
  • Excel中的SUMIFS函数可以根据多个条件帮助对单元格值求和。

更多文章:

  • 如果另一列中包含特定文本则求和
  • 本教程将向您展示如何对另一列中包含特定或部分文本的值求和。以下面的数据范围为例,要获取包含文本“T-Shirt”的产品的总金额,SUMIF函数和SUMPRODUCT函数都可以在Excel中处理此任务。
  • 在Excel中求最小或底部N个值的和
  • 在Excel中,使用SUM函数对一系列单元格求和很容易。有时,您可能需要对数据范围内的最小或底部3、5或n个数字求和,如下截图所示。在这种情况下,SUMPRODUCT结合SMALL函数可以帮助您在Excel中解决此问题。

最佳的办公生产力工具

Kutools for Excel - 助您脱颖而出

🤖 Kutools AI 助手:基于智能执行革新数据分析:智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用 Kutools 函数
热门功能查找、高亮或标记重复项  |  删除空行  |  合并列或单元格而不丢失数据  |  无需公式四舍五入 ...
超级 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 一样。