常规的“ROUND”函数在 < 0.5 时向下舍入,在 >= 0.5 时向上舍入
我需要向下舍入 0.5,但高于此值的任何值都需要向上舍入。
所以:
10.4 应该是 10
10.5 应该是 10
10.6 应该是 11
编辑:这是我想出的解决方案
如果要四舍五入的值在 B1 中
并且小数精度在 A1 中(0 = 无小数,1 = 一位小数等)
=IF(MOD(ABS(B1),(1/(10^A1)))<=0.5*(1/(10^A1)),ROUNDDOWN(B1,A1),ROUNDUP(B1,A1))
确保它适用于ABS()
负数。确保我的精度(这是 Google 舍入函数的第二个参数)相应地缩放我的边界条件 (
) 。
这实际上决定了我的边界条件。(1/(10^A1))
0.5
MOD()
编辑2:
感谢@Jayen,提供更优雅的解决方案
=ROUNDUP(B1 - sign(B1) * (10 ^ -A1) / 2, A1)