excel - 按类别求和产品,每天求和并求和最高时间
问题描述
如果我在excel中有以下数据,是否可以根据下表中的数据获得所有数据的总和
因此,基本上忽略数据已被较晚日期时间取代的白行(我在示例中拆分了日期时间字段)。
我尝试了以下公式,但我得到了#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,B1,A1:A11,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(日期列单元格)+timevalue(时间列单元格)来按摩它以使用最大值。这将存储为可以应用 max() 的浮点数。
THAT 的问题是我们仍然需要一个列来测试组合值是否代表唯一的日期,然后找到那天的重组时间戳最大值,所以它回到了上面的解决方案和使用 sumproduct() 启用的额外工作。以我的经验,榨汁不值得在这种情况下引导 sumproduct() 工作。
推荐阅读
- ruby - 在 48 颗宝石 (Gem::MissingSpecError) 中找不到 'cocoapods' (>= 0.a)
- .htaccess - .htaccess - 在 URL 中隐藏 subfolder1 但显示 subfolder2(其他网站)
- smartcontracts - Masterchef合约添加功能
- python - Python字符串切片结果在不同切片索引处不可预测或相同
- sql - Postgresql:如何删除 table_1 中与 table_2 不匹配的条目
- c# - 在.net core web api中异步调用长时间运行进程的最佳方法
- keras - 删除keras模型中的前n层
- javascript - 当前请求不是 Angular 11 中的多部分请求
- python - 基于先前变量的新列
- mongodb - mongodb:在 ifNull 之后使用内部属性