2017-09-05 11 views
2

私は次の数式を持っていますが、出力が負の数の場合もありますが、負の出力を同じ式の一部としてゼロで置き換えるとどうでしょうか?ネガティブは(60-A1)* 2 * J1から生成されます。ありがとう!excel負の数をゼロで置き換える方法は?

=IF((60-A1)*2*J1>$A$2,$A$2,(60-A10)*2*K1) 
+0

別のIF出力に0であれば、負の –

+1

@GowthamShiva全体をラップ:そのアプローチに問題があることを数式を2回入力する必要があります。 – Bathsheba

+0

あなたはちょうどそれが60以上であるかどうかを確認するためにA1を使用することができました –

答えて

5

利用MAX():合理的な大きさの単純なデータのために驚くほどうまくいくん

=MAX(IF((60-A1)*2*J1>$A$2,$A$2,(60-A10)*2*K1),0) 
2

粗製の方法は、

=IFERROR(EXP(LN(<your formula here>)),0) 

これは持っているとあなたの式をラップすることです数式を繰り返す必要がない素敵な財産です。

LNは、正の数では失敗し、EXPは、LNを逆にします。

(テクニカルノート:Excelはその数値のためのIEEE754浮動小数点double型を使用し、LNEXPは、2進浮動小数点型に適用するためのかなり自然な機能である。)

+0

おかげでBathsheba。 – John

+0

@ジョン:喜び、あなたは他の答えを受け入れるのが賢明でした。 – Bathsheba

0

を数学では、その葉の機能を負の数を0で置き換えることは、positive part関数と呼ばれます。それをたくさん使う場合は、それをVBA関数として定義し、ワークシートで直接使用することができます。標準のコードモジュールで、次のように入力します

ワークシートの使用中
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)) 
関連する問題