【发布时间】:2017-11-21 20:45:54
【问题描述】:
我正在尝试使公式在时间表上起作用,每第 7 行我有一周的工作时间总和,然后我希望他们从数据的开头将它们全部相加到本周。
从技术上讲,可以手动将它们添加在一起,但我希望让它自动化,并进一步了解如何正确使用该功能。
更好的可视化截图:
在“Nadcas”一栏中,我列出了周一至周二的加班时间。 下面是这些数字的总和。就在它旁边,第二个突出显示的字段是加班总计。从逻辑上讲,第一周的加班总和等于第一周的加班。
在它下面的表格中,它是相同的交易。但是,右侧的加班时间计算不正确。它应该是 0:29 + 1:32 = 2:01。
最大的问题是,当字段类型以小时为单位时,总和公式无法正确计算,并且有些是文本字段
知道怎么做吗?
可选,如果你知道答案可以跳过:
我在这里的表格中找到了一种使公式起作用的方法:
您可以看到数字相加正确。我使用的公式(对于最后一个求和单元格,等于 11)是:
=SUMPRODUCT(--(MOD(ROW(A12:A23) - ROW(A12) +1; 4)=0); A12:A23)
Sum product 进行矩阵乘法,mod 返回 1 或 0,具体取决于 X/4 是否给出 .0 作为余数,并且 -- 否定结果。很容易说,我们有两个矩阵,例如。 {0; 0; 1} 和 {1; 2; 3} 所以结果是 0x1 + 0x2 + 1x3 = 3。
当我们在公式中可视化它时,它看起来像:
[关于更多信息,我发现这个解释很有帮助,即使它是针对列的。 https://exceljet.net/formula/sum-every-nth-column]
这应该在主表上也可以工作,但我猜是因为格式化它不能。
【问题讨论】:
-
你在问题中回答你自己的问题吗?
-
@Scott Craner 是也不是... 解决方案应该符合所有原则,但是正如您所见,它显示的数据不正确,我不知道为什么。我已经发布了可选部分作为帮助人们解决问题的一种方式,但这不是直接的答案。
-
在您的可选解决方案中,为什么第 20-22 行的总和 = 2?不应该是3吗?
-
G12、G18、G19的负数是怎么来的? Excel 不会做负时间。
-
@Jeeped 这是一个相当不错的解决方法。 Excel 选项 -> 高级 -> 勾选使用 1904 日期系统
标签: excel excel-formula excel-2007