在Excel中舍入不同的数字

时间:2014-04-04 17:36:38

标签: excel rounding

我需要一个公式,根据数字是数十,数百,数千,数十万,数百万等不同来舍入数字。我知道Excel中的基本舍入函数但不知道如何完全这样做。

示例:

1 - 999 need to be rounded up to the nearest 10.
1.000 - 99.999 need to be rounded up to the nearest 100.
100.000 - 999.999 need to be rounded up to the nearest 1.000.
1.000.000 - 999.999.999 need to be rounded up to the nearest 100.000.
1.000.000.000 - 999.999.999.999 need to be rounded up to the nearest 1.000.000

所有这一切都在单个公式中,可以很容易地被复制下来。

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:5)

您可以使用嵌套ROUNDUP函数的LOOKUP函数为您提供所需的逻辑,即使用A2中的值将B2中的公式复制下来

=ROUNDUP(A2,LOOKUP(A2,10^{0,3,5,6,9},-{1,2,3,5,6}))

这部分

10^{0,3,5,6,9}

定义每个范围的下限。这一部分:

-{1,2,3,5,6}

给出要舍入的位数,例如-2给出下一个100,-3下一个1000等。

这会将向上舍入到最近的100等的倍数。所以134将舍入到140.如果你想要舍入到最近的倍,那么你可以使用精确的相同的公式,但使用ROUND代替ROUNDUP

答案 1 :(得分:1)

可能最好的方法是在值之间切换自定义VBA函数 - 这会给你最多的控制权,但你也可以用嵌套的IF()语句来做:

=IF(A1<1000,CEILING(A1,10),IF(A1<100000,CEILING(A1,100),IF(A1<1000000,CEILING(A1,1000),IF(A1<1000000000,CEILING(A1,100000),CEILING(A1,1000000)))))

希望有所帮助!!