Hallo Harry, hallo Holger

Am 30.05.22 um 14:39 schrieb Dr. Harry Knitter:
Am Montag, 30. Mai 2022, 13:42:11 CEST schrieb Holger Goslar:
seit langer Zeit nutze ich LibreOffice; aber erst jetzt ist mir ein
Fehler aufgefallen, der mich verwundert:

In simplen Multiplikationsaufgaben lasse ich Rechenergebnisse aus einer
Tabelle in eine andere zum weiterrechnen übertragen.
Die Addition von 3 Werten (s.u.)

24.371,08 €
3.576,17 €
9.383,80 €

im Anschluss an die Übertragung sollte immer eine 5 in der zweiten
Dezimalstelle aufweisen; doch ich fand  eine 4 dort. Das veranlasste
mich mal alle Multiplikationen zu prüfen mit Taschenrechner und es
tauchten überall simple Rechenfehler auf.

mtl.    pro a
2.030,92 €      24.371,08 €
298,01 €        3.576,17 €
781,98 €        9.383,80 €

3.110,92 €      37.337,04 €


Meine Prüfberechnung ergab auch mit Calc richtige Werte:

Prüfberechnung



        12
2030,92         24371,04
298,01  3576,12
781,98  9383,76

3110,91         37330,92


Die Fehler müssen also durch die Verweise auf die Dateien entstehen, aus
denen die Werte stammen.

Was kann dafür der Grund sein?



Das sind keine Rechenfehler.
Jede Tabellenkalkulation rechnet standardmäßig mit der vollen Genauigkeit
aller Nachkommastellen und das sind in der Regel mehr als die, die angezeigt
werden. Allerdings werden nur die im Zahlenformat eingestellten
Nachkommastellen angezeigt, und diese Anzeige wird auf genau diese Anzahl der
Nachkommastellen gerundet. Aber eben nur in der Anzeige.
Das macht auch Sinn für technische Berechnungen.
Rechnet man aber mit Währungsbeträgen, so muss man immer mit den in der
Anzeige gerundeten Beträgen weiter rechnen.
Will man das erreichen, so muss man in solchen Arbeitsmappen folgendes
einstellen:
Extras -> Optionen -> LibreOffice Calc -> Berechnen -> Allgemeine Berechnungen
-> Genauigkeit wie angezeigt
Dort einen Haken setzen
und alles wird gut.

Harry hat mit seiner Antwort recht - doch hat diese Lösung m.E. einen Schönheitsfehler: Es ist eine generelle Einstellung, die in Zukunft /*immer */so rundet (natürlich nur, bis Du die Option wieder ausschaltest). Besser wäre es m.E. eine neue Spalte einzuführen und dort einzutragen: =RUNDEN("Zelle";2), wo anstelle von Zelle der Zellbezug zum links daneben stehenden Wert steht. Der Effekt ist der gleiche, aber er wirkt nur, wenn Du diese Funktion auch benutzt. Um den "Schönheitsfehler" der doppelten Werte zu eliminieren, kannst Du ja die Spalte mit den korrekten, ungerundeten Werten ausblenden. Meine Empfehlung in diesem Fall: In einem Kommentar hinterlegen, was man genau gemacht hat - empfiehlt sich sowieso ;-))).

Freundlich grüsst

Ernst


--
Liste abmelden mit E-Mail an: [email protected]
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy

Antwort per Email an