我需要一个公式,根据数字是数十,数百,数千,数十万,数百万等不同来舍入数字。我知道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
所有这一切都在单个公式中,可以很容易地被复制下来。
非常感谢任何帮助!
答案 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)))))
希望有所帮助!!