如何用零代替excel负数?
我有下面的公式,有时输出是一个负数,你将如何用零作为同一个公式的一部分replace负输出? 负由(60-A1)* 2 * J1产生。 谢谢!
=IF((60-A1)*2*J1>$A$2,$A$2,(60-A10)*2*K1)
使用MAX():
=MAX(IF((60-A1)*2*J1>$A$2,$A$2,(60-A10)*2*K1),0)
一个粗略的方法,对于合理数量的简单数据来说,确实有效,那就是用你的公式来包装你的公式
=IFERROR(EXP(LN(<your formula here>)),0)
这有很好的属性,你不需要重复你的公式。
它起作用,因为LN
将在非正数上失败, EXP
将倒置LN
。
(技术说明:Excel的数值使用IEEE754浮点双精度型,而LN
和EXP
是相当自然的适用于二进制浮点types的函数。)
在math中,只留下正数但用零代替负数的函数称为正数部分函数。 如果您使用它很多,您可以将其定义为一个VBA函数,并直接在工作表中使用它。 在标准的代码模块中,input:
Function PositivePart(x As Double) As Double PositivePart = IIf(x >= 0, x, 0) End Function
然后在工作表中使用:
=PositivePart(IF((60-A1)*2*J1>$A$2,$A$2,(60-A10)*2*K1))