14k Aufrufe
Gefragt in Tabellenkalkulation von tomschi Mitglied (879 Punkte)
Halli Hallo!

Kurze Frage:
Bei (großen) Auswertungen mit Hilfe einer Pivottabelle kommt es manchmal dazu, dass zig Nachkommastellen in der Pivottabelle dargestellt werden.

Auszuwerten sind z. B. die Beträge
1.572,36
-1.572,35 --> Soll = 0,01
Laut Pivottabelle ist das Ergebnis jedoch 0,00999999999999091.

Was könnte die Ursache dafür sein?
Kann man in der Pivottabelle eine Funktion "Runden" einstellen?

Anmerkungen:
Die Daten wurden per ODBC-Abfrage aus unserem System "abgesaugt".
Excel 2003/SP 3

Tom

12 Antworten

0 Punkte
Beantwortet von finger59 Experte (1.3k Punkte)
Hi Tom,

soweit ich weiß gibt es sowas in einer Pivottabelle nicht.

Es gibt wohl die Möglichkeit die Bereiche mit einem Zahlenformat zu formatieren - wie es in einer normalen Tabelle auch der Fall ist, aber ich denke (kann leider zur Zeit nicht testen) das sich bei dem Ergebnis die gesamten Nachkommastellen den Ausschlag für weitere Berechnungen benutzt werden und nicht nur die optischen 2 Nachkommastellen.
Markiere die Zahlenbereiche und rechte Maus klicken und aus dem erscheinendem Menü - Werteeinstellungen oder so ähnlich auswählen..
Frage... warum rundest Du nicht in der Originaltabelle bereits die Werte und wählst dann das gerundete Ergebnis als Anzeigefeld aus?

In diesem Sinne... have a nice Day... Gruß Helmut
0 Punkte
Beantwortet von tomschi Mitglied (879 Punkte)
Guten Morgen Helmut!

Danke, dass Du mich bei meinem Problem unterstützt!

Sorry, ich habe kein Menü "Werteinstellungen" gefunden.

Der Wert (--> kein Formelergebnis) in der Originaltabelle ist wie kurz beschrieben z. B. 1.572,36.
Meinst Du, ich solle diesen Wert zusätzlich noch runden?

Ciao

Tom
0 Punkte
Beantwortet von finger59 Experte (1.3k Punkte)
Guten Morgen Tom,

ok.. das mit den Werteinstellungen ist in der 2007-Version. In der 2003 Version findest Du die Formate wie folgt.

Markiere Deine Zahlenwerte - dann rechte Maus im markierten Bereich klicken - daraufhin erscheint ein Menü und nun hast Du zwei Möglichkeiten - entweder über Zellen formatieren oder über Feldeigenschaften (das war das was ich eigentlich gemeint hatte) und nach dessen Auswahl kann man auf der rechten Seite des erscheinendes Fensters den Button Zahlen anklicken und kommt dann auch wieder in den Bereich der Zellenformatierung.

Wenn Du mit den Zahlen nicht weiterrechnest, dann wäre das ja bereits die Lösung, da optisch eine entsprechende Rundung stattfindet.

Meine zweite Anfrage bzgl. der Originaldaten betraf folgendes:
Angenommen Deine Werte, die Du mit 0,0999965 erhältst, stehen in der Spalte C. Frage - warum gehst Du dann nicht her und schreibst in die nächste freie Spalte die Formel =runden(c2;2)
und nimmst dann anschließend diese Ergebnisspalte als Wertebereich mit in die Pivottabelle mit rein? Dann wären die Werte ja von vorneweg eben zweistellig und gerundet.

Der Unterschied zu Teil 1 und Teil 2 ist eben der, dass die Summenbildungen bei Teil 1 alle Nachkommastellen mit berücksichtigen (auch die nicht sichtbaren) und bei Teil 2 werden die bereits gerundeten Ergebnisse als Summe ermittelt.

Der Unterschied wird sicherlich nicht sehr groß sein, aber - da ich nicht die Auswirkungen in Deiner Tabelle kenne, könnte es eben schon entscheident sein.

In diesem Sinne... have a nice Day.... Gruß Helmut
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
hallo,

warum rundest du die Sollstellung oder deine Beträge, die wahrscheinlich zum Teil errechnet wurden nicht auf 2 Stellen, dann hättest du das Problem ziemlich sicher im Griff

Gruß

Helmut
0 Punkte
Beantwortet von tomschi Mitglied (879 Punkte)
Guten Morgen (Helmuts)!

Vielen Dank für den Support.

Die Werte in der Ausgangstabelle sind NICHT errechnet.
Die Formatierung in der Pivottabelle habe ich bereits auf #.##0,00 gestellt. Leider kommt es aber von Zeit zu Zeit vor, dass z. B. in der Ausgangstabelle +10 bzw. -10 steht, dies jedoch in der Pivottabelle anstatt 0,00 als - 0,000818971 summiert wird.

Ich habe unter
www.filefactory.com/file/b52ah0d/n/Pivottabelle_runden.xls
eine Musterdatei abgelegt.
Vielleicht wird so einiges klarer.

