
Erstens möchte ich meine Zahlen nicht runden. Ich verwende Zahlen auf der Basis 10, daher sollte Excel mit einfachen Additions- und Subtraktionsaufgaben keine Probleme haben.
A| 665.110000000000000000000000000000
B| 4.990000000000000000000000000000
C| =a1+b1
D| 670.790000000000000000000000000000
E| 1,335.890000000000000000000000000000
F| =e1-(c1+d1)
Ich sollte -5 bekommen, aber F1 kehrt zurück
-4.999999999999770000000000000000
Es handelt sich um ein Finanzdokument, daher möchte ich Rundungen vermeiden, genauer gesagt. Warum sollte ich das tun müssen? Ich habe die Zellenformatierung auf Währung mit zwei Dezimalstellen eingestellt und erhalte den korrekten Anzeigewert, aber bei allen Berechnungen erhalte ich immer noch -4,9999...7, was zu weiteren Fehlern bei bedingter Formatierung usw. führt.
Antwort1
Das Problem liegt in der grundlegenden Hardware fast aller Computer. Sie basieren auf Binärsystemen und zählen daher nicht von 0 bis 9, sondern nur 0 und 1 bzw. zur Basis 2.
Das ist in Ordnung, es sei denn, Sie möchten hochpräzise Dezimalzahlen. Computer können nur in Brüchen rechnen, die Potenzen von einer Hälfte sind, also 1/2, 1/4, 1/8, 1/16, 1/32 usw. Es gibt für einen Computer keine einfache Möglichkeit, einige Zahlen wie 1/3 oder 4,99 absolut genau darzustellen, ohne dabei viel Leistung einzubüßen.
Excel kann diese Tatsache recht gut verbergen. Erst wenn Sie 20 oder mehr Dezimalstellen einschalten, wird dieser Fehler angezeigt. Dies geschieht durch Runden, aber nur, wenn das Ergebnis angezeigt wird.
Sie sagen, dies ist für Finanzberechnungen gedacht. Müssen Sie das Endergebnis wirklich auf 20 Dezimalstellen genau angezeigt bekommen? Oder müssen Sie nur sicher sein, dass die Berechnung mit ausreichender Genauigkeit durchgeführt wird, damit keine Rundungsfehler auftreten? Wenn Letzteres zutrifft, müssen Sie vielleicht einfach darauf vertrauen, dass Excel seine Arbeit seit einigen Jahren für zahllose Finanzorganisationen problemlos erledigt. Und dass Sie sich keine Sorgen machen müssen, dass diese Rundungsfehler Ihnen Probleme bereiten.
Antwort2
Dies wurde hier bereits beantwortet.
Nur weil Sie eine „runde“ Zahl in Basis 10 verwenden, hilft das nicht – der Computer speichert Zahlen im Binärsystem. Ihre gerundete Zahl in Basis 10 wird in eine Binärzahl umgewandelt, die sich am Ende wiederholt. Beim Zurückkonvertieren dieser Dezimalzahl gehen Informationen verloren.
Computerbenutzer können dies auf zwei Arten umgehen:
1) Rechnen Sie auf eine bestimmte Anzahl Dezimalstellen genau und runden Sie diese dann auf weniger Dezimalstellen. 2) Verwenden Sie BCD oder eine andere exakte Dezimaldarstellung.
Soweit mir bekannt ist, verwendet Excel Nr. 2 nicht, wählen Sie also eine andere Option.
Antwort3
In Excel gibt es die Option „Genauigkeit wie angezeigt“, mit der Zahlen automatisch auf die von Ihnen für die Anzeige gewählte Genauigkeit gerundet werden.
http://support.microsoft.com/kb/78113
Ich würde Ihnen jedoch nicht empfehlen, dies zu tun, da dies zu Rundungsfehlern in Ihrer Berechnung führen kann, da Sie Excel anweisen, auf 2 Dezimalstellen zu runden, während der Rundungsfehler derzeit bei ungefähr 15 Dezimalstellen liegt und Ihre Berechnungen daher überhaupt nicht beeinflusst.