excel中的转换,舍入和乘法/除法

时间:2018-06-06 19:57:08

标签: excel excel-formula

我们正在进行加班奖励,人们可以根据他们工作的额外工作时间赚取抽奖券。他们每加班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分钟,它会给他们一张票。我确定我可能错过了一些简单的东西,但有人能帮忙吗?

spreadsheet example

3 个答案:

答案 0 :(得分:0)

我认为您的问题是-0.5函数的ROUNDDOWN参数。你为什么要舍入到负半个小数位呢?

只需使用ROUNDDOWN(D2,0)

编辑:我不确定为什么Agent 7Agent 8如果他们都加班7小时就会有不同数量的门票。 7:00是一个四舍五入的数字吗?

答案 1 :(得分:0)

假设加班时间在C栏,您可以使用:

=ROUND((HOUR(C1) + IF(MINUTE(C1)<30,0,1)) / 7, 0)

如果您希望在超过30分钟的时间内整理小时,则应该生成正确的票数。否则,您可以取出IF / MINUTE部分,它只计算完整的小时数。

答案 2 :(得分:0)

您已使用INT,这是比ROUNDROUNDDOWN更好的选择。此外,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