是否有一个excel公式可以将负数增加?即圆(-2.5)= -2

时间:2014-04-18 21:06:44

标签: excel excel-formula excel-2010

Microsoft Office Excel 2010的回合为2.5到3.它还会将-2.5回合到-3。

我尝试使用Excel验证我的数据,对着一个舍入-2.5到-2的系统。不同的系统似乎使用不同的打破平局规则(即我学会了Oracle使用相反规则的困难方法)。

是否有一个将-2.5到-2的Excel公式?创造力也是可以接受的(即简单的宏观)。

它也应该圆:

-2.7 -> -3
-2.2 -> -2

这与我正在寻找的方向相反:

=ROUND(-2.5,0)
编辑:我之前说过一种类型的舍入比另一种更正确。经过更多的研究,我没有比另一个更受欢迎。但我确实找到了默认的IEEE rounding rule,奇怪的是,通过四舍五入到最接近的半数来打破关系。我不是在寻找这种方法:)

5 个答案:

答案 0 :(得分:6)

如果它始终是整数,这应该有效。

=FLOOR(A1+0.5,1)

如果你需要小数,说小数位是B1,它就像

一样简单
=FLOOR(A1*10^B1+0.5,1)/10^B1

正如Barry Houdini在评论中所指出的,FLOOR(,1)与INT()相同,但没有额外的参数。

=INT(A1*10^B1+0.5)/10^B1

答案 1 :(得分:0)

解决方法可能如下:

IF(A1 >= 0; ROUND(A1; 0); -ROUND(-A1; 0))

答案 2 :(得分:0)

这似乎也有效。

=IF(ISNUMBER(FIND(".5",A1)),ROUNDDOWN(A1,0),ROUND(A1,0))

答案 3 :(得分:0)

它不是很漂亮,但这很有效。您可以根据您正在使用的数字的精确度相应地更改精度。

IF(A1 >= 0; ROUND(A1; 0); ROUND(ROUND(A1-0.999999; 0)+.999999; 0))

答案 4 :(得分:0)

您还可以通过将 IF() INT()一起使用来评估数字是正数还是负数,方法是先转换为正数,然后再转换为正数。 / p>

伪代码

// positive number evaluation
If decimal is greater than or equals 0, then INT( decimal )

// negative number evaluation
Else INT( number × (-1) ) × (-1)

Excel If()和INT()函数

=IF( number >= 0, INT( number ), INT( ( number ) * (-1) ) * (-1) )

正数示例

=IF(2.5>=0,INT(2.5),INT((2.5)*(-1))*(-1))
=2

负数示例

=IF(-2.5>=0,INT(-2.5),INT((-2.5)*(-1))*(-1))
=-2