2016-08-04 6 views
0

Ich brauche Zeit, um einige andere Berechnungen zu machen und die Zeiten sind alle wieder negativ, wenn sie über Nacht arbeiteten. Hier ist meine Formel, die ich verwende, um die geleistete Zeit zu berechnen. (([EndTime]-[StartTime])*24*60) Solange sie ihre Schicht am selben Tag abschließen, funktioniert die Berechnung gut, aber wenn sie von 6 Uhr morgens bis 6 Uhr abends arbeiten, bekomme ich eine Gesamtschaltzeit von -720. Alle meine Berechnungen sind übrigens in Minuten. Kann jemand die negative Zeit richtig zeigen? Vielen Dank!Ich bekomme eine negative Zeit, wenn ich versuche, eine Nachtschicht zu berechnen.

+0

Was sind die Datentypen für 'EndTime' und' StartTime'? – Brad

Antwort

0

Sie können diese Formel verwenden:

Datediff("n", StartTime, EndTime) 

Wo "n" sagt, dass Sie den Unterschied in der Zeit zwischen diesen Terminen als Minuten wollen.

Wenn Sie noch negative Zahlen danach erhalten dann vermute ich Sie nicht das Datum und die Uhrzeit zu speichern zusammen (Sie sollten).

1

Sie diesen Ausdruck verwenden können:

Minutes = (1 + EndTime - StartTime) * 24 * 60 Mod 24 * 60 

Für Ihr Beispiel würde Werte sein:

Minutes = (1 + #6:00# - #18:00#) * 24 * 60 Mod 24 * 60 

Dies ist ein alter Trick basiert auf der Tatsache, dass die Datum Datentyp eine hat "undocumentated window" zwischen den numerischen Werten 0 und -1, ohne sie zu enthalten.

Daher ist die Einschränkung, dass es nur für eine Dauer von weniger als 24 Stunden funktioniert.

+0

Danke Gustav, ich bin immer noch dabei, die Formel zu optimieren. Ich poste es sobald ich es richtig verstanden habe. :) – Flammie

+0

Weiß nicht, was zu zwicken, es kann nicht einfacher sein. – Gustav

Verwandte Themen