Falsche Summe: Nachkommastellen

Hallo zusammen,

meine Kollegen und ich wissen nicht mehr weiter: wir haben eine Liste mit Zahlen in einer Textdatei, wobei alle Zahlen genau 2 Nachkommastellen haben. Daran besteht auch kein Zweifel, da sie im Textformat vorliegen.
Wenn wir diese Liste von Zahlen in Excel importieren und eine Summe darüber bilden, so haben wir dort auf einmal 10 Nachkommastellen (z.B. x,999999999900000). Das ist ja nun rein logisch gar nicht möglich. Wir haben schon alles versucht (Format ändern, Wert, Text, etc.), aber das Ergebnis ändert sich nicht. Interessant ist auch, dass der Fehler erst ab mindestens 124 summierten Zahlen auftritt (egal welche Zahlen).

Der Fehler tritt nicht nur bei Excel auf, sondern auch bei Access und Cognos TM1. Es muss irgendwas mit dem Importieren der Zahlen zu tun haben, denn wenn man sie von Hand eintippt, klappt alles.

Hat jemand eine Idee, was das sein kann? Oder ist es vielleicht sogar ein Windows Problem (XP)? Oder liegt es an der Hardware (wobei der Fehler auch an verschiedenen Rechnern auftritt)?

VG, Kitty

Grüezi Kitty

meine Kollegen und ich wissen nicht mehr weiter: wir haben
eine Liste mit Zahlen in einer Textdatei, wobei alle Zahlen
genau 2 Nachkommastellen haben. Daran besteht auch kein
Zweifel, da sie im Textformat vorliegen.
Wenn wir diese Liste von Zahlen in Excel importieren und eine
Summe darüber bilden, so haben wir dort auf einmal 10
Nachkommastellen (z.B. x,999999999900000). Das ist ja nun rein
logisch gar nicht möglich. Wir haben schon alles versucht
(Format ändern, Wert, Text, etc.), aber das Ergebnis ändert
sich nicht. Interessant ist auch, dass der Fehler erst ab
mindestens 124 summierten Zahlen auftritt (egal welche
Zahlen).

Der Fehler tritt nicht nur bei Excel auf, sondern auch bei
Access und Cognos TM1. Es muss irgendwas mit dem Importieren
der Zahlen zu tun haben, denn wenn man sie von Hand eintippt,
klappt alles.

Hat jemand eine Idee, was das sein kann? Oder ist es
vielleicht sogar ein Windows Problem (XP)? Oder liegt es an
der Hardware (wobei der Fehler auch an verschiedenen Rechnern
auftritt)?

Ich denke, dass da zwei Probleme vorliegen:

Einerseits ein Format-Problem, denn Excel ist bei textformatierten Zahlenwerten immer etwas störrisch wenn es um das Umformatieren in Zahlen geht. Die folgenden Schritte helfen dabei aber zuverlässig:

  • Spalte markieren
  • Format ‚Standard‘ oder ‚Zahl‘ vergeben (auch wenn das schon so sein sollte)
  • Spalte weiterhin markiert lassen
  • Menü: ‚Daten‘
  • Text in Spalten
  • Fertig stellen

Das zweite Problem betrifft die Gleitkomma-Berechnung und ist daher nicht nur Excel-Eigen - hier ein paar ‚nahrhafte‘ Links zu diesem Thema:

http://de.wikipedia.org/wiki/Gleitkommazahl
http://de.wikipedia.org/wiki/IEEE_754

http://support.microsoft.com/kb/78113/de
http://support.microsoft.com/default.aspx?scid=kb;de…
http://support.microsoft.com/?id=196652


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Thomas,

danke für die Antwort! Dein erster Tip hat mir schonmal nicht geholfen, das hat nichts geändert. Ich lese mir jetzt mal die Links durch, vielleicht ist das zielführend!

VG, Katja

Grüezi Katjy

danke für die Antwort! Dein erster Tip hat mir schonmal nicht
geholfen, das hat nichts geändert.

Das war auch eher allgemein gedacht gewesen auf deine Aussage:

Wir haben schon alles versucht (Format ändern, Wert, Text, etc.),

Ich lese mir jetzt mal die
Links durch, vielleicht ist das zielführend!

Das bestimmt, auch wenn es dir nicht so direkt zusagen dürfte…

Kannst du vielleicht ein paar Beispiele von Werten liefern, die das geschilderte Verhalten zeigen (resp. mit denen dieses festgestellt werden kann)?
Dann könnten wir über konkrete Unterstützung nachdenken und euch unterstützen.


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Kitty.

Wenn wir diese Liste von Zahlen in Excel importieren und eine
Summe darüber bilden, so haben wir dort auf einmal 10
Nachkommastellen (z.B. x,999999999900000).

Es ist schon etwas länger her, da hatte ich auch mal ein solches Problem. Ich bin mir nicht mehr 100%ig sicher, aber ich glaube, ich hatte das so gelöst:

(Wichtig: Es muß bereits beim Einlesen der Text-Datei passieren)

[Ziel] = FormatNumber(CDbl(EingelesenerWert), 2, vbUseDefault, vbUseDefault, vbUseDefault) * 1

Vielleicht hilft das ja weiter.

VG
Carsten