设置舞台
在做出初步回复时,我没有注意到 OP 的样本数据包含两个单独的数据范围。主“表”的列包括DATETIME、PRODUCT 和AVG CYCLE MINUTES。这些是要汇总的数据。但是,总和不会出现在这些行上,而是出现在第二个“表”中的行上,该行具有REFERENCE LIST 列。 REFERENCE LIST 与第一个表中的 PRODUCT 列匹配,因此提供了 SUMIF(S) 的条件之一。第二个标准是DATE。但是,由于第二个表不包含日期列,所以它的来源并不明显。
在与 OP 的讨论中,我们意识到我们需要 DATETIME 和 PRODUCT 的每个组合的“AVG CYCLE MINUTES”的总数(或者,结果是平均值)。我让 OP 完成了创建数据透视表的过程。
选项
如果我们想通过 SUMIF 或 SUMIFS 实现相同或相似,我们需要对 DATE 标准做出决定。要么 (a) 第二个表需要包含日期以及 PRODUCTs,要么 (b) 我们需要找到一种方法来选择我们感兴趣的日期。
DATE 和 PRODUCT 的每个组合的总和
对于选项 (a),类似于我原来的答案会起作用:
=SUMIFS(F:F,B:B,I2,A:A,J2)
其中 J 列是新的日期列。通过将主要数据的相关列复制到其他地方并使用 Excel 的“删除重复项”功能,可以快速生成日期/产品组合的完整列表。
每个产品单个 DATE 的总和
对于选项(b),如果您想总结与“今天”相关的所有数据,可以使用:
=SUMIFS(F:F, B:B, I2, A:A, today())
(归功于@JNevill)。
我们还想要什么?也许产品出现的最近日期?还是最早的?如果你有 EXCEL 2016(或更好)...
=SUMIFS(F:F, B:B, I2, A:A, MAXIFS(A:A,B:B,I2))
这将给出相关产品在该产品记录的最近日期的总分钟数。对于最早的日期,请将 MAXIFS 替换为 MINIFS。
或者,如果对数据进行排序,以便您想要的日期将首先出现在任何给定的PRODUCT 上,您可以使用:
=SUMIFS(F:F, B:B, I2, A:A, INDEX(A:A,MATCH(I2,I:I,0)))
杂项
我通常会使用VLOOKUP 而不是INDEX/MATCH(我还没有养成这个习惯),但是在当前的数据结构中,列的顺序是错误的。
由于进一步的讨论表明 OP 实际上想要平均值而不是总数,因此值得注意的是 AVERAGEIFS 的存在。
注意:在我的原始答案(如下)中,我引用了确切的范围而不是整个列。做上述事情可能会有一些边际性能损失,但我从未注意到。尽管您需要确保在您感兴趣的内容下方没有额外的数据。另一方面,有一定的好处,输入公式更容易,并且不需要针对更大(或更小)的数据集进行修改. (谢谢你提醒我这个@Jeeped)
注意 2:由于没有什么可以用 SUMIF 做而 SUMIFS 也不能做,所以即使前者就足够了,使用后者也没有什么坏处。这样一来,您只需记住一个功能,它是最有用的功能。 (@Jeeped 的另一个好主意)
原答案
正如其他人所说,我认为您想要SUMIFS。这里sum_range 出现在最前面,然后您可以使用成对的“标准范围”和“标准”,如下所示:
=SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)
在你的情况下,我认为这意味着你想要:
=SUMIFS($F$2:$F$786,$B$2:$B$786,I2,$A$2:$A$786,A2)
当我写这篇文章时,相关的微软支持页面是here