舍入到最接近的N数

时间:2014-06-09 16:56:18

标签: excel ms-access vbscript ms-access-2007 excel-2007

我有一组十进制数字,我需要将它们舍入到最接近7的数字。

例如:

0.45 --> 0.47
4.70 --> 4.67
6.49 --> 6.47
8.32 --> 8.37

我可以使用Excel或Access(基本上是VBS)。

我只能抓住2位小数,将其转换为整数(* 100),然后应用舍入规则,然后预先挂起原始值的整数值。

例如:

0.45 --> 45 --> 47 --> 0.47
4.70 --> 70 --> 67 --> 4.67
6.49 --> 49 --> 47 --> 6.47
8.32 --> 32 --> 37 --> 8.37

我已尝试过舍入公式:

Let N represent the nearest number to round to.
Let X represent the input number.
output = ROUND(X / N, 0) * N

然而,这并没有给出预期的结果。

例如:

0.45 --> ROUND(45 / 7, 0) * 7 --> 42 != 47
4.70 --> ROUND(70 / 7, 0) * 7 --> 70 != 67
6.49 --> ROUND(49 / 7, 0) * 7 --> 49 != 47
8.32 --> ROUND(32 / 7, 0) * 7 --> 28 != 37

如何舍入到以7结尾的最近数字?

1 个答案:

答案 0 :(得分:5)

你可以只舍入到零。因此,您需要以0.07为0.00的方式转换数字。例如,您可以添加0.03或减去0.07。然后在四舍五入后你做相反的操作(减去0.03或加0.07)并得到你想要的数字。

代码:

=ROUND(A1+0.03, 1) - 0.03