如何舍入值在Excel中

时间:2016-07-23 08:17:13

标签: excel excel-vba excel-formula excel-2010 excel-2007 vba

我希望在小数点后大于5时将Excel中的值四舍五入。

例如:

  • 如果num = 9.15 ,结果= 9.1

  • 如果num = 9.16 ,则结果= 9.2

3 个答案:

答案 0 :(得分:2)

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

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

A1中的值可以是任何长度的任何十进制值,无论是正数还是负数。这将是"四舍五入"到小数点后1位。公式中的10^1部分会导致舍入到小数点后1位。使用10^2舍入到2位小数,依此类推。

答案 1 :(得分:1)

对于小数点后两位,我打算发布

=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,则向下舍入最后一个小数位。

答案 2 :(得分:0)

这应该做到

=ceil(A1*10-0.5)/10