如何将数字四舍五入到最接近的十?

时间:2011-12-21 09:20:09

标签: excel excel-vba excel-formula vba

标题可能不太具有启发性。

让我用一个例子来解释你。我有:

12345.6 
2345.1
12345.00000001

我希望这些数字能够归结为12350 我怎样才能做到这一点?

如果可能的话,我宁愿使用公式代替VBA。

4 个答案:

答案 0 :(得分:26)

您还可以使用CEILING向上舍入为整数或所需的重要倍数


=CEILING(A1,10)
舍入到10的倍数

12340.0001将成为12350

答案 1 :(得分:24)

使用ROUND,但使用num_digits = -1

=ROUND(A1,-1)

同样适用于ROUNDUPROUNDDOWN

来自Excel帮助:

  • 如果num_digits大于0(零),则将数字四舍五入到指定的小数位数。
  • 如果num_digits为0,则将数字四舍五入为最接近的整数。
  • 如果num_digits小于0,则数字将舍入到小数点的左侧。

修改 要使数字始终向上舍入,请使用=ROUNDUP(A1,-1)

答案 2 :(得分:2)

您可以使用MROUND(<reference cell>, <round to multiple of digit needed>)功能。

示例:

  1. 对于值为A1 = 21的轮次为10的倍数,它将被写为 =MROUND(A1,10) 结果= 20

  2. 对于值为Z4 = 55.1的轮次为10的倍数,它将被写为 =MROUND(Z4,10) 结果= 60

答案 3 :(得分:1)

ROUNDUP中的第二个参数,例如= ROUNDUP(12345.6789,3)是指基数为10的列的负数,具有10的幂,您想要向上舍入。例如1000 = 10 ^ 3,所以要向上舍入到下一个最高1000,使用,-3)

=ROUNDUP(12345.6789,-4) = 20,000
=ROUNDUP(12345.6789,-3) = 13,000
=ROUNDUP(12345.6789,-2) = 12,400
=ROUNDUP(12345.6789,-1) = 12,350
=ROUNDUP(12345.6789,0) = 12,346
=ROUNDUP(12345.6789,1) = 12,345.7
=ROUNDUP(12345.6789,2) = 12,345.68
=ROUNDUP(12345.6789,3) = 12,345.679

那么,回答你的问题: 如果您的值在A1中,请使用     = ROUNDUP(A1,-1)