Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Problem beim Rechnen mit Zeiten

Forumthread: Problem beim Rechnen mit Zeiten

Problem beim Rechnen mit Zeiten
14.08.2002 15:49:02
Ulrich
Hallo,

ich habe ein Problem mit dem Rechnen mit Zeiten.
Ich muß für Statistiken auch mit negativen Zeiten arbeiten.
Dazu habe ich alle "normal" eingegebenen Zeiten in dezimale umgerechnet ( / 24 ).
Mit einem VB Programm errechner ich anschließend wieder korrekt angezeigte Zeiten. Vorteil: Diese können auch negativ sein.

Problem:
Das Programm rechnet bei bestimmten Zeiten (immer wenn das Ergebnis ca. 1:00h ist) falsch. Ich vermute Rundungsdiferenzen als Fehler, komme der Lösung aber nicht näher.

Beispiel:
Start: 07:00
Ende: 08:00
Differenz: 01:00
als Zahl dargestellt: 0,04166666666666660
Zahl / 24: 0,00173611111111111
richtiges Ergebnis: 01:00
Ergebnis meiner Func.: 00:00

Dies passiert aber wie gesagt nicht bei alle Zeiten.

Hier der Code:
Function DezZeit(StdZelle As Range)
StdDec = CDec(StdZelle.Value)
Stunden = Fix(StdDec * 24 * 24)
If (StdDec * 24) <> 0 Then
If (StdDec * 24) < 0 Then
DezZeit = "-" & Str(Abs(Stunden)) & ":" & Format$((StdDec * 24) * -1, "nn")
Else
DezZeit = Str(Stunden) & ":" & Format$((StdDec * 24), "nn")
End If
Else
DezZeit = ""
End If
End Function

Sieht jemand den Fehler ?
Viele GRüße
Ulrich





Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Problem beim Rechnen mit Zeiten
15.08.2002 00:59:54
Charlie
Hallo, Ulrich!

Ja, die Abweichung liegt offensichtlich an einem Rundungsproblem. Dass sich Excel und VBA bei Berechnungen über das Ergebnis nicht immer einig sind, ist bekannt.

Wenn die Differenz genau 1 Stunde beträgt, rechnet Excel mit 1, VBA aber mit 0,9999...und noch viele 9er dazu. Verursacht wird das Problem nun dadurch, dass Du die Stundenzahl mit
Fix(StdDec*24*24) berechnest und bei 0,999...usw. ergibt Fix nun eben 0.

Du kannst Dein Problem aber ganz einfach lösen, indem Du statt Fix(StdDec*24*24) Round(StdDec*24*24, 0) verwendest.

Altvernative1:

Alternative 2 (Formel):
=ABRUNDEN((E2-E1)*24;0)*100+RUNDEN(((E2-E1)*24-ABRUNDEN((E2-E1)*24;0))*60;0)
Die Formelzelle muss mit dem benutzerdefinierten Zahlenformat ?0":"00 belegt sein. Es werden mit der Formel die Stunden in 100er umgerechnet und die Minuten dazugezählt. Die Formatierung bewirkt eine Anzeige als Uhrzeit. Wenn Du weitere Berechnungen nach dem gleichen Schema machst, kannst Du auch mit "negativen" Uhrzeiten rechnen.

Viel Erfolg,
Charlie

Anzeige
Re: Problem beim Rechnen mit Zeiten
15.08.2002 07:42:47
Ulrich
Vielen Dank für Deine Mühe !
Es funktioniert gut !
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige