Gibt es immer noch den Exel-Bug?

halwe

Lt. Commander
Registriert
Jan. 2007
Beiträge
1.778
Ich habe in meiner Tabelle ein seltsames Ergebnis, welches wohl ein Excel-Bug sein muss.
Hier das Bild dazu (links die Formeln, rechts die Werte):
formelbild.png


Habe ich eine zu alte Excel-Version (Office 2010)? Ich dachte Excel Bug wäre aus noch früheren Zeiten und würde eher mit dem Prozessor zusammenhängen.
Man könnte denken, diese kleine Abweichung spielt keine große Rolle, aber bei meiner komplexen Excel-Buchführung gehen auch bei solchen Abweichungen die "Lichter an" und melden Inkonsistenzen. Letztlich führt das dann zu umständlichen Fehlersuchen. 🤨
 

Anhänge

Ja das tritt auch bei neuen Excel auf.ggf nur mit 10 bzw 12 stellen nach dem Komma arbeiten.
Ggf auch mal mit alternative zu Excel probieren ob da gewissen Berechnungen weniger Probleme machen.
 
Das liegt auch nicht an Excel per se sondern an dem Datentyp, mit dem die Zahlen gespeichert werden. Gerade Fließkommazahlen haben nur eine gewisse Genauigkeit von ca. 7 stellen. Gleitkommagenauigkeit ist da ein Stichwort, nachdem man gucken kann.

Entweder musst du deine Zahlen runden oder du musst es vielleicht in eine kleinere Einheit umrechnen.
 
  • Gefällt mir
Reaktionen: Krik, Darklanmaster und voney
Drewkev schrieb:
Mag sein, aber brauchst du tatsächlich derart viele Nachkommastellen?
Ja, früher dachte ich auch, so was wäre praktisch nicht relevant.
Nun habe ich hier eine Buchhaltungstabelle, wo hunderte berechnete Werte mit von der Bank übernommenen Zahlen verglichen werden und eine bedingte Formatierung dafür sorgt, dass korrekte Werte grün unterlegt werden.
Wenn davon nun Werte nicht "Grün" sind, mag die Differenz gering sein, es erfordert aber eine manuelle Prüfung bzw. ein Merken, dass diese Prüfung gemacht wurde. Einfach manuell grün einfärben oder ein sonstiger Berechnungseingriff ist schlecht, denn die Tabelle dient später auch fürs Folgejahr als Vorlage, da müsste ich alle derartigen Eingriffe merken und zurück korrigieren.
 
Man kann unter option-erweitert "Genauigkeit wie angezeigt" klicken.
Hilft bei deinem Problem zumindest bei meinem Test, wenn ich die Felder als Zahl mit 20 Nachkommastellen definiere.
 
  • Gefällt mir
Reaktionen: N00bn00b
Wie JohnWayne78 schon geschrieben hat: Zahlen als Zahlen formatieren und es funktioniert.
 
  • Gefällt mir
Reaktionen: JohnWayne78
halwe schrieb:
Buchhaltungstabelle, wo hunderte berechnete Werte mit von der Bank
gabs da nicht auch mal nen bank betrug dessen grundlage die rundungsfehler waren? ich finde nur die quelle nicht hab das aber wo im hinterkopf.
 
ja ist benutzerfehler.
wenn man mit zahlen in einer zelle arbeitet sollte man diese auch als solche konfigurieren.
 
Als Hinweis: OnlyOffice macht den gleichen "Fehler".
 
  • Gefällt mir
Reaktionen: N00bn00b
Danke fürs Mitdenken und auch an Sandro für die Richtigstellung.
Zu den Tipps:
Den Vergleich für die bedingte Formatierung durch eine "tolerantere" Formel ersetzen mag ich nicht, das wird unübersichtlich.
Die Zahlen durch Rundungen korrigieren hilft nur bedingt, denn ihr seht ja, das sind schon gerundete Werte, mit denen ich arbeite. Ich müsste quasi jeden in eine Prüfung einfließenden Wert vorher runden, auch das wird unübersichtlich.
Die globale Einstellung "mit der angezeigten Genauigkeit arbeiten" - darüber muss ich nachdenken. Letztlich finden an anderer Stelle der Datei (10 Register) komplexe Berechnungen (auch nicht fiskalisch) statt und ich kann auf Anhieb nicht sagen, was diese Einstellung daran ändern würde. Müsste ich mal durchschauen / ausprobieren.
 
  • Gefällt mir
Reaktionen: azereus
Sandro_Suchti schrieb:
Die Zellen sind bereits als Zahlen definiert ;)
Offensichtlich habt ihr euch die .xlsx-Datei gar nicht angesehen.

Und wenn ihr keinen Bock darauf habt, dann kommentiert halt nicht so einen Blödsinn.
@Sandro_Suchti ich habe sogar nachgestellt auf office365, den Fehler konnte ich reproduzieren und beseitigen. Einfach mal alle Posts lesen, bevor man so Stuss von sich gibt. Zum Thread aber nix beitragen. Das sind die Richtigen

Edit: zumal mit max. 10 Nachkommastellen sein Problem auch gelöst werden kann, wenn es reicht
 
  • Gefällt mir
Reaktionen: the_ButcheR
https://learn.microsoft.com/en-us/o...l/floating-point-arithmetic-inaccurate-result
Hervorhebung durch mich.
Repeating binary numbers and calculations that have near-zero results

Another confusing problem that affects the storage of floating point numbers in binary format is that some numbers that are finite, nonrepeating numbers in decimal base 10, are infinite, repeating numbers in binary. The most common example of this is the value 0.1 and its variations. Although these numbers can be represented perfectly in base 10, the same number in binary format becomes the following repeating binary number when it's stored in the mantissa:

000110011001100110011 (and so on)

The IEEE 754 specification makes no special allowance for any number. It stores what it can in the mantissa and truncates the rest. This results in an error of about -2.8E-17, or 0.000000000000000028 when it's stored.
Du wirst die -2.8E-17 wiedererkennen, (3Stellen vor dem Komma, 14 danach -> E-17)

Wenn du mit Floats rechnest (macht Excel und die meisten anderen Tabellenkalkulationslösungen) und die Präzision über die immense Menge an Stellen erzwingst rennst du zwangsweise in die Probleme die Floatingpointarithmetik mitbringt. Weniger ist da manchmal mehr.

Oder gescheite Software nehmen die im Hintergrund eine gescheite Datenbank nutzt die Währungen mit passenden Datentypen (Festkomma) abbilden kann.
 
  • Gefällt mir
Reaktionen: halwe und Sykehouse
Dieses Fließkomma-Benehmen hat mich damals bei meiner Diplomarbeit 4h gekostet.
Es ging um eine Kalibrationsgerade und deren Standardabweichung.
Die Summe aller Abweichungen muss definitionsgemäß "0" sein.
In der Excel-Zelle (Excel 95) stand aber eine Zahl. Ich habe stundenlang den Fehler gesucht, bis ich mal ans Ende der Zelle geschaut habe. Da stand E-37. Ich habe dann die Zellen als Zahl mit 4 Nachkommastellen definiert und siehe da, in der Summenzelle stand "0,0000". :D
 
Zurück
Oben