Microsoft Excel

Herbers Excel/VBA-Archiv

Stunden zu Datum/Uhrzeitfeld addieren

Betrifft: Stunden zu Datum/Uhrzeitfeld addieren von: Andreas
Geschrieben am: 07.10.2020 10:02:51

Hallo zusammen,

das ist hier mein erster Beitrag, da ich mir nicht mehr weiterhelfen kann.

Und zwar möchte ich eine Stundenanzahl zu einem Datum/Uhrzeit-Feld ("TT.MM.JJJJ hh:mm") dazu addieren, was auch funktioniert.
Mein Problem ist jetzt, dass das Ergebnis auch so (TT.MM.JJJJ hh:mm) dargestellt werden soll, jedoch unter der Berücksichtigung der Nettoarbeitstage und auch noch, dass der Zeitraum zwischen 22:00 Uhr und 06:00 Uhr nicht berücksichtigt werden darf.

Kann mir hierzu wer helfen?

Betrifft: AW: Stunden zu Datum/Uhrzeitfeld addieren
von: Sigi.21
Geschrieben am: 07.10.2020 10:57:15

Hallo Andreas,

willkommen im Forum!

Das klingt nach Arbeitsablauf, Prozess, Produktion. Richtig? MO-FR, ohne Feiertage (welche)?
Suchst du eine Formellösung oder kann es auch eine VBA-Fkt. sein? Eine Formellösung wird recht lang komplex und unübersichtlich. Bei VBA stellt sich die Frage, ob du sie in der Fa. einsetzen darfst. In vielen Firmen ist VBA ja gesperrt.

Sigi

Betrifft: AW: Stunden zu Datum/Uhrzeitfeld addieren
von: Andreas
Geschrieben am: 07.10.2020 11:07:07

Hallo Sigi,

ja, das ist richtig. Ist immer von Montag-Freitag, Feiertage eigentlich von Bayern, aber mir würden die deutschlandweiten Feiertage erstmal auch reichen.
Eine Formellösung wäre das Beste. Ich glaub, dass ich derzeit einfach einen Denksperre habe, weil ich ja schon eine Formel habe, bei der ich zwei Datum/Uhrzeit-Felder gegenüberstelle und das Ergebnis als Stundenanzahl bekomme. Aber ich komme einfach nicht dahinter, wie ich dieses Ergebnis zu einem der Felder dazu addiere, um dann zum richtigen Datum/Uhrzeit-Feld Ergebnis zu kommen.
Hier wäre die Formel, die ich bereits habe:

=(NETTOARBEITSTAGE(M3;M4)-1)*("22:00"-"06:00")+WENN(NETTOARBEITSTAGE(M4;M4);MEDIAN(REST(M4;1); "22:00";"06:00");"22:00")-MEDIAN(NETTOARBEITSTAGE(M3;M3)*REST(M3;1);"22:00";"06:00")

Gruß Andreas

Betrifft: AW: Stunden zu Datum/Uhrzeitfeld addieren
von: Sigi.21
Geschrieben am: 07.10.2020 11:39:52

Hallo Andreas,

bei Nettoarbeitstage brauchst du ja das Enddatum bereits. Ich denke, Arbeitstag(!) ist hier der richtige Ansatz.

Du hast ein Startdatum mit Zeit (TT.MM.JJJJ hh:mm). Da soll eine Produktionszeit draufaddiert werden. Da brauchst du die Restzeit des Starttages, die danach anstehenden vollen Arbeitstage (15h) und die Restzeit. die dann noch übrig bleibt für den letzten Tag. (Eine ProdDauer kann ja über mehrere Tage laufen!)

Ich mach mir Gedanken, aber wie gesagt, mit Formeln wird's komplex.

Sigi

Betrifft: AW: Stunden zu Datum/Uhrzeitfeld addieren
von: Sigi.21
Geschrieben am: 07.10.2020 13:38:30

Hallo Andreas,

in D8: Start
in E8: Dauer
in E3: tgl. ProdVon
in E4; tgl. ProdBis
in I3:I17: FreieTage

dann:
=WENN((WENN((WENN(E8-($E$4-(D8-GANZZAHL(D8)))>0;E8-($E$4-(D8-GANZZAHL(D8)));0))>0;
GANZZAHL((E8-($E$4-(D8-GANZZAHL(D8))))/($E$4-$E$3))+1;0))>0;(ARBEITSTAG(GANZZAHL(D8);
(WENN((WENN(E8-($E$4-(D8-GANZZAHL(D8)))>0;E8-($E$4-(D8-GANZZAHL(D8)));0))>0;
GANZZAHL((E8-($E$4-(D8-GANZZAHL(D8))))/($E$4-$E$3))+1;0));$I$3:$I$17))+
(WENN((WENN((WENN(E8-($E$4-(D8-GANZZAHL(D8)))>0;E8-($E$4-(D8-GANZZAHL(D8)));0))>0;
GANZZAHL((E8-($E$4-(D8-GANZZAHL(D8))))/($E$4-$E$3))+1;0))>0;(WENN(E8-
($E$4-(D8-GANZZAHL(D8)))>0;E8-($E$4-(D8-GANZZAHL(D8)));0))-(($E$4-$E$3)*
((WENN((WENN(E8-($E$4-(D8-GANZZAHL(D8)))>0;E8-($E$4-(D8-GANZZAHL(D8)));0))>0;
GANZZAHL((E8-($E$4-(D8-GANZZAHL(D8))))/($E$4-$E$3))+1;0))-1));0))+$E$3;D8+E8)

Sigi

Betrifft: AW: Stunden zu Datum/Uhrzeitfeld addieren
von: Andreas
Geschrieben am: 12.10.2020 07:04:57

Super, vielen Dank. Hat wunderbar geklappt :)