我使用这个公式用于SUMIF工作正常,但我需要添加另一个标准,即DATE。如果A栏中的日期相同,我只希望工作总和。我该如何做到这一点?当我使用SUMIFS时,我收到错误"参数太少"。
=SUMIF($B$2:$B$786,I2,$F$2:$F$786)
答案 0 :(得分:4)
在做出初步回复时,我没有注意到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)第二个表需要包括日期以及PRODUCT
s,要么(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)。
我们还想要什么?也许是PRODUCT出现的最新日期?还是最早的?如果你有EXCEL 2016(或更好)......
=SUMIFS(F:F, B:B, I2, A:A, MAXIFS(A:A,B:B,I2))
这将给出该PRODUCT记录的最新日期相关产品的总分钟数。对于最早的日期,请将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)
当我写这篇文章时,相关的Microsoft支持页面为here