【问题标题】:How to roundup a number to the closest ten?如何将一个数字四舍五入到最接近的十位?
【发布时间】:2012-01-25 03:02:05
【问题描述】:

可能标题不是很有启发性。

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

12345.6 
2345.1
12345.00000001

我希望将这些数字汇总为12350
我怎样才能做到这一点?

如果可能,我宁愿使用公式而不是 VBA。

【问题讨论】:

  • 欢迎来到 Stackoverflow,别忘了阅读FAQ。如果有任何答案符合您的需要,请不要忘记点击最佳答案左侧的勾号接受它。
  • 另外,对于这类问题(即Excel公式,没有VBA),你可以下次在superuser.com
  • 对不起,我的问题不正确:我希望在 12350 中修改 12340.0001。:)

标签: excel excel-formula vba


【解决方案1】:

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


=CEILING(A1,10)
向上取整为 10 的倍数

12340.0001 将变为 12350

【讨论】:

    【解决方案2】:

    使用ROUND,但使用num_digits = -1

    =ROUND(A1,-1)
    

    同样适用于ROUNDUPROUNDDOWN

    来自 Excel 帮助:

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

    编辑: 要使数字始终向上取整,请使用=ROUNDUP(A1,-1)

    【讨论】:

    • 不错。我不知道你可以使用负数
    • 赞成这个答案,因为我想使用 rounddown()。
    【解决方案3】:

    您可以使用函数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

    【讨论】:

      【解决方案4】:

      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)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-22
        • 2017-02-11
        • 2014-12-14
        • 2011-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多