我想创建一个公式,如果小数点后第三位数字是 5,则向下舍入,否则只舍入。可以吗
答案1
四舍五入需要打破平局的规则,也就是说,很容易舍入到最接近的有效数字,但在中间点该怎么做呢?此时上部和下部的有效数字同样接近。最广泛使用的打破平局的规则称为“上半”,即 0.5 四舍五入为 1,即使 0 同样接近。
看来您希望实施“半价”规则,那么以其最基本的形式:
=IF(ABS(A1*100 - TRUNC(A1*100)) = 0.5,ROUNDDOWN(A1,2), ROUND(A1,2))
或针对较少比较的操作进行优化
=TRUNC(A1*100)/100 + IF(ABS(A1*100 - TRUNC(A1*100)) <= 0.5, 0, sign(A1)*0.01)
答案2
ROUND 将把 5 向上舍入。因此0.001
从值中减去任何值,这样任何值#.##5
都会向下舍入。
=ROUND(A1-0.001,3)
这会将小数点后三位为 5 的数值向下舍入,而不管其后的其他小数位是多少。如果想要将 Excel 会舍入到的数值向下舍入,#.##5
则我们改为减去0.0005
。
=ROUND(A1-0.0005,3)
现在如果 A1 可以为负数,我们可以使用 SIGN():
=ROUND(A1-(SIGN(A1)*0.0005,3)