Anzeige
Archiv - Navigation
384to388
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
384to388
384to388
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Sonntagsstunden

Sonntagsstunden
19.02.2004 08:53:54
Monique
Bei den Monats-Stundenzetteln schreibe ich Tag für Tag in eine Spalte die Anfangszeit z.B. 18:30 in die nächste Spalte die Endzeit z.B. 03:00, formatiert als Uhrzeit.
ein Beispiel:
Datum Tag Sonst. Anfangszeit Endzeit Std. Nachtstd. Sonntagsstd. Feiertagsstd.
15.02.Samstag Feiertag 18:30 03:00 8,5 7,0 3,0 5,5
Die Tage greifen also mitunter ineinander, durch Endzeiten, die im nächsten Tag sind.
Also ist es schwer, die Sonn- und Feiertagsstunden zu berechnen.
Nachtstunden sind von 20-6 Uhr, die Formel sollte auch mit Arbeitszeit 18:30-22:30 zurechtkommen, aber auch mit Endzeiten im nächsten Tag, zB 18:00-03:30.
Ist sowas irgendwie möglich?
Denn im Moment rechne ich alles von Hand, aber da wir bald 50 Mitarbeiter statt 15 sind (und das war schon anstrengend!) ist es für mich nicht mehr machbar, das von Hand zu rechnen. Außerdem ist die Fehlerquelle sehr hoch!
Am Wichtigsten ist mir die Formel für die Sonntagsstunden!

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sonntagsstunden
19.02.2004 09:06:39
Matthias G
Hallo Monique,
folgende Funktion hab ich mal erstellt. Siue heißt ZeitIn(Beginn; Ende; Zeit1; Zeit2)
Beginn und Ende sind Start und Ende der Arbeitszeit.
Zeit1 und Zeit2 sind der Zeitintervall der Zuschläge.
Beispiel:
die Formel =ZeitIn("19:45";"6:30";"20:00";"6:00") ergibt 10:00 Std.
hier die Funktion:
' Beginn, Ende: Zeitraum
' Z1, Z2: überschneidung mit diesem Zeitraum

Function ZeitIn(Beginn As Date, Ende As Date, Z1 As Date, Z2 As Date) As Date
' Über Nacht: Ende +24 Std.
If Z2 < Z1 Then Z2 = Z2 + 1
If Ende < Beginn Then Ende = Ende + 1
If Beginn <= Z1 Then
If Ende <= Z1 Then ZeitIn = 0
If Ende > Z1 And Ende <= Z2 Then ZeitIn = Ende - Z1
If Ende > Z2 Then ZeitIn = Z2 - Z1
ElseIf Beginn > Z1 And Beginn <= Z2 Then
If Ende <= Z2 Then ZeitIn = Ende - Beginn
If Ende > Z2 Then ZeitIn = Z2 - Beginn
ElseIf Beginn > Z2 Then
ZeitIn = 0
End If
End Function

Du musst den Code in ein normales Modul der Arbeitsmappe stellen.
Viele Grüße,
Matthias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige