Hallo Thomas, vielen Dank für die schnelle Antwort - ja, Problematik verstanden. Ich werde Deinen Lösungsansatz 'mal probieren.
Grüße Uli ----- Original Message ----- From: "Thomas Krumbein" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Wednesday, January 11, 2006 9:56 AM Subject: Re: [de-users] Calc - DBSUM: Fehlerhafte Zeitauswertung für Daten unter 1 Stunde und nach 12:00 > Hey Uli, > > U. Schütze schrieb: > > Hallo Liste, > > > > hier ein interessantes Problem: > > > > Ich nutze SuSE 10.0 und OpenOffice. Unter Calc habe ich eine Tabelle mit > > Zeitwerten erstellt, die ich über DBSUM auswerte. Hier ein Beispiel: > > > > Uhrzeit Von Uhrzeit Bis Dauer (wird durch "Bis - Von" berechnet) > > 08:00 09:00 1:00 > > 13:20 13:40 0:20 > >[..] > > Interessanterweise tritt der Fehler für Werte kleiner einer Stunde mit > > Uhrzeiten größer 12:00 Uhr auf. Versuche durch Änderung der Standardwerte > > für "Lokale Settings" führten zu keinem Erfolg. Auch die Aktivierung von > > "Genauigkeit wie angezeigt" half nicht weiter. > > > > Wo liegt mein Denkfehler, bzw. wie kann ich mein Problem lösen? > > Tia, da hast du keinen Denkfehler, sondern bist an die Grenzen eines > Kalkulationsprogrammes gestossen. Stichpunkt: Rechenungenauigkeit von > Computern. > Zeiten werden intern als Dezimalzahlen (nachkommastellen) gespeichert > und verrechnet. 12 Stunden entspricht 0,5 und so weiter. > > Wenn du jetzt eine Uhrzeit von einer anderen abziehst, so werden diese > Zahlen subtrahiert - mit allen Problemen bei Bruchzahlen. > So ergibt sich zum Beispiel bei 10:40 - 10:20 als Ergebnis: > 0,013888888888888900, wenn du aber 14:30 - 14:10 rechnest: > 0,013888888888889000, weil die ursprngliche Zahl größer war. > > Die Zahlen sind nicht identisch! Wenn du jetzt über DBSumme die > Kriterien vergleichst, werden exakte Werte verglichen, und 0:20 ergibt - > du ahnst es - : 0,013888888888888900 - es werden also "nur" diese Werte > berechnet. > > Wie löst du das? nun ja, da gibt es schon Möglichkeiten - je nachdem, > was du so brauchst. Die berechneten Spalten beispielsweise: > Da könntest du den "langen" Weg nehmen: > = Zeitwert(stunde(b5-a5); minute(b5-a5); sekunde(b5-a5)) > Durch die Einzelberechnungen und Umwandlungen und damit bedingte > Rundungen hast du jetzt einheitliche Zahlenwerte - und deine Formel > DBSUMME() funktioniert. > Es gibt sicher noch andere Möglichkeiten, aber ich hoffe, die > Problematik ist klar? > > Gruss > Thomas > > > > -- > ## Marketing deutschsprachiges Projekt > ## http://de.openoffice.org - www.openoffice.org > ## Vorstand OpenOffice.org Deutschland e.V. > ## Mitglieder willkommen: www.OOoDeV.org > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
