【问题标题】:Excel Split Date Range Grand Total into Daily TotalsExcel 将日期范围总计拆分为每日总计
【发布时间】:2021-04-10 22:12:21
【问题描述】:

我正在为一个公式而苦苦挣扎,我用 sum 尝试了索引匹配公式,但它根本不起作用。

我有一个数据集,其名称具有开始日期和结束日期,它们之间的总时间以十进制表示。我想将此数据拆分为每个名称的每日总计,但不能超过每日 24 小时标记。

日期 24 小时从 07:00 到 07:00,因此它应该计算从 2021/01/01 07:00 到 2021/01/02 07:00 的第一天,该范围之外的任何时间都应该不加到总和中。

我在下面创建了一个示例:

任何帮助将不胜感激。

【问题讨论】:

  • 我认为开发 VBA 或 Power Query 解决方案会更简单。由于这不是免费的编码服务,因此请编辑您的问题以展示您的努力以及在尝试解决此问题时可能出现的任何问题。
  • 一般来说,我同意。但是,由于我有一点时间处于锁定状态,并且有一个可以稍微调整的标准解决方案,所以我不妨发布它。
  • 抱歉,先生们,我已经尝试了一些尝试,但还没有时间发布我的所有尝试,@TomSharpe,您的解决方案有效,我已经对其进行了调整以使其在其他时间也有效。我会赞成并批准为正确答案,Thx

标签: excel datetime excel-formula split dataset


【解决方案1】:

这是标准overlap formula的变体

=MAX(MIN(end1,end2)-MAX(start1,start2)+1,0)

重新转换为数组公式并进行更改以允许早上 7 点到 7 点的时间范围:

=SUM((A$2:A$8=I2)*TEXT(IF(C$2:C$8<(H2+31/24),C$2:C$8,H2+31/24)-IF(B$2:B$8>(H2+7/24),B$2:B$8,H2+7/24),"general;\0")*24)

【讨论】:

  • 这个解决方案绝对是一个很好的公式。感谢汤姆的时间和帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多