Startseite

Schichtfolge berechnen Formellösung

Im Laufe der Zeit haben mich etliche Nachrichten erreicht, denen ich entnehme, dass einige Anwender ein Problem haben, die angebotene VBA- Lösung für den Schichtplaner umzusetzen. Deshalb habe ich mich entschlossen, eine Formellösung vorzustellen, die zwar das gleich Prinzip benutzt, aber, wie ich hoffe besser zu verstehen ist. Als erstes wird wieder ein Tabellenblatt Schichtfolge erstellt. Das kann so aussehen.
 ABC
1DatumKennzahlSchicht 1
2Mo. 01.01.20079F
3Di. 02.01.200710F
4Mi. 03.01.200711F
5Do. 04.01.200712F
6Fr. 05.01.200713F
7Sa. 06.01.200700
8So. 07.01.200710
9Mo. 08.01.20072S
10Di. 09.01.20073S
11Mi. 10.01.20074S
12Do. 11.01.20075S
13Fr. 12.01.20076S
14Sa. 13.01.200770
15So. 14.01.200780

Formeln der Tabelle
ZelleFormel
B2=REST(A2;14)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Betrachten wir zunächst die Spalte B, sie ist das Kernstück der Methode. Die Formel =Rest(A2;14) berechnet aus der seriellen Zahl, die sich hinter dem Datum verbirgt, einen ganzzahligen wert. Bezogen auf den 01.01.2007 sieht die Formel, die sich hinter der Funktion Rest verbirgt, so aus: =39083-14*GANZZAHL(39083/14). Das Ergebnis dieser Berechnung ist 9, wie man auch oben in der Tabelle sehen kann. 39083 ist die serielle Zahl, die für den 1. Januar steht. Der Divisor 14 ergibt sich aus den 14 Tagen, die der Schichtzyklus umfasst.
Mit Hilfe dieser Zahlen wird dem jeweiligen Kalenderdatum das richtige Schichtkürzel zugewiesen. Das funktioniert sozusagen endlos über den gesamten Kalender, auch wenn dort das Kalenderjahr gewechselt wird. Denn egal welches Datum berechnet wird, es kommt immer eine Zahl zwichen 0 und 13 heraus. Wenn die Schichtfolge länger oder kürzer ist, ist es natürlich eine andere Zahlenreihe.
 BCDE
2Januar
301 MoNeujahr  
402 Di FS
503 Mi FS
604 Do FS
705 Fr FS
806 SaHl. 3 Könige   
907 So   
1008 Mo SF
1109 Di SF
1210 Mi SF
1311 Do SF
1412 Fr SF
1513 Sa   
1614 So   

Formeln der Tabelle
ZelleFormel
D4=SVERWEIS(REST(B4;14);'Schichtfolge-neu'!B$2:D$15;2;FALSCH)
E4=SVERWEIS(REST(B4;14);'Schichtfolge-neu'!B$2:D$15;3;FALSCH)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Die Anzeige im Kalender wird mit der Funktion SVerweis realisiert. Der Suchbegriff ist unsere Rest-Funktion, die ich oben schon beschrieben hatte. Sie berechnet im Kalender aus den jeweiligen Datum die Kennzahl, die in der Suchmatrix des SVerweis gesucht, (und natürlich auch gefunden) wird. Daraus ergibt sich das Schichtkürzel, das im Kalender eingetragen wird. Ideal ist die Vorgehensweise, wenn mehrere Schichten im Kalender dargestellt werden sollen, so wie es oben der Fall ist. Es muß in diesem Fall nur die Matrix auf der Seite Schichtfolge erweitert werden. Das Bild unten zeigt die Vorgehensweise.
 ABCD
1DatumKennzahlSchicht 1Schicht 2
2Mo. 01.01.20079FS
3Di. 02.01.200710FS
4Mi. 03.01.200711FS
5Do. 04.01.200712FS
6Fr. 05.01.200713FS
7Sa. 06.01.2007000
8So. 07.01.2007100
9Mo. 08.01.20072SF
10Di. 09.01.20073SF
11Mi. 10.01.20074SF
12Do. 11.01.20075SF
13Fr. 12.01.20076SF
14Sa. 13.01.2007700
15So. 14.01.2007800

Formeln der Tabelle
ZelleFormel
B2=REST(A2;14)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Ein fertiges Beispiel zum herunter Laden gibt es hier:Schichtplaner