如何在Excel中舍入值

如何在Excel中舍入值,excel,excel-formula,excel-2010,excel-2007,vba,Excel,Excel Formula,Excel 2010,Excel 2007,Vba,当数值在小数点后大于5时,我想对Excel中的数值进行四舍五入 例如: 如果num=9.15,则结果为9.1 如果num=9.16,则结果为9.2 小数点后的第二位,我打算发帖 =IF(AND(FIND(".",A2&".")=(LEN(A2)-2),RIGHT(A2)="5"),--LEFT(A2,LEN(A2)-1),ROUND(A2,1)) 根据@Jasen的评论修改 一个非常简单的方法是 =ROUND(A4-10^-10*SIGN(A4),1) 如果您将小数数更改为舍入,则可

当数值在小数点后大于5时,我想对Excel中的数值进行四舍五入

例如:

如果num=9.15,则结果为9.1

如果num=9.16,则结果为9.2


小数点后的第二位,我打算发帖

=IF(AND(FIND(".",A2&".")=(LEN(A2)-2),RIGHT(A2)="5"),--LEFT(A2,LEN(A2)-1),ROUND(A2,1))
根据@Jasen的评论修改

一个非常简单的方法是

=ROUND(A4-10^-10*SIGN(A4),1)
如果您将小数数更改为舍入,则可以将其设置为多个小数位数,但如果数字太大,则会因舍入错误而失败

这也在广泛的数字范围内提供了良好的结果:-

=ROUND(A2-A2/10^12,1)
要更全面地概括第一个,您可以尝试

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

如果小数点后一位是5,则向下舍入。

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

=TRUNC($A1*10^1+0.4*SIGN($A1))/10^1
A1中的值可以是任何长度的任何十进制值,可以是正数或负数。它将四舍五入到小数点后1位。公式中的10^1部分导致四舍五入到小数点后1位。使用10^2四舍五入到小数点后2位,依此类推。

这样就可以了


=ceilA1*10-0.5/10

右键单击单元格,然后单击格式单元格->数字->类别->数字->小数点我想我现在明白你的问题了。。。9.15通常四舍五入到9.2这是你需要向上或向下四舍五入的第二位小数,还是最后一位可以是9.5、9.15、9.115等等?你想要的是与当前有效的四舍五入规则相矛盾的。也许我们想得太多了-可能足够做一些类似的事情,比如=ROUNDA2-0.000000000 1*签名2,1尝试在a2Yes中使用15,需要检查小数点-将对其进行编辑。Excel的小数点应为=CEILINGA1*10-0.5,1/10。但是的,这将是另一种可能性。将向下取整9.15~9.1,但向上取整9.151~9.2。我的解决方案总是只检查小数点后第二位。所以哪个更好取决于@Aman Malhotra真正想要什么。我的文档说excel有ceil,而且ceil向上取整,而天花板从零向上取整。哪个excel版本?我的Excel 2007和Excel 2016尚未发布。使用Excel 2016,你可以做=天花板。数学1*10-0.5/10我认为正确地将负数四舍五入=天花板2*10-0.5*SIGNA2,SIGNA2/10