如何在Excel中舍入值

问题描述:

我想在Excel中的值在小数点后大于5时舍入。如何在Excel中舍入值

例如:

  • 如果num = 9.15,结果= 9.1

  • 如果num = 9.16,结果= 9.2

+0

右键单击单元格,然后单击格式单元格 - >数字 - >类别 - >数字 - >小数 – Andreas

+0

我想我现在明白你的问题... 9.15通常轮到9.2 – Andreas

+0

它总是小数的第二位,你需要舍入或下降,或最后一个地方(可能是9.5,9.15,9.115等)? –

对于第二OND小数位,我要张贴

=IF(AND(FIND(".",A2&".")=(LEN(A2)-2),RIGHT(A2)="5"),--LEFT(A2,LEN(A2)-1),ROUND(A2,1)) 

一个非常简单的方法(根据@贾森的评论修改)被

=ROUND(A4-10^-10*SIGN(A4),1) 

这应该是罚款至小数点后几个地方如果将小数位数更改为四舍五入(但如果数字过大,则会由于舍入错误而失败)。

这也给了很好的效果在很宽范围的数字: -

​​

要推广的第一个多一点,你可以尝试

=IF(ISNUMBER(FIND(".",A2)),IF(RIGHT(A2)="5",--LEFT(A2,LEN(A2)-1),ROUND(A2,LEN(A2)-FIND(".",A2)-1)),A2) 

圆最后一个小数位下来,如果这是一个5.

+1

尝试在a2中有15个 – Jasen

+0

是的,它需要检查小数位数 - 将编辑它。 –

虽然您的需要与当前有效的舍入规则相矛盾,但它可以通过以下公式实现:

=TRUNC($A1*10^1+0.4*SIGN($A1))/10^1 

A1中的值可以是任何正数或负数的任意长度的小数值。它将被“舍入”到小数点后1位。公式中的10^1部分导致舍入到小数点后1位。使用10^2四舍五入到小数点后两位,依此类推。

这应该这样做

=ceil(A1*10-0.5)/10

+0

对于Excel应为'= CEILING(A1 * 10-0.5,1)/ 10'。但是,是的,这是另一种可能性。将下降到9.15〜9.1,但是将达到9.151〜9.2。我的解决方案将始终只检查第二个小数位。那么哪个更好取决于@Aman Malhotra真正想要的。 –

+0

我的文档说excel有'ceil',还有'ceil'在'ceiling'离开零的时候向上转。 – Jasen

+0

哪个Excel版本?我的(Excel 2007和Excel 2016)没有。在Excel 2016中,您可以执行'= CEILING.MATH(A1 * 10-0.5)/ 10' –