两个数字之间的差值公式

两个数字之间的差值公式

我正在尝试找出两组数字之间的差值。有些数字是正数,有些是负数。

使用以下公式大约 99% 的时间都是有效的:

=IF(I18<0,I18+R18,IF(I18>0,I18-R18))

但是,当I18R18为负数时,我需要I18-R18。我尝试了多个IF AND语句,但似乎无法正确执行。希望有人能为我指明正确的方向。

答案1

听起来你只是想要I18和之间的差异(delta) R18,并且希望它始终为正?

此公式可以实现以下目的:

=ABS(I18-R18)

I18无论是正数、负数还是零,它都会给出正确的答案。

答案2

不要检查操作数是否为负数,而要检查结果。

=IF(I18-R18>0,I18-R18,R18-I18)

答案3

让我们简化您的原始代码:

If X < 0:
    Z = X + Y

Else X > 0:
    Z = X - Y

现在,您说当 X < 0 且 Y < 0 时,您实际上希望结果是 X - Y 而不是 X + Y。好的。

If Y < 0:
   If X < 0:
      Z = X - Y
   Else:
      Z = X + Y
Else:
   If X < 0:
      Z = X - Y
   Else:
      Z = X + Y

那是写的。

=IF(R18<0,IF(I18<0,I18-R18,I18+R18),IF(I18<0,I18-R18,I18+R18))

如上所述,您没有零情况。您可能只需添加等号即可将其中一个 LT/GT 比较器更改为 LE/GE - 具体取决于您的数据和逻辑。

答案4

我不知道 ABS。我本来想建议

=SQRT((I18-R18)^2)

相关内容