Excel 2010 - Differenzrechnung / Rundung

Furtwowe

Lt. Junior Grade
Registriert
Okt. 2009
Beiträge
277
Hallo Community,

ich hatte ein Problem mit folgender Funktion:
=IF((F1-G1)<0,1;"G";"R")

mit folgenden Werte:
F1=13,6
G1=13,5

und folgendem Ergebnis:
G

Kann ja nicht sein, weil die Differenzrechnung F1-G1=0,1 sein müsste. Daher bin ich natürlich auf die Suche gegangen und habe einige Dinge ausprobiert (Formatierungen (Number, General ect.), neues Excelfile erstellt usw. alles ohne Erfolg bzw. mit gleichem Ergebnis.
Jetzt hab ich mir mal das Ergebnis dieser Differenzrechnung seperat angeschaut.
Das Ergebnis war wieder 0,1, allerdings lies ich mir mal mehrere Stellen anzeigen. Da fiel mir auf, dass es nicht exakt 0,1 sondern 0,09999999999999960000 sind.
Was läuft das schief? Denn die Werte 13,6 und 13,5 sind exakt auch bei der weit mehr als 16. Stelle.

Gruß
Furtwowe
 
Zuletzt bearbeitet:
=wenn(F1-G1<=0,1;"G";"R")

hmm... lustig!
Da kommt immer wieder R raus... auch ohne das Gleichzeichen!
 
Wo kommen denn diese beiden Werte her? Gibst Du die "persönlich" ein?
 
Zunächst habe ich mir die von anderen Zellen geholt. Dieses Problem hatte ich zunächst auch vermutet, dass es vielleicht an Zahl an sich liegt. Aber hab dann ein ganz neues Excel geöffnet und sperat die Zahlen eingeben. Auch mal als Formatierung "number" und einer Stelle. Es brachte alles nichts.

Gruß
 
Krass, habs gerade mal nachgebaut.....habe den selben "Fehler"

Gebe ich alledings 0.1 direkt ein kommt das richtige Ergebnis raus.
 
Man kann es umgehen indem du schreibst (F1*1000-G1*1000)/1000 das ergibt dann die richtigen 0.1
 
Das Problem ist einfach wie Gleitkommazahlen im Rechner umgewandelt werden. Das Problem kann ich in Libreoffice ebenso beobachten.

Bei ganzen zahlen wie 2 (Binär 10) ist die Umrechung eindeutig. Bei Fließkommazahlen jedoch die haben eine bestimmte genauigkeit. Meist 32 oder 64 Bit. Wenn man aber 0,1 in Binär umrechnet reichen z.B diese 32 Stellen nicht aus, weil Binär 0,1 eine unendliche Zahl mit Periode ist. Siehe auch http://www.h-schmidt.net/FloatConverter/IEEE754de.html

Daher kommt es bei der Rückumwandlung ins Dezimale zu Ungenauigkeiten. Dies muss man beachten.
 
Ok, gut zu wissen. Eine dauerhafte Lösung ist das für mich allerdings nicht. Ich muss/sollte mich auf Excel bzw. auf diese Rechnung verlassen können.

@stage: Ok, was tun? Janush´s Variante?

Gruß
 
Moin,

probiere doch einmal verschiedene Varianten so durch:
Code:
=WENN(WERT(TEXT(F1-G1;"0,00"))<0,1;"G";"R")
Die Nachkommastellen kannst/solltest du natürlich anpassen.

Seit Jahrzehnten "predige" ich in Schulungen: "Wenn die Statik einer Brücke mit Excel berechnet worden wäre, würde ich nie darüber fahren."
 
Dann kannst du gleich auf 15 Stellen runden :)
 
Zurück
Oben