Anzeige
Archiv - Navigation
1352to1356
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
Inhaltsverzeichnis

Stundenberechnung komplexerer Art

Stundenberechnung komplexerer Art
01.04.2014 22:07:59
Christian
Hallo Leute,
nach tagelangen Suchen und Probieren stehe ich kurz vorm Verzweifeln!
Die Herausforderung ist: gewissen Prozessen ist eine bestimmte Arbeitsdauer vorgegeben, es steht ein Anfangsdatum fest und muss nun ein Enddatum ausgerechnet werden.
Problem: ich bekomme das nicht positionsübergreifend hin, das heisst der Startzeitpunkt der 2. Pos. ist der Endpunkt der ersten Pos. usw.
Erklärung dazu ist nochmal in der Beispielmappe, die eigentlich auch dem Org. entspricht.
Falls noch Informationen gebraucht werden, bitte nachfragen, es kann sein das ich schon zu lange über dem Problem sitze und nichts mehr mitbekomme;-)
Die Lösung kann auch ein Makro sein, nur kenne ich mich da überhaupt nicht aus, und in der Originalmappe sind auch schon ein paar Makros (fast alle von hier), weiss nicht ob die sich dann alle vertragen ;-)
https://www.herber.de/bbs/user/89951.xls
Im Voraus besten Dank für eure Hilfe, fall dass alles zu kompliziert sein sollte, dann auch bitte Bescheid sagen.
MfG Christian

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Stundenberechnung komplexerer Art
02.04.2014 22:12:37
Christian
Hallo Leute,
mittlerweile bin ich einen kleinen Schritt weitergekommen, es taucht nur noch ein Fehler in der Zelle U19 auf, da rechnet er nicht mit den noch verfügbaren Reststunden, sondern fängt bei 07:00 Uhr an.
Wo liegt da mein Denkfehler, bzw. kann man die Formeln noch eleganter lösen?
 LMOPSTUVWX
1     07:0007:0007:0007:0007:00
2     09:3009:3009:3009:3009:30
3     10:0010:0010:0010:0010:00
4      12:3012:3012:3012:30
5      13:0013:0013:0013:00
6     04.04.2014 07:0007.04.2014 07:0008.04.2014 07:0009.04.2014 07:0010.04.2014 07:00
7   0 04.04.2014 13:0007.04.2014 16:0008.04.2014 16:0009.04.2014 16:0010.04.2014 16:00
8     05:3008:0008:0008:0008:00
9     13:0016:0016:0016:0016:00
10     00:3001:0001:0001:0001:00
11          
12          
13          
14          
15     1415151515
16DauerMABeginnEnde Fr    04.04.2014Mo  07.04.2014Di    08.04.2014Mi   09.04.2014Do   10.04.2014
1751Fr   04.04.2014 07:00:00Fr  04.04.2014 12:30:0005:0012:30    
1861Fr   04.04.2014 12:30:00Mo 07.04.2014 13:00:0006:0000:3013:00   
1912Mo  07.04.2014 13:00:00Mo 07.04.2014 07:30:0000:3000:0007:30   
2081Mo  07.04.2014 07:30:00Di  08.04.2014 07:30:0008:0000:0007:3007:30  
2141Di   08.04.2014 07:30:00Di  08.04.2014 11:30:0004:0000:0000:0011:30  
22281Di   08.04.2014 11:30:00Mo 14.04.2014 10:00:0028:0000:0000:0004:0008:0008:00
23171Mo  14.04.2014 10:00:00Mi  16.04.2014 11:00:0017:0000:0000:0000:0000:0000:00

