Rechenfehler (ungenauigkeit) bei Subtraktion?

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

hawe
****
Beiträge: 151
Registriert: Di, 05.08.2008 19:47

Re: Rechenfehler (ungenauigkeit) bei Subtraktion?

Beitrag 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?
Gruss HW
Win7/SuSe 11.2 - LO 3.3
stbuerk
***
Beiträge: 97
Registriert: Do, 05.01.2006 08:31
Wohnort: Wuppertal

Re: Rechenfehler (ungenauigkeit) bei Subtraktion?

Beitrag 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
Antworten