Rechenfehler bei Differenzen umgehen

In einer Tabelle haben Sie 4620,87 und 4575,00 in zwei Zellen eingegeben, beide Werte dann in einer dritten voneinander subtrahiert und das Ergebnis in einer vierten Zelle mit dem richtigen Ergebnis 45,87 verglichen. Excel erkennt einen Unterschied, Staroffice hingegen nicht.

Sie sind auf eines der Grundprobleme der Informatik gestoßen – viele Dezimalzahlen lassen sich nicht exakt als Binärzahlen darstellen. Sie können das Problem jedoch umgehen: Die sichere, jedoch etwas mühsame Variante ist der mehrfache Einsatz der Funktion RUNDEN(). Dabei genügt es, wenn Sie von den 15 Stellen Rechengenauigkeit, die Excel bietet, die Zahl der Stellen vor dem Komma abziehen. Im Beispiel stehen vier Stellen vor dem Komma, daher sollten Sie das Ergebnis auf maximal elf Stellen nach dem Komma runden. Dazu verwenden Sie den Befehl

=RUNDEN(C1;11)
Alternativ können Sie die Grundeinstellungen jeder Arbeitsmappe so anpassen, dass nur die angezeigte Genauigkeit – hier also zwei Stellen nach dem Komma – in die Berechnung eingeht. Öffnen Sie dazu »Extras | Optionen« und aktivieren Sie auf dem Register »Berechnung« die Option »Genauigkeit wie angezeigt«.

! Achtung: Über mehrere Rechenoperationen hinweg können sich Rundungsfehler beträchtlich multiplizieren. Daher ist diese Methode für umfangreiche Berechnungen ungeeignet.

Hintergrund: Die Rechengenauigkeit eines PCs ist systembedingt auf 15 signifikante Stellen beschränkt, die sich auf Vor- und Nachkommastellen aufteilen. Im Beispiel tritt daher spätestens ab der zwölften Nachkommastelle ein systematischer Rechenfehler auf, der sich in weiteren Berechnungen fortsetzt. Weil die Differenz weniger Stellen vor dem Komma besitzt, interpretiert Excel den Unterschied der 12. Stelle intern als signifikant und betrachtet die Werte als ungleich. Staroffice unterdrückt dieses Phänomen, so dass die Rechnung in diesem Beispiel richtig bleibt. Wenn die Differenz jedoch noch kleiner ist, stoßen Sie auf dasselbe Problem.