Formeln der Tabelle
ZelleFormel
T17=WENN(S17="";"";WENN(zw_1>T$9;T$8;zw_1))
U17=WENN(T17="";"";WENN(ISTNV(zw_2); "";WENN(zw_2>U$9;U$8;zw_2)))
T18=WENN(S18="";"";WENN(T7<$O18;0;WENN(UND(T17<>"";U17="";T17+$S18<T$9); zw_3;T9+$S18-(zw_3))))
U18=WENN(ODER(T18="";SUMME($T18:T18)>$S18); "";WENN(ODER(UND(U17<>"";V17<>""); UND(U17<>"";V17="";U$9=U17)); 0;WENN(UND(U17<>"";V17="";T18=0;U17<U$9;zw_4>U$9); U$9+$S18-zw_4;WENN(UND(U17="";T18<>0;SUMME($T18:T18)<$S18;zw_5>U$9); U$8;WENN(zw_5>U$9;U$8;zw_5)))))
Namen in Formeln
ZelleNameBezieht sich auf
T17zw_1=std!T$1+std!$S17+SUMME(INDEX(std!$H$1:$H$5;VERGLEICH(std!T$1;std!T$1:T$5;1)):INDEX(std!$H$1:$H$5;VERGLEICH(std!T$1+std!$S17;std!T$1:T$5;1)))
U17zw_2=std!U$1+(std!$S17-SUMME(std!$T17:T17))+SUMME(INDEX(std!$H$1:$H$5;VERGLEICH(std!U$1;std!U$1:U$5;1)):INDEX(std!$H$1:$H$5;VERGLEICH(std!U$1+(std!$S17-SUMME(std!$T17:T17));std!U$1:U$5;1)))
T18l_zt=VERWEIS(2;1/(std!$T17:$IV17<>"");std!$T17:$IV17)
T18zw_3=l_zt+std!$S18+SUMME(INDEX(std!$H$1:$H$5;VERGLEICH(l_zt;std!T$1:T$5;1)):INDEX(std!$H$1:$H$5;VERGLEICH(l_zt+std!S18;std!T$1:T$5;1)))
U18l_zt=VERWEIS(2;1/(std!$T17:$IV17<>"");std!$T17:$IV17)
U18su_1=SUMME(std!$T18:T18)
U18zw_4=l_zt+(std!$S18-SUMME(std!$T18:T18))+SUMME(INDEX(std!$H$1:$H$5;VERGLEICH(l_zt;std!U$1:U$5;1)):INDEX(std!$H$1:$H$5;VERGLEICH(l_zt+(std!$S18-SUMME(std!$T18:T18));std!U$1:U$5;1)))
U18zw_5=std!U$1+(std!$S18-su_1)+SUMME(INDEX(std!$H$1:$H$5;VERGLEICH(std!U$1;std!U$1:U$5;1)):INDEX(std!$H$1:$H$5;VERGLEICH(std!U$1+(std!$S18-SUMME(std!$T18:T18));std!U$1:U$5;1)))
Namen verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
MfG Christian

Anzeige
der Fehler wäre einfach zu beheben ...
03.04.2014 15:49:13
der
Hallo Christian,
... ohne es mir jetzt näher betrachtet zu haben, aber den Fehler in U19 kannst Du doch einfach vermeiden, wenn Du stets abprüfst, ob die Endzeit auch größer als die Beginnzeit ist.
Gruß Werner
.. , - ...

AW: der Fehler wäre einfach zu beheben ...
03.04.2014 18:33:08
Christian
Hallo Werner,
genau da ist, bzw. lag das Problem, bei jedem Erweitern der Formel in U18 ist mir Excel abgestürzt, lag wohl an den Namen und Verschachtelungstiefe und an dem was 80 cm vor dem Bildschirm sitzt...:-(
Jetzt habe ich mir mit 2 Hilfsspalten zusätzlich noch geholfen und es läuft wie gewünscht, das war aber auch ne harte Nuss...
 LMNOPQRSTUVW
1        ########
2        ########
3        ########
4         ######
5         ######
6        ########
7        ########
8        ########
9        ########
10        ########
11            
12            
13        ##   
14        14151515
15   Arbeitswoche von Mo. - Fr. mit kurzem Fr.    1415  
16Dauer in StundenAnzahl MAAnz. MA tatsBeginnEndeStartzeitverfügbare ZeitDauer ges. m. MAFr         04.04.2014Mo        07.04.2014Di         08.04.2014Mi         09.04.2014
17142 Fr     04.04.2014 07:00Mo    07.04.2014 08:3007:00 07:00####  
1812,571 Mo    07.04.2014 08:30Di     08.04.2014 14:0408:3006:3012:34###### 
1914,473 Di     08.04.2014 14:04Mi     09.04.2014 10:2314:0401:5504:49########
201,871 Mi     09.04.2014 10:23Mi     09.04.2014 12:1510:2305:0601:52########

Formeln der Tabelle
ZelleFormel
O17=B6+E2
P17=WENN(L17="";"";INDEX($T$16:$IS$16;VERWEIS(2;1/(T17:IS17<>""); SPALTE(A:IA)))+VERWEIS(2;1/(T17:IS17<>""); T17:IS17))
Q17=WENN(L17="";"";REST(O17;1))
S17=WENN(L17="";"";L17/M17/24)
T17=WENN(S17="";"";WENN(zw_1>T$9;T$8;zw_1))
U17=WENN(T17="";"";WENN(ISTNV(zw_2); "";WENN(zw_2>U$9;U$8;zw_2)))
O18=WENN(L18="";"";WENN(ZÄHLENWENN($T$7:$IV$7;P17); INDEX($T$6:$IV$6;VERGLEICH(P17;$T$7:$IV$7;0)+1); P17))
P18=WENN(L18="";"";INDEX($T$16:$IS$16;VERWEIS(2;1/(T18:IS18<>""); SPALTE(A:IA)))+VERWEIS(2;1/(T18:IS18<>""); T18:IS18))
Q18=WENN(L18="";"";REST(O18;1))
R18=WENN(L18="";"";st_e-REST(O18;1)-MAX(0;MIN(st_e+0;e_ps1+0)-MAX(REST(O18;1); a_ps1))-MAX(0;MIN(st_e+0;SUMME(e_ps2)+0)-MAX(REST(O18;1); SUMME(a_ps2); e_ps1)))
S18=WENN(L18="";"";L18/M18/24)
T18=WENN(S18="";"";WENN(T$7<$O18;0;WENN(UND(T17<>"";U17="";T17+$S18<=T$9); zw_3;T$9+$S18-(zw_3))))
U18=WENN(ODER(T18="";su_1>$S18); "";WENN(ODER(UND(U17<>"";V17<>""); UND(U17<>"";V17="";U$9=U17)); 0;WENN(UND(T18=0;U17="";$S18<=$R18); zw_5;WENN(UND(U17<>"";V17="";$S18<=$R18); zw_4;WENN(UND(U17<>"";V17="";U17<U$9;$S18>$R18); rest_d1;WENN(zw_5>U$9;U$8;zw_5))))))
Namen in Formeln
ZelleNameBezieht sich auf
T17zw_1=std!T$1+std!$S17+SUMME(INDEX(std!$H$1:$H$5;VERGLEICH(std!T$1;std!T$1:T$5;1)):INDEX(std!$H$1:$H$5;VERGLEICH(std!T$1+std!$S17;std!T$1:T$5;1)))
U17zw_2=std!U$1+(std!$S17-SUMME(std!$T17:T17))+SUMME(INDEX(std!$H$1:$H$5;VERGLEICH(std!U$1;std!U$1:U$5;1)):INDEX(std!$H$1:$H$5;VERGLEICH(std!U$1+(std!$S17-SUMME(std!$T17:T17));std!U$1:U$5;1)))
R18a_ps1=INDEX(std!$T$2:$IV$2;VERGLEICH(KÜRZEN(std!O18);std!$T$16:$IS$16;0))
R18a_ps2=INDEX(std!$T$4:$IV$4;VERGLEICH(KÜRZEN(std!O18);std!$T$16:$IS$16;0))
R18e_ps1=INDEX(std!$T$3:$IV$3;VERGLEICH(KÜRZEN(std!O18);std!$T$16:$IS$16;0))
R18e_ps2=INDEX(std!$T$5:$IV$5;VERGLEICH(KÜRZEN(std!O18);std!$T$16:$IS$16;0))
R18st_e=INDEX(std!$T$9:$IV$9;VERGLEICH(KÜRZEN(std!O18);std!$T$16:$IS$16;0))
T18l_zt=VERWEIS(2;1/(std!$T17:$IV17<>"");std!$T17:$IV17)
T18zw_3=l_zt+std!$S18+SUMME(INDEX(std!$H$1:$H$5;VERGLEICH(l_zt;std!T$1:T$5;1)):INDEX(std!$H$1:$H$5;VERGLEICH(l_zt+std!S18;std!T$1:T$5;1)))
U18l_zt=VERWEIS(2;1/(std!$T17:$IV17<>"");std!$T17:$IV17)
U18rest_d1=std!U$9-std!U17-MAX(0;MIN(std!U$9+0;std!U$3+0)-MAX(std!U17;std!U$2))-MAX(0;MIN(std!U$9+0;SUMME(std!U$5)+0)-MAX(std!U17;SUMME(std!U$4);std!U$3))
U18su_1=SUMME(std!$T18:T18)
U18zw_4=std!$Q18+(std!$S18-SUMME(std!$T18:T18))+SUMME(INDEX(std!$H$1:$H$5;VERGLEICH(l_zt;std!U$1:U$5;1)):INDEX(std!$H$1:$H$5;VERGLEICH(std!$Q18+(std!$S18-SUMME(std!$T18:T18));std!U$1:U$5;1)))
U18zw_5=std!U$1+(std!$S18-su_1)+SUMME(INDEX(std!$H$1:$H$5;VERGLEICH(std!U$1;std!U$1:U$5;1)):INDEX(std!$H$1:$H$5;VERGLEICH(std!U$1+(std!$S18-SUMME(std!$T18:T18));std!U$1:U$5;1)))
Namen verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
MfG Christian
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige