繁体   English   中英

ARRAYFORMULA() 生成的值的总和不正确(Google 表格)

[英]Sum of values generated by ARRAYFORMULA() is incorrect (Google Sheet)

我有一张用来计算工作时间的表格。 目的是总结时间并将它们划分为“常规”时间(每天最多 8 小时)和“加班”时间(每天超过 8 小时)。 每个日期必须有两行(默认情况下第二行是隐藏的),因为我可以在多个地方工作,但应该将计算出的时间相加。 此外,周六和周日的工作时间应始终算作加班。

屏幕截图在这里。

我的问题是计算加班时间。 固定时间由以下生成:

=arrayformula(IFS(
WEEKDAY(A3:A70; 1)=1;0;
WEEKDAY(A3:A70; 1)=7;0;
E3:E70+E4:E70>8;8;
E3:E70+E4:E70<=8; E3:E70+E4:E70))

它们由=SUM(IFERROR(G3:G71;0))求和,效果很好。 加班时间由以下因素产生:

=arrayformula(IFS(
WEEKDAY(A3:A70; 1)=1;E3:E70+E4:E70;
WEEKDAY(A3:A70; 1)=7;E3:E70+E4:E70;
E3:E70+E4:E70>8;E3:E70+E4:E70-8;
E3:E70+E4:E70<=8; 0))

并通过H72=SUM(IFERROR(H3:H71;0))类似地求和。 但是,它返回了错误的值 - 在示例表中,它是57而不是7

如果我选择求和范围,工具提示会显示正确的总和 ( 7 )。 如果我在H72添加/删除小数位或更改格式,它也会突然更改为正确的。 但是,当添加任何新数据时(即小时形成新的一天),它会返回显示不正确的值。

这不是一个简单的显示错误,因为这些值随后通过=IMPORTRANGE被另一个工作表导入,并导入了那些错误的值。

知道如何修复它吗?

样品表在这里

在 H72 中尝试:

=INDEX(SUM(IFERROR(1*H3:H71;0)))

在此处输入图片说明


更新:

=INDEX(SUM(IFERROR(FILTER(1*H3:H71; MOD(ROW(H3:H71)-1; 2)=0); 0)))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM