Excel rundet 0,01 auf 0,0100000000000051
#1
Guten Abend,

versuche gerade, eine CSV-Datei in ein brauchbares Format zu bekommen. Bisher hat das auch geklappt, im Reiter "CL" stoße ich in Spalten H und I jetzt aber auf ein Problem. Spalte I soll "1" auswerfen, wenn eine Bewegung mehr als 1 Cent nach oben ging und "-1", wenn es mehr als 1 Cent nach unten ging; und "0", wenn die Bewegung 1 Cent und darunter war. Das klappt auch, nur nicht bei den Werten die exakt 0,01 sind. Bzw. manchmal klappt es, z.B. in Zeile 24. Meistens jedoch nicht, z.B. in Zeilen 12 und 55. Da wird "1" bzw. "-1" ausgeworfen, obwohl der Wert in Spalte H 0,01 ist.

Weil der Wert in H12 nämlich eigentlich -0,0100000000000051 ist. Bloß: Wie kommt Excel darauf? Errechnet wird der Wert nämlich aus 76,46000000000000000000000000000000 -  76,47000000000000000000000000000000.

Und: Wie bekomme ich Excel dazu, diese einfache Substraktion richtig zu machen?
Antworten Top
#2
=RUNDEN(A1;10)

Gleitkommaproblematik lesen
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
[-] Folgende(r) 1 Nutzer sagt Danke an LCohen für diesen Beitrag:
  • Aranyaka
Antworten Top
#3
(18.03.2024, 23:28)LCohen schrieb: =RUNDEN(A1;10)

Gleitkommaproblematik lesen

Werde ich machen, danke. Gleitkommaproblematik war mir bisher kein Begriff.
Antworten Top
#4
Hallo A...,

die Zahl 10 kann für größere  Werte zu groß  sein.


Angehängte Dateien
.xlsx   Gleitkomma.xlsx (Größe: 9,86 KB / Downloads: 2)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste