Supportnet / Forum / Tabellenkalkulation
Bug bei Substraktion in Excel?
Frage
Mir ist da etwas aufgefallen, das mich etwas irritiert.
A1: Summenformel, die 11,20 € ergibt
B1: 11,20 €
C1: =A1 - B1
In C1 steht dann -0,00 €.
A2: Summenformel, die 5,80 € ergibt
B2: 5,80 €
C2: =A2-B2
In C2 steht nur ein Minus-Symbol (da so formatiert, dass bei 0 - steht).
Da es mir sowieso spanisch vorkam, dass die 0,00 negativ waren, habe ich mal alle drei Spalten so eingestellt, dass 30 Nachkommastellen angezeigt werden. Und siehe da: In C1 tauchen tatsächlich sehr unrunde Zahlen auf. In den anderen beteiligten Zellen waren aber 29 Nullen zu sehen.
Dann habe ich mir das Minus mal genauer angeguckt:
[code]A1 A2 =A1-A2
11,10 € 11,10 € - €
11,11 € 11,10 € 0,009999999999999790000000000000 €
11,12 € 11,10 € 0,019999999999999600000000000000 €
11,13 € 11,10 € 0,030000000000001100000000000000 €
11,14 € 11,10 € 0,040000000000000900000000000000 €
11,15 € 11,10 € 0,050000000000000700000000000000 €
11,20 € 11,10 € 0,099999999999999600000000000000 €
11,30 € 11,10 € 0,200000000000001000000000000000 €
11,40 € 11,10 € 0,300000000000001000000000000000 € [/code]
Was ist denn das für eine Auffassung von der Substraktion? Das ist doch falsch?
Bis denne
Schnoof
Antwort 1 von Schnoof
PS: ich habe Microsoft Office Excel 2003 SP2
Antwort 2 von riese
das sind abweichungen 13 stellen hinter dem komma
wieviel promill ????????????
HS Rechner
der ist genau, rechnet aber nur bis 15 stellen hinter dem komma
adam
wieviel promill ????????????
HS Rechner
der ist genau, rechnet aber nur bis 15 stellen hinter dem komma
adam
Antwort 3 von Schnoof
Es ist mir eigentlich wurscht, ob der 13 Stellen hinter dem Komma oder nur 3 Stellen dahinter falsch rechnet. 11,20 - 11,20 ist 0 und nicht -0,00000000099999irgendwas. Und ich frage mich, wieso Excel das nicht sauber hinkriegt.
Antwort 4 von Schnoof
Nur um es mal zu verdeutlichen:
Das ist eine Tabelle, die bei uns in der Abteilung die Essensbestellung und das Essens- und Rückgeld regelt. Da gibt es nur zwei Summen und es bezieht sich alles auf Preise, also Zahlen mit maximal 2 Nachkommastellen. Und wenn ich da 4 Preise zu 11,20 € zusammenrechne, darin auch innerhalb der 30 darstellbaren Nachkommastellen kein Fehler sichtbar wird, dann wundert mich es schon, dass, wenn ich diese Summe von den bezahlten 11,20 € abziehe, plötzlich noch 0,0000000000999854 Cent zu bezahlen sind. Wenn ich damit weiterrechnen würde, würde sich der Fehler ja immer weiter fortpflanzen und es würde irgendwann auch sichtbare Auswirkungen haben.
Außerdem sehen noch ausstehende -0,00 € auch einfach bekloppt aus. Als Work-around runde ich die Differenz noch auf 2 Stellen, dann wird es so angezeigt, wie ich es auch haben will. Aber dennoch bin ich der Meinung, dass da ein ziemlich großer Bug in Excel ist.
Das ist eine Tabelle, die bei uns in der Abteilung die Essensbestellung und das Essens- und Rückgeld regelt. Da gibt es nur zwei Summen und es bezieht sich alles auf Preise, also Zahlen mit maximal 2 Nachkommastellen. Und wenn ich da 4 Preise zu 11,20 € zusammenrechne, darin auch innerhalb der 30 darstellbaren Nachkommastellen kein Fehler sichtbar wird, dann wundert mich es schon, dass, wenn ich diese Summe von den bezahlten 11,20 € abziehe, plötzlich noch 0,0000000000999854 Cent zu bezahlen sind. Wenn ich damit weiterrechnen würde, würde sich der Fehler ja immer weiter fortpflanzen und es würde irgendwann auch sichtbare Auswirkungen haben.
Außerdem sehen noch ausstehende -0,00 € auch einfach bekloppt aus. Als Work-around runde ich die Differenz noch auf 2 Stellen, dann wird es so angezeigt, wie ich es auch haben will. Aber dennoch bin ich der Meinung, dass da ein ziemlich großer Bug in Excel ist.
Antwort 5 von Pausenfueller
Hallo Schnoof,
ich habe zwar keine so richtige Ahnung, könnte mir aber vorstellen, dass das ein rein 'technologisches' Problem ist. So ein Rechner funktioniert eben etwas anders als unser Kopf, der ist auf die Verarbeitung von Einsen und Nullen beschränkt, was eine Berechnung von Dezimalwerten nur mit ein paar Tricks und mit kleineren Unkorrektheiten ermöglicht. Diese Unkorrektheiten sind jedoch so minimal, dass sie in der dezimalen Praxis kaum eine Rolle spielen. Wenn du jedoch schlimmere Auswirkungen auf die Exaktheit deiner Berechnungen befürchtest, dann arbeite nur mit ganzen Zahlen und setze zu Schluss das Komma selber an die richtige Stelle.
Alternativ könntest du natürlich auch mit folgenden Formeln arbeiten:
=RUNDEN((A1-B1);2)
=((A1*100)-(B1*100))/100
Gruß
Pausenfüller
ich habe zwar keine so richtige Ahnung, könnte mir aber vorstellen, dass das ein rein 'technologisches' Problem ist. So ein Rechner funktioniert eben etwas anders als unser Kopf, der ist auf die Verarbeitung von Einsen und Nullen beschränkt, was eine Berechnung von Dezimalwerten nur mit ein paar Tricks und mit kleineren Unkorrektheiten ermöglicht. Diese Unkorrektheiten sind jedoch so minimal, dass sie in der dezimalen Praxis kaum eine Rolle spielen. Wenn du jedoch schlimmere Auswirkungen auf die Exaktheit deiner Berechnungen befürchtest, dann arbeite nur mit ganzen Zahlen und setze zu Schluss das Komma selber an die richtige Stelle.
Alternativ könntest du natürlich auch mit folgenden Formeln arbeiten:
=RUNDEN((A1-B1);2)
=((A1*100)-(B1*100))/100
Gruß
Pausenfüller
Antwort 6 von rainberg
Hallo Schnoof,
ich vermute, dass der Fehler im Ergebnis der Summenformel in A1 zu suchen ist.
Lass Dir doch mal 30 Nachkomastellen von A1 anzeigen.
Gruß
Rainer
ich vermute, dass der Fehler im Ergebnis der Summenformel in A1 zu suchen ist.
Lass Dir doch mal 30 Nachkomastellen von A1 anzeigen.
Gruß
Rainer
Antwort 7 von Schnoof
Das hab ich schon gemacht, wie ich auch schon schrieb. Da sieht alles noch i. O. aus. Die Ungenauigkeit tritt erst mit der Subtraktion auf. Ich kann es nur nicht nachvollziehen, warum Addition funktioniert, Subtraktion aber nicht. Bei Multiplikation oder Division könnte ich den Fehler ja noch nachvollziehen, aber nicht bei Addition/Subtraktion.
Ich find den Fehler auch recht enorm, bei 10,2-10,1 ist der Fehler ja wirklich riesig, wenn man sich die Tabelle in meinem Ausgangsposting mal anguckt. Sobald man mehr als 2 Nachkommastellen anzeigt, fällt dieser Fehler schon ins Gewicht. Diese Tabelle ist übrigens nicht mit berechneten Werten sondern fest eingetippten Werten entstanden. Müsste also jeder nachvollziehen können.
Was genau das Problem bei der Subtraktion meiner Summen ist, kann ich nicht sagen. Bei der Mehrheit der Werte haut es hin, ich habe da eine Menge rumprobiert. Ich kann einfach nicht entscheiden, wann genau diese Ungenauigkeit entsteht. Ist schon recht faszinierend und bei mir auch nicht weiter dramatisch. Da ist es eher ein kosmetisches Problem. Aber ich kenne Leute, die selbst berechnen ganz andere Sachen mit Excel, da wird einem ja angst und bange.
Bis denne
Schnoof
Ich find den Fehler auch recht enorm, bei 10,2-10,1 ist der Fehler ja wirklich riesig, wenn man sich die Tabelle in meinem Ausgangsposting mal anguckt. Sobald man mehr als 2 Nachkommastellen anzeigt, fällt dieser Fehler schon ins Gewicht. Diese Tabelle ist übrigens nicht mit berechneten Werten sondern fest eingetippten Werten entstanden. Müsste also jeder nachvollziehen können.
Was genau das Problem bei der Subtraktion meiner Summen ist, kann ich nicht sagen. Bei der Mehrheit der Werte haut es hin, ich habe da eine Menge rumprobiert. Ich kann einfach nicht entscheiden, wann genau diese Ungenauigkeit entsteht. Ist schon recht faszinierend und bei mir auch nicht weiter dramatisch. Da ist es eher ein kosmetisches Problem. Aber ich kenne Leute, die selbst berechnen ganz andere Sachen mit Excel, da wird einem ja angst und bange.
Bis denne
Schnoof
Antwort 8 von riese
Zitat:
10,12- 10,11= 0,00999999999999979000
10,12- 10,11= 0,00999999999999979000
so sieht es bei open office aus
:-))
adam
Antwort 9 von rainberg
Hallo Schnoof,
habe jetzt mal versucht Dein Problem nach zu vollziehen mit Deinen und auch anderen Zahlen.
Ich kann den von Dir beschriebenen Fehler nicht bestätigen, obwohl ich die gleiche Version installiert habe.
Gruß
Rainer
habe jetzt mal versucht Dein Problem nach zu vollziehen mit Deinen und auch anderen Zahlen.
Ich kann den von Dir beschriebenen Fehler nicht bestätigen, obwohl ich die gleiche Version installiert habe.
Gruß
Rainer
Antwort 10 von jasper111
hallo schnoof und rainberg,
bei mir erscheint der gleiche fehler (excel xp),
aber eine erklärung habe ich auch nicht.
gruss jasper
bei mir erscheint der gleiche fehler (excel xp),
aber eine erklärung habe ich auch nicht.
gruss jasper
Antwort 11 von Reindy
Hi,
liegt wahrscheinlich daran, das ein computer ja nicht mit dezimalzahlen "rechnen" kann.
Er wandelt diese Zahlen in binäre format
Habe nun das nicht nachgeprüft, das wirds aber sein
RJ
liegt wahrscheinlich daran, das ein computer ja nicht mit dezimalzahlen "rechnen" kann.
Er wandelt diese Zahlen in binäre format
Habe nun das nicht nachgeprüft, das wirds aber sein
RJ
Antwort 12 von Primut
Hey All,
klar hat Excel auch Grenzen, die man aber eigentlich nicht als Bug bezeichen kann. Man sollte sie aber kennen:
Ungenaue Ergebnisse durch Gleitkomma-Arithmetik
Einschränkungen von Excel
@Schnoof
Für dein Beispiel mit den Währungen, d.h. ohne lange Kommastellen würde ich empfehlen: Unter
Gruß
klar hat Excel auch Grenzen, die man aber eigentlich nicht als Bug bezeichen kann. Man sollte sie aber kennen:
Ungenaue Ergebnisse durch Gleitkomma-Arithmetik
Einschränkungen von Excel
@Schnoof
Für dein Beispiel mit den Währungen, d.h. ohne lange Kommastellen würde ich empfehlen: Unter
Extras/Optionen/Berechnung den Haken bei Genauigkeit wie angezeigt zu setzen.Gruß
- Primut