Ciao

Tom
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
hallo,

die Formatierung führt nicht zum Runden.

Die Werte in der Ausgangstabelle sind NICHT errechnet.


ist mir nicht ganz verständlich, da ich von einer Errechnung des Solls ausgehe. An der Stelle sollte stehen

=Runden(Betrag 1 - Betrag 2; 2)

und dies würde aus meiner Sicht das Problem lösen

Gruß

Helmut
0 Punkte
Beantwortet von finger59 Experte (1.3k Punkte)
Hi Tom,

ich denke Du kennst auch das Sprichwort - wenn zwei das gleiche tun, dann ist es noch lange nicht dasselbe! ????

Jedenfalls hier trifft es aus einem mir nicht bekannten Grund zu und da liegt dann auch der "Fehler" im Detail.

Nachdem ich Dir bereits schon anders antworten wollte, habe ich mir nochmal einen Part aus Deiner Tabelle rausgezogen und dann mal zu Fuß nachgerechnet und siehe da... ups... was ist das denn?

Die Zahlen der ob_nummer 1016 habe ich mir in ein neues Blatt übertragen - allerdings nicht mit kopieren sondern zu Fuß eingetippt und dann eine Summe davon gebildet. Das Ergebnis hatte mich dann überrascht, da dann nicht mehr -0 rauskam, sondern 6 und das ist ja schon ein Unterschied. Damit ich sicher sein konnte habe ich mir Deine Originalwerte dann mal rüberkopiert und mit meinen erfassten Zahlen verglichen und siehe da - die waren identisch. Soll heißen... Deine Orignialzahlen sind nicht die, die sie sein sollten bzw. können sich aus irgendeinem Grund nicht so verhalten, wie es sich für normale Zahlen gehört und da hilft es auch nicht, die Formatierung auf Zahl zu setzen, da dann das Ergebnis 0 und nicht 6 lautet.

Die Frage, die sich hier stellt, wie Du Deine ODBC-Abfrage so hinkriegst, dass eine dargestellte Zahl auch wirklich der gleiche Wert dafür ist und nicht irgendetwas anderes. Ich denke dann gehören die 1E - Zahlen und somit -0 auch der Vergangenheit an. An Deiner Stelle würde ich jetzt einen neuen Thread speziell auf diese Fragestellung öffnen und somit den wahren Grund Deiner fehlerhaften Zahleninterpretation finden lassen.

Sorry, dass ich Dir an dieser Stelle jetzt nicht mehr weiterhelfen kann, da es nicht ein Pivottabellenproblem ist, sondern ein Dateiformatfehler oder sowas in der Richtung.

In diesem Sinne... have a nice Day und Gruß an die restlichen Österreicher... Helmut
0 Punkte
Beantwortet von tomschi Mitglied (879 Punkte)
Mahlzeit!

Danke für die Tipps!

Dass eine Formatierung nicht dem Runden-Befehl entspricht ist mir klar.
Leider sind die zu summierenden Werte nicht immer korrekt sortiert bzw. gibt es noch verschiedene Kriterien.
Daher habe ich auch die Pivottabelle als "Ergebnis" gewählt.
Somit fällt für mich "=Runden(Betrag 1 - Betrag 2; 2)" flach.

Ich habe auch nochmals die Zahlen aus "1016" heruntergetippt --> bei mir ist die Summe jedoch 0,00.
Witzig ist in diesem Zusammenhang, dass die "ODBC-Daten" ab der dritten Nachkommastellen immer 0 sind.
Woher die Pivottabelle nunmehr die zig Nachkommastellen nimmt ist mir schleierhaft.

Ich habe nunmehr bereits in der ODBC-Abfrage ein Round(Betrag,2) eingebaut, jedoch ohne Erfolg. Auch hiermit werden die Daten in der Pivottabelle falsch dargestellt.

Grüße u. a. nach Deutschland sendet

Tom
0 Punkte
Beantwortet von finger59 Experte (1.3k Punkte)
Hi Tom,

sorry... hatte meine Zahleneingaben kontrolliert und dennoch nicht korrekt... ist leider doch Null als Summe ;-(.

Im Moment fällt mir aber auch keine Lösung für Dein Problem ein.

Habe auch noch mal rumgedoktert und komme zu dieser leider unbefriedigender Lösung, dass es hier auch keine Lösung geben könnte und bei der Pivottabelle es einfach so ist und man dieses überhaupt nur durch die Formatierung halbwegs vernünftig darstellen kann. Falls ich irgendwann mal über eine entsprechende Information stolpern sollte, dann melde ich mich bei Dir.

Sorry... trotzdem... have a nice Day... Gruß Helmut
0 Punkte
Beantwortet von finger59 Experte (1.3k Punkte)
Hi Tom,

hier habe ich mal einen Link gefunden, der zumindest ein wenig Infos zu den Minus-Null-Werten gibt.

excel.tips.net/Pages/T002576_Getting_Rid_of_Negative_Zero_Amounts.html

In diesem Sinne... have a nice Day... Gruß Helmut
...