Seite 2 von 2

Re: Rechenfehler (ungenauigkeit) bei Subtraktion?

Verfasst: Do, 23.10.2008 20:57
von hawe
Was ihr hier schildert ist ein Phänomen, das beim Rechnen mit Maschinenzahlen als Auslöschung bezeichnet wird - Das ist die Differenzbildung mit einem zu erwartendem Ergebnis nahe 0. Dem begegnet man ganz allgemein damit, dass man eine Genauigkeitgrenze eps festlegt - Du hast was von eps=10^-4 gesagt und insbesondere Differenzen (die ein Ergebnis nahe 0 haben können) damit rundet. Also

Code: Alles auswählen

=ABRUNDEN(RUNDEN($B$2-SUMMENPRODUKT($A$5:$A18;$B$5:$B18);4)/A19)
Genauso problematisch ist eine Abfrage auf 0
WENN(A1-B1=0;....
sollte man besser nicht fragen, sondern
WENN(RUNDEN(A1-B1;4)=0;.....
oder
WENN(A1-B1<10^-4;....

Und hilfts?

Re: Rechenfehler (ungenauigkeit) bei Subtraktion?

Verfasst: Fr, 24.10.2008 08:38
von stbuerk
Tja, insgesamt schon ein interessanter Fall.

Zufällig habe ich gerade festgestellt, dass (immer???) richtig gerechnet wird, wenn man den Ausdruck so schachtelt dass erst dividert und dann subtrahiert wird wenn also z.B. in Zelle B6 steht:

=ABRUNDEN(($B$2/A6-SUMMENPRODUKT($A$5:A5;$B$5:B5)/A6))

dann kann man offensichtlich sogar auf den 1/10 Cent Zuschlag verzichten?


Stefan