我在Excel:中有一个开始时间和一个结束时间
开始时间上午9:15
结束时间:晚上9:30花费时间0:15
我希望四舍五入到下一个15分钟的增量,并使用公式:
=ROUNDUP(A1*96,0)/96
然而,这将上面的示例数据从0:15四舍五入到0:30(应该保持在0:15,因为已经是一刻钟了)
如果时差已经是一刻钟,我该如何避免四舍五入?
我通常希望原始公式能起作用。当我在Excel 2007中使用手动输入始终为整分钟的时间值进行测试时,使用ROUNDUP
、brettdj公式和以下公式进行原始公式:
=CEILING(A1,"0:15")
都给我相同的结果
但如果时间是从某种公式计算中导出的,则excel浮点运算可能会导致非常小的舍入误差,因此0:15
被认为略高于该值(尽管它仍显示为0:15:00.000
),并因此被舍入为0:30
。
因为brettdj的建议只着眼于小时和分钟,所以这个问题是可以避免的,但它也会将0:15:59
舍入到0:15
,所以这种方法可能是更好的
=CEILING(MROUND(A1,"0:0:01"),"0:15")
这将用MROUND
将原始时间四舍五入到最接近的秒(从而处理任何浮点错误),然后四舍五进到下一刻钟的
编辑:如果使用公式来获得A1时间值,则可能值得在该公式中加入一些舍入,例如,像这样在MROUND中包装公式以舍入到最接近的第二个
=MROUND(formula,"0:0:01")
从改变公式结果的角度来看,这似乎没有任何作用,但这可能会避免您可能需要进行的任何其他计算出现任何进一步的浮点问题……然后您使用ROUNDUP
的原始公式应该可以工作。。。。。。
您可以使用=HOUR(A1)/24+CEILING(MINUTE(A1),15)/(24*60)
其将A1中的时间转换为-晚上9:15至9:15-晚上9:16至晚上9:30
etc