我使用这个公式的SUMIF工作正常,但我需要添加另一个标准,即DATE . 如果A栏中的日期相同,我只希望工作总和 . 我该如何做到这一点?当我使用SUMIFS时,我收到错误"too few arguments" .
=SUMIF($B$2:$B$786,I2,$F$2:$F$786)
在进行初始响应时,我没有将样本数据包含在两个单独的数据范围内 . 主"table"的列包括 DATETIME , PRODUCT 和 AVG CYCLE MINUTES . 这些是要汇总的数据 . 但是,总和不会针对这些行显示,而是针对第"table"中具有 REFERENCE LIST 列的行 . REFERENCE LIST 与第一个表中的 PRODUCT 列匹配,因此提供了SUMIF(S)的一个条件 . 第二个标准是 DATE . 但是,由于第二个表格显然不应该来自哪里 .
DATETIME
PRODUCT
AVG CYCLE MINUTES
REFERENCE LIST
DATE
在与OP的讨论中,我们意识到我们想要DATETIME和PRODUCT的每个组合的“AVG CYCLE MINUTES”的总数(或者,结果是平均值) . 我通过创建数据透视表来完成此操作 .
如果我们想通过SUMIF或SUMIFS实现相同或相似,我们需要对DATE标准做出决定 . (a)第二个表需要包括日期以及 PRODUCT ,或者(b)我们需要找到一种方法来选择我们感兴趣的日期 .
Sum for Every Combination of DATE and PRODUCT
对于选项(a),类似于我原来的答案将起作用:
=SUMIFS(F:F,B:B,I2,A:A,J2)
其中列J是新的日期列 . 通过将主要数据的相关列复制到其他地方并使用Excel的“删除重复”功能,可以快速生成日期/产品组合的完整列表 .
Sum for single DATE per PRODUCT
对于选项(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 .
MAXIFS
MINIFS
或者,如果对数据进行排序,那么您可以使用以下内容来对照任何给定的 PRODUCT 显示您想要的日期:
=SUMIFS(F:F, B:B, I2, A:A, INDEX(A:A,MATCH(I2,I:I,0)))
Miscellanea
我通常使用 VLOOKUP 而不是 INDEX/MATCH (这是我尚未获得的习惯),但在当前的数据结构中,列的顺序错误 .
VLOOKUP
INDEX/MATCH
由于进一步的讨论显示OP实际上希望平均值不是总数,所以值得注意的是 AVERAGEIFS 的存在 .
AVERAGEIFS
注意:在我的原始答案(下面)中,我引用了确切的范围而不是整列 . 如上所述,可能会有一些边际性能损失,但我对此感兴趣 . 另一方面,有一定的好处,输入公式更容易,不需要修改更大(或更小)的数据集 . (感谢您提醒我@Jeeped)
注2:由于SUMIF无法做任何事情,因此最有用的是SUMIF . (来自@Jeeped的另一个好主意)
正如其他人所说,我想你想要 SUMIFS . 这里 sum_range 来到前面,你跟着成对的"criteria range"和_735194这样:
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
1 回答
设置舞台
在进行初始响应时,我没有将样本数据包含在两个单独的数据范围内 . 主"table"的列包括
DATETIME
,PRODUCT
和AVG CYCLE MINUTES
. 这些是要汇总的数据 . 但是,总和不会针对这些行显示,而是针对第"table"中具有REFERENCE LIST
列的行 .REFERENCE LIST
与第一个表中的PRODUCT
列匹配,因此提供了SUMIF(S)的一个条件 . 第二个标准是DATE
. 但是,由于第二个表格显然不应该来自哪里 .在与OP的讨论中,我们意识到我们想要DATETIME和PRODUCT的每个组合的“AVG CYCLE MINUTES”的总数(或者,结果是平均值) . 我通过创建数据透视表来完成此操作 .
选项
如果我们想通过SUMIF或SUMIFS实现相同或相似,我们需要对DATE标准做出决定 . (a)第二个表需要包括日期以及
PRODUCT
,或者(b)我们需要找到一种方法来选择我们感兴趣的日期 .Sum for Every Combination of DATE and PRODUCT
对于选项(a),类似于我原来的答案将起作用:
=SUMIFS(F:F,B:B,I2,A:A,J2)
其中列J是新的日期列 . 通过将主要数据的相关列复制到其他地方并使用Excel的“删除重复”功能,可以快速生成日期/产品组合的完整列表 .
Sum for single DATE per PRODUCT
对于选项(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)))
Miscellanea
我通常使用
VLOOKUP
而不是INDEX/MATCH
(这是我尚未获得的习惯),但在当前的数据结构中,列的顺序错误 .由于进一步的讨论显示OP实际上希望平均值不是总数,所以值得注意的是
AVERAGEIFS
的存在 .注意:在我的原始答案(下面)中,我引用了确切的范围而不是整列 . 如上所述,可能会有一些边际性能损失,但我对此感兴趣 . 另一方面,有一定的好处,输入公式更容易,不需要修改更大(或更小)的数据集 . (感谢您提醒我@Jeeped)
注2:由于SUMIF无法做任何事情,因此最有用的是SUMIF . (来自@Jeeped的另一个好主意)
原始答案
正如其他人所说,我想你想要
SUMIFS
. 这里sum_range
来到前面,你跟着成对的"criteria range"和_735194这样:=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