我在excel中制作一些东西来计算我工作一周/月的工作时间,当一个数字达到30.60时(两个班次在半小时结束时)它计算为30.60 *工资=没有合适的报酬。
到目前为止,我已经=ROUND(SUM(C6:I6),0)
对这个数字进行了整理,这个工作正常,直到我有一天工作到半个小时,然后才会显示16个左右。
正如你在这里看到的那样,它计算得很好,直到我在星期三工作7.30小时,总计显示23.00而不是23.30。
如何做到这一点。
谢谢。
答案 0 :(得分:3)
你的问题在于对你的“小时”的理解。当你写7.30时,你的意思是7小时30分钟= 7.5小时。但是excel知道7小时30/100小时= 18分钟。最简单的解决方案是使用7,5进行7小时30分钟。
(为了检查未答复的问题,我复制了我的评论)
答案 1 :(得分:0)
如果您不想使用environment.CONFIG
(七个半小时)或7.5
(7小时30分钟 - 但请记住将其乘以 24 ,因为Excel将其存储为一天中的一小部分7:30
),那么您可以使用0.3125
和INT
:
MOD
第一部分=INT(C6)+(MOD(C6,1)/0.6)
将为您提供我们不想缩放/倾斜的整数部分(即整个小时)。
第二部分有两个阶段。首先,INT(c6)
会向我们提供数字的小数部分(即MOD(c6,1)
将成为7.3
),第二部分则除以0.3
以转换为&#34 ;假分钟"到"实际小时数"
最后,由于您要将公式应用于单元格数组,因此 需要从0.6
切换到SUM
:
SUMPRODUCT
但总的来说,最好的选择是使用=SUMPRODUCT(INT(C6:I6)+(MOD(C6:I6,1)/0.6))
并设置数据验证仅允许该字段中的实际时间值。
{EDIT} 当然,这将为您的输出提供7:30
30分钟。如果你想倒退到0.5
30分钟(虽然,我几乎无法理解为什么),那么你需要反向运行相同的计算:
0.3