Hallo zusammen,
ich habe mir eine Abfrage zusammengeschrieben, die soweit auch erstmal funzt. Jedoch ist der Code ziemlich lang, und ich denke da ist noch potenziel.
Beim durchlaufen einer For - Next Schleife würde ich gern durch eine Formel folgende Zähler umsetzen
Durchlauf von $i von 1 bis 120,
dann als Zweiten Zähler immer 1 bis 4
und als dritten Zähler nach jeder 4 Gruppe eins weiter
Fürs Verständnis eine kleines Zahlenbeispiel
1 | 1 | 2
2 | 2 | 2
3 | 3 | 2
4 | 4 | 2
5 | 1 | 3
6 | 2 | 3
7 | 3 | 3
8 | 4 | 3
9 | 1 | 4
10 | 2 | 4
11 | 3 | 4
12 | 4 | 4
13 | 1 | 5
14 | 2 | 5
15 | 3 | 5
16 | 4 | 5
so sieht der Code bis jetzt aus
Spoiler anzeigen
;Uebertragen der Daten
For $i = 0 To UBound($aArray) - 1
;~ ConsoleWrite(@ScriptLineNumber & '$i = ' & $i & @LF)
If $aArray[$i][0] <> '' And StringRegExpReplace($aArray[$i][0], '\H+, \H+', '') = '' Then
;Mitarbeiter uebertragen
_ArrayAdd($aDaten, $aArray[$i][0])
;erste Tag
;erste Schicht uebertragen
$aDaten[UBound($aDaten) - 1][1] = $aArray[$i][2]
;zweite Schicht uebertragen
$aDaten[UBound($aDaten) - 1][2] = $aArray[$i+1][2]
;dritte Schicht uebertragen
$aDaten[UBound($aDaten) - 1][3] = $aArray[$i+2][2]
;vierte Schicht uebertragen
$aDaten[UBound($aDaten) - 1][4] = $aArray[$i+3][2]
;zweite Tag
;erste Schicht uebertragen
$aDaten[UBound($aDaten) - 1][5] = $aArray[$i][3]
;zweite Schicht uebertragen
$aDaten[UBound($aDaten) - 1][6] = $aArray[$i+1][3]
;dritte Schicht uebertragen
$aDaten[UBound($aDaten) - 1][7] = $aArray[$i+2][3]
;vierte Schicht uebertragen
$aDaten[UBound($aDaten) - 1][8] = $aArray[$i+3][3]
;dritte Tag
;erste Schicht uebertragen
$aDaten[UBound($aDaten) - 1][9] = $aArray[$i][4]
;zweite Schicht uebertragen
$aDaten[UBound($aDaten) - 1][10] = $aArray[$i+1][4]
;dritte Schicht uebertragen
$aDaten[UBound($aDaten) - 1][11] = $aArray[$i+2][4]
;vierte Schicht uebertragen
$aDaten[UBound($aDaten) - 1][12] = $aArray[$i+3][4]
;vierte Tag
;erste Schicht uebertragen
$aDaten[UBound($aDaten) - 1][13] = $aArray[$i][5]
;zweite Schicht uebertragen
$aDaten[UBound($aDaten) - 1][14] = $aArray[$i+1][5]
;dritte Schicht uebertragen
$aDaten[UBound($aDaten) - 1][15] = $aArray[$i+2][5]
;vierte Schicht uebertragen
$aDaten[UBound($aDaten) - 1][16] = $aArray[$i+3][5]
EndIf
Next
_ArrayDisplay($aDaten)
Alles anzeigen
ich hatte zwar schon mal eine entsprechende Formel hier im Forum gesehen, kann sie leider aber nicht mehr finden und das beim selbst zusammenbauen bin ich bis jetzt leider kläglich gescheitert.
Wie kann man eine solche Anforderung am besten umsetzen?
Für Denkanstöße wäre ich sehr dankbar.
Viele Grüße Jens