跳到主要内容

基于 OR 和 AND 逻辑的具有多个条件的 Sumif

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


基于 OR 逻辑的具有多个条件的 Sumif

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

通过使用 SUMIF + SUMIF +…公式

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

=SUMIF(criteria_range, criteria1, sum_range)+SUMIF(criteria_range, criteria2, sum_range)+…
  • criteria_range:要符合条件的单元格范围;
  • criteria1: 用于确定哪些单元格应该相加的第一个标准;
  • criteria2:第二个标准,用于确定应该对哪些单元格求和;
  • sum_range:要从中求和的单元格范围。

现在,请将以下任一公式复制或输入到空白单元格中,然后按 输入 获得结果的关键:

=SUMIF(B4:B14,"John",C4:C14) + SUMIF(B4:B14,"David",C4:C14)           (Type the criteria manually)
=SUMIF(B4:B14,E4,C4:C14) + SUMIF(B4:B14,E5,C4:C14)                           
(Use a cell reference)


公式说明:

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

  • 最快的 SUMIF(B4:B14,"约翰",C4:C14) 找到 John 的行并对总数量求和;
  • 第二 SUMIF(B4:B14,"大卫",C4:C14) 找到 David 的行并求和总数量;
  • 然后将这两个 SUMIF 公式相加得到 John 和 David 提供的所有总量。

通过使用 SUM 和 SUMIF 函数

如果只有几个条件,上面的公式很容易使用,但是如果您想对具有多个 OR 条件的值求和,则上面的公式可能是多余的。 在这种情况下,基于 SUM 和 SUMIF 函数创建的更好的公式可能会对您有所帮助。 通用语法是:

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

=SUM(SUMIF(criteria_range, {criteria1,criteria2,...}, sum_range))
  • criteria_range:要符合条件的单元格范围;
  • criteria1: 用于确定哪些单元格应该相加的第一个标准;
  • criteria2:第二个标准,用于确定应该对哪些单元格求和;
  • sum_range:要从中求和的单元格范围。

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

{=SUM(SUMIF(criteria_range, criteria_cells, sum_range))}
Array formula, should press Ctrl + Shift + Enter keys together.
  • criteria_range:要符合条件的单元格范围;
  • criteria_cells:包含您要使用的条件的单元格;
  • sum_range:要从中求和的单元格范围。

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

=SUM(SUMIF(B4:B14, {"John","David"}, C4:C14))           (Type the criteria manually)
=SUM(SUMIF(B4:B14, E4:E5, C4:C14))                             
(Use cell references, array formula, should press Ctrl + Shift + Enter keys)


公式说明:

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

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

  • {“约翰”,“大卫”}: 一个数组常量,它是花括号中提供的一组多个条件。
  • SUMIF(B4:B14,"大卫",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

如果要对不同列中具有多个条件的值求和,可以使用 SUMIF 函数快速解决此任务。 通用语法是:

=SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)
  • sum_range:要从中求和的单元格范围;
  • criteria_range1: 应用criterira1 的范围;
  • criteria1:根据criteria_range1检查的第一个条件并确定要添加的单元格; (条件类型可以是:数字、逻辑表达式、单元格引用、文本、日期或其他 Excel 函数。)
  • criteria_range2, criteria2…:其他附加范围及其相关标准。 (您可以在 SUMIFS 公式中设置 127 对标准范围和标准。)

比方说,我有一个包含产品、供应商、数量和价格列的表格,如下图所示。 现在,我想找出产品 Apple 的总价和大于或等于 200 的数量之和。

请将以下任一公式应用到空白单元格中,然后按 输入 返回结果的键:

=SUMIFS(D4:D14,A4:A14,"Apple",C4:C14,">=200")           (Type the criteria manually)
=SUMIFS(C4:C14,A4:A14,G3,C4:C14,G4)                           
(Use cell references)


公式说明:

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

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

使用的相对功能:

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

更多文章:

  • Sum If 以特定文本或字符开头或结尾
  • 如果相应的单元格以特定值开头或结尾,要对值求和,您可以应用带有通配符 (*) 的 SUMIF 函数来实现它。 本文将详细介绍如何使用该公式。
  • 如果单元格在另一列中包含特定文本,则求和
  • 如果单元格在另一列中包含特定或部分文本,本教程将向您展示如何对值求和。 以下面的数据范围为例,要获取包含文本“T-Shirt”的产品总数,SUMIF 函数和 SUMPRODUCT 函数都可以在 Excel 中处理此任务。
  • 在 Excel 中求和最小或后 N 个值
  • 在 Excel 中,我们很容易使用 SUM 函数对一系列单元格进行求和。 有时,您可能需要对数据范围内的最小或底部 3、5 或 n 个数字求和,如下图所示。 在这种情况下,SUMPRODUCT 和 SMALL 函数可以帮助您在 Excel 中解决这个问题。

最佳办公效率工具


Office 选项卡 - 在 Microsoft Office(包括 Excel)中启用选项卡式阅读和编辑

  • 一秒钟即可在数十个打开的文档之间切换!
  • 每天为您减少数百次鼠标单击,告别鼠标手。
  • 查看和编辑多个文档时,可将您的工作效率提高50%。
  • 为 Office(包括 Excel)带来高效的选项卡,就像 Chrome、Edge 和 Firefox 一样。
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
do you guys know if this logic works on google sheets?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations