如何用零代替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浮点双精度型,而LNEXP是相当自然的适用于二进制浮点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))