我在Excel中有一个开始时间和结束时间:
开始时间 晚上9:15
结束时间晚上9:30 花费的时间0:15
我正在寻找下一个15分钟的增量,并使用公式:
=ROUNDUP(A1*96,0)/96
然而,这将上面的示例数据从0:15到0:30(它应该保持在0:15,因为它已经是四分之一小时)了。
如果四分之一小时的时差差不多,如何避免四舍五入?
答案 0 :(得分:3)
我通常希望原始公式起作用。当我在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")
在更改公式结果方面看起来似乎没有做任何事情,但这可能会避免任何其他浮动点问题与您可能需要做的任何其他计算.....然后您的原始公式{{1应该工作......
答案 1 :(得分:2)
你可以使用
=HOUR(A1)/24+CEILING(MINUTE(A1),15)/(24*60)
转换A1的时间 - 晚上9:15至晚上9:15 - 下午9:16至晚上9:30
等