微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

按类别求和,每天求和最高时间求和

如何解决按类别求和,每天求和最高时间求和

如果我在excel中有以下数据,是否可以根据下表中的数据得到所有数据的总和

enter image description here

所以基本上忽略数据已被稍后日期时间取代的白行(我在示例中拆分了日期时间字段)。

enter image description here

我尝试了以下公式,但我只得到 #VALUE!错误

=SUMPRODUCT(LARGE((Table!A:A='Cumulative Baselines'!A27)*(Table!D:D),{1}))

提前致谢

解决方法

这不是在使用您正在讨论的函数,但如果这是对时间敏感的,这里有一个可行的解决方案:

E 列第 1 行:

=COUNTIFS(B1:B11,B1,A1:A11,A1),根据需要向下延伸。

  • 这是按顺序查看您的数据,并向它所在的行添加一个计数器,该计数器表示 A 列中的值和 B 列中的值与该单元格所在的行相匹配的行。由于您的数据按从旧到新的顺序排列,因此该组合的最后一个实例的值始终为 1。

现在我们可以将其扩展为:

=IF(COUNTIFS(B1:B11,A1)=1,1,0)

  • 所有不为 1 的值现在都为 0。这为我们提供了使用 sumifs 语句所需的条件。

创建一个包含目标值的单元格以进行检查: 在我的示例中,我在单元格 G1 中有 ABC,在 G2 中有 DEF =SUMIFS(D:D,A:A,G1,E:E,1) - 根据需要向下延伸

  • 此条件求和语句将 D 列中的所有内容相加,这些内容在 E 列中也共享 1 值,在 A 列中与您放置在 G1 中的值相同。

这是快速而肮脏的,但在资源利用率方面不是最佳的(看起来您已经在使用表列引用而不是整个列,这是更有效的方法,我没有列标题随时可用)。

编辑:看起来这里的关键问题是 max() 不能很好地处理自定义日期时间格式,这就是 Excel 本机将读取未拆分时间戳作为和 sumproduct 将所有非数字值读取为 0 .您可以通过添加一列(再次)并将日期和时间作为=datevalue(日期列单元格)+时间值(时间列单元格)一起来按摩它以使用最大值。这将存储为可以应用 max() 的浮点数。

THAT 的问题是我们仍然需要一列来测试组合值是否代表唯一的日期,然后找到该日的重组时间戳最大值,因此回到上述解决方案和额外工作以启用使用 sumproduct( )。根据我的经验,在这种情况下引导 sumproduct() 工作的果汁是不值得的。

,

可以使用 SUMIFS,但据我所知只能与 sum 或 sumproduct 结合使用:

=SUM(D$2:D$20*(A$2:A$20=F2)*(COUNTIFS(A$2:A$20,A$2:A$20,B$2:B$20,C$2:C$20,">"&C$2:C$20)=0))

(我使用了任意范围,因为如果使用整列范围可能会很慢)

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。