2016-09-23 8 views
1

私は比較を行うときにExcelで長い数式を繰り返さないようにするにはどうすればよいですか?

どう
=IF(REALLY_LONG_FORMULA < threshold, 0, REALLY_LONG_FORMULA) 

で二回REALLY_LONG_FORMULAを入力することを避けるために表現を探していますが、次の

=IF(ISERROR(LONG_FORMULA), 0, LONG_FORMULA) 

のようなものが

=IFERROR(LONG_FORMULA, 0) 

と交換することができることを知っています私はこれをすることができますか?

答えて

3

私は次のように出てくることができました:

=IFERROR(EXP(LN(REALLY_LONG_FORMULA – threshold)) + threshold, 0) 

それが負の数のログがエラーを生成し、EXPLNが互いに逆であるという事実を利用して動作します。

本の最大の利点は、あなたがあなたのIF文でREALLY_LONG_FORMULAの他のコピーに同じ変更を適用するために覚えることなくREALLY_LONG_FORMULAの一つのコピーで何かを変更すると、それは偶然あなたのスプレッドシートにエラーを導入することを回避することです。厳密な不等式比較を使用するための

Greater or equal than example

=IF(REALLY_LONG_FORMULA>=threshold,0,REALLY_LONG_FORMULA) 

のように比較より

グレーターは(@Jeepedによって提供される)以下

=IFERROR(threshold-EXP(LN(threshold-REALLY_LONG_FORMULA)),0) 

例に置き換えることができますSQRT(_)^2は@トムシャープ

+0

私はあなたの数学をテストしていませんが、それは正しく見えます。この状況が次回に現れたら、私はテストします。 – Jeeped

+0

私は自分自身に単一性の二重往復運動を加えています。負の数を除いて、平方根をとって二乗する)、状況に応じて次のようになります。https://excelxor.com/2014/09/25/iferror-techniques-for-excluding-certain-values-from-results/ –

+1

[Simplified and proofed with data](http://i.stack.imgur.com/FvjvM.png) – Jeeped

0

数値がthresholdである場合は、ExcelJetの最新のブログ記事 Replacing Ugly IFs with MAX() or MIN()をチェックすることを検討します。

また、MAX()MIN()機能は、はるかに直感的EXP()LN()のように賃貸人公知の機能を使用するよりもです。^2 SQRTでのLn経験を比較

+0

コメントありがとうございます。可能であればMAXとMINを使用します。しかし、(私が間違っている場合は私を修正します)、私はMAXとMINが機能に不連続性があるとは思えません。たとえば、MAX(threshold、X)はX snth

0

: - SQRT(0)0が、LNを与えるので

enter image description here

(0)#NUMを与えます!

したがって、どちらを使用するかは、平等を希望するかどうかによって決めることができます。

これらは負の数でも動作します - 理論的には

enter image description here

+0

それは素晴らしい観察です。ありがとうございました! – snth

+0

ありがとう!また、理論的にはうまくいかない負のしきい値(edit参照)でテストしましたが、実際には丸め誤差のあるルーブルに遭遇します。だからこそ私はこれらの機能について少し疑念を抱いています。なぜなら、あなたが最初に考えた数にいつも戻ることを保証できないからです。 –

関連する問題