5

如何在 excel 中舍入一个数字,例如通过格式化它以使实际数字发生变化,而不仅仅是它在单元格中的外观。

例如,如果我在一个单元格中有 229.729599999998 并且我将单元格格式化为仅显示 4 个小数位,它现在将在单元格中显示 229.7296 但单元格的值仍然是 229.729599999998 所以如果我要进行任何计算,excel 会使用较长的十进制数与 4 位十进制数相反。

有没有办法我可以做到这一点,不仅单元格中数字的外观显示 4 个小数位,而且单元格的实际值将反映 4 个小数位,以便单元格和公式栏中的值将显示 229.7296 而不是 229.729599999998。

我知道我可能可以在相邻单元格中使用函数或公式来对数字进行四舍五入,但我只是把一个巨大的电子表格放在一起,如果我必须对我的分布中的所有单元格做同样的事情,那将需要很长时间床单。有任何想法吗?

4

4 回答 4

7

只需将数字复制到工作表中并将其另存为新的 CSV。然后关闭CSV并再次打开它,你的数字被四舍五入......

于 2013-09-20T19:26:32.200 回答
6

还有另一个选项:使用“显示的精度”设置(在计算选项下找到)。

来自excel帮助

将单元格中存储的值从全精度(15 位)永久更改为显示的任何格式,包括小数位。

于 2012-04-26T22:05:14.103 回答
5

我能想到的两种方法是:

  • 如果是一次性的:创建一个新选项卡,其中每个单元格都是根据原始工作表计算的,例如在单元格 A1 中:=ROUND(OriginalTab!A1,4)等。然后将特殊值复制粘贴回原始工作表。
  • 运行一个 vba 宏,将工作表上的每个单元格四舍五入到小数点后 4 位。
于 2012-04-26T21:19:59.937 回答
2

可以使用可以更改小数但不包含所有尾随数字的公式来对小数进行四舍五入。

我更喜欢替代方法,但我会同时展示

首先取值(输入或公式)减去 int 并乘以 100。这将使十进制值成为整数。使用 MROUND 进行舍入。现在将其除以 100 并加回原始整数。

示例: =((MROUND(((K7-J8)-INT(K7-J8))*100,10))/100)+INT(K7-J8) 如果值为 229.729599999998 则新值 229.700000000000

替代方法取决于您想要的小数位数。MOD(value,1) 为您提供小数部分 * 100 两位数 1000 位 3 位 10000 位 4 位等 1000 3 个位置,最后将其添加回整数或值。

前任。=(MROUND(INT(MOD(U9,1)*1000),10))/1000+INT(U9) 这将使数字 229.730

于 2017-07-27T21:35:12.897 回答