繁体   English   中英

Excel十进制四舍五入?

[英]Excel decimal Rounding?

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

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

有没有办法让我不仅使单元格中数字的外观显示 4 个小数位,而且使单元格的实际值反映 4 个十进制数,以便单元格和公式栏中的值将显示 229.7296 而不是 229.729599999998。

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

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

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

来自 excel 帮助

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

我能想到的两种方法是:

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

四舍五入可以使用公式完成,您可以在其中更改小数而不是所有尾随数字。

我更喜欢另一种方法,但我会同时展示

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM