我们正在进行加班奖励,人们可以根据他们工作的额外工作时间赚取抽奖券。他们每加班7小时就能获得一张票。我已经制作了一张excel表格,我可以将总时数导入到跟踪中,但是我很难获得"获得的门票数量"式。
我有一个超过40个工作小时的列,然后是一个列,用于将小时数转换为数字,然后使用:=((C2-INT(C2))*24)/7
除以7。下一栏,我有=ROUNDDOWN(D2, -0.5)
,因为如果他们工作了15个小时,就会给他们2.5张票。
我遇到的问题是,当他们正好工作7个小时时,=ROUNDDOWN(D2, -0.5)
公式得到0。我试过了=ROUND(D18, -0.5)
,但是如果他们工作了6小时30分钟,它会给他们一张票。我确定我可能错过了一些简单的东西,但有人能帮忙吗?
答案 0 :(得分:0)
我认为您的问题是-0.5
函数的ROUNDDOWN
参数。你为什么要舍入到负半个小数位呢?
只需使用ROUNDDOWN(D2,0)
。
编辑:我不确定为什么Agent 7
和Agent 8
如果他们都加班7小时就会有不同数量的门票。 7:00
是一个四舍五入的数字吗?
答案 1 :(得分:0)
假设加班时间在C栏,您可以使用:
=ROUND((HOUR(C1) + IF(MINUTE(C1)<30,0,1)) / 7, 0)
如果您希望在超过30分钟的时间内整理小时,则应该生成正确的票数。否则,您可以取出IF / MINUTE部分,它只计算完整的小时数。
答案 2 :(得分:0)
您已使用INT
,这是比ROUND
或ROUNDDOWN
更好的选择。此外,C2-INT(C2)
可简化为MOD(C2,1)
:
=INT(24*MOD(C2,1)/7)
MOD(C2,1)
取C2的小数部分(即小时,小于24)
24*MOD(C2,1)
从每日分数转换为完整小时
24*MOD(C2,1)/7
除以7.对于6.5,这给出了0.928 ......对于15,给出了2.142 ......
INT(24*MOD(C2,1)/7)
只接受整数部分。对于6.5,这给出0
,对于15给出2