【问题标题】:Calculating every n-th row with a different format用不同的格式计算每第 n 行
【发布时间】: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


【解决方案1】:

如果您与表格的格式一致,则可以使用第二列“Den”中的数据-如果我们检查该列是否有非空白单元格并将G列中的相应值相加,我们可以得到我们的回答。

假设工作表的布局如下,下面的公式应该有效:

'=SUM(IF(A$2:A6<>"",B$2:B6))

使用 Ctrl+Shift+Enter 执行

A$2:A6 中的固定引用确保当您复制公式时,从上到上到当前单元格的整个范围都被选中。希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2020-07-31
    • 2021-03-28
    • 2015-08-03
    • 1970-01-01
    • 2012-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-29
    相关资源
    最近更新 更多