当数字达到X.60

时间:2018-03-06 10:53:39

标签: excel time excel-formula

我在excel中制作一些东西来计算我工作一周/月的工作时间,当一个数字达到30.60时(两个班次在半小时结束时)它计算为30.60 *工资=没有合适的报酬。

到目前为止,我已经=ROUND(SUM(C6:I6),0)对这个数字进行了整理,这个工作正常,直到我有一天工作到半个小时,然后才会显示16个左右。

The wage template I am working with

正如你在这里看到的那样,它计算得很好,直到我在星期三工作7.30小时,总计显示23.00而不是23.30。

如何做到这一点。

谢谢。

2 个答案:

答案 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.3125INT

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