Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1592to1596
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

Komplexer Schichtplan

Komplexer Schichtplan
04.12.2017 17:40:28
Heinz
Hallo Leute im Forum
Ich tüftle schon seit Tagen an einen Schichtplan herum.Eventuell könnt ihr mir
dazu weiterhelfen:
Folgende Aufgabenstellung. Es geht um einen 12 Personen Plan
Nun sollten Montag + Dienstag alle 12 Personen arbeiten
Mittwoch Donnerstag und Freitag sollten nur 10 Personen arbeiten.
Am Samstag sollten 6 Personen arbeiten.
Es wird auch an Feiertagen gearbeitet, außer Sonntag.
Kann man dieses Model in einen Schichtrythmus erstellen?
Ich bedanke mich für eure Hilfestellung.
Gruß,Heinz

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Mit REST und TEIL
04.12.2017 20:37:36
lupo1
A1: 0
B1[:L1]: =A1+1,5
A2[:L19]: =TEIL("MDFMDSMDFMFSMDFDFS";REST(A$1+ZEILE(A1);18)+1;1)
Jeder Mitarbeiter A:L hat nun seinen eigenen 6-Wochen-Plan für die Tage MiDoFrSa.
In der 7. Woche geht es wieder von vorn los.
MoDi sind nicht zu regeln!
AW: Mit REST und TEIL
04.12.2017 20:54:53
Heinz
Hallo Lupo
Ich denke ich bin jetzt nach unzähligen Stunden,auf der richtigen Spur
Hoffentlich !!!
Userbild
SG, Heinz
Bilder sind hübsch.
04.12.2017 21:00:05
lupo1
Aber uns interessieren Formeln. Keiner weiß, wer Deine Bilder gemalt hat. Besser als Bilder sind Excel-Dateien. Oder eben Formeln, was hier ausreicht, da es nur zwei verschiedene gibt.
Anzeige
zum Verständnis:
04.12.2017 20:57:50
lupo1
1) Woche 1 ist in A2:A4, Woche 2 in A5:A7, usw.
2) Die genannten Wochentage eines solchen Tripels sind NICHT in Reihenfolge! Hier für Woche 1+2:
A2: Do 07.12
A3: Fr 08.12
A4: Mi 06.12
A5: Do 14.12
A6: Sa 16.12
A7: Mi 13.12
verkürzt auf eine Formel
04.12.2017 21:24:55
lupo1
A1[:L18]: =TEIL("MDFMDSMDFMFSMDFDFS";REST(SPALTE(A1)*1,5+ZEILE(A1);18)+1;1)
Woche 1: Zeile 1:3
Woche 6: Zeile 16:18
Woche 7: Zeile 1:3
Pro Woche werden die 3 der 4 Wochentage genannt, die ein MA außerhalb von Mo Di arbeiten muss. Sie sind nicht in Reihenfolge!
AW: verkürzt auf eine Formel
04.12.2017 21:34:09
Heinz
Hallo Lupo
Mit deiner Formel stehe ich im Wald.
Habe die Datei mal hochgeladen.
Gruß, Heinz
https://www.herber.de/bbs/user/118094.xlsx
Anzeige
So ganz passt es noch nicht
05.12.2017 14:12:10
lupo1
aus "MDFMDSMDFMFSMDFDFS" muss noch werden:
"
MDFNETMDFNGTMDFEGT
NEGMDSNEGMFSNEGDFS"
da sonst nicht klar ist, in welche Woche eines Wochenpärchens ein Donnerstag gehört, wenn er nur einmal genannt wird.
AW: So ganz passt es noch nicht
05.12.2017 18:26:59
Heinz
Hallo Lupo
Ich versteh von deiner Formel leider nichts.
Könntest du sie mir bitte in die Datei reinspielen?
Danke
SG, Heinz
Ein wenig Zeit ...
06.12.2017 10:32:34
lupo1
... hatte noch keine rechte Lust, kommt evtl. noch.
Auf jeden Fall ist Deine Zeile 17 verboten und muss gelöscht (nicht: ausgeblendet) werden. Denn es müssen immer horizontal die gleichen Abstände für meine kommende Lösung herrschen.
Nicht hochladen! Ich lösche die Zeile selbst.
Anzeige
So, nun die Lösung
06.12.2017 18:53:14
lupo1
Lösche Zeile 17! Es muss sich von Monat zu Monat alles nach 17 Zeilen wiederholen. Sonst stimmen nämlich die Monatsanschlüsse nicht. Besser ist es eh immer, ein Jahr nebeneinander (oder untereinander) zu rechnen, statt gleich die Klicki-Bunti-Ausgabe zu haben. Aber ich habs für Dich gemacht.
C4:
=--TEIL("011111001111010111110011101101111100110111";REST(INDEX(C:C;
KÜRZEN((ZEILE($A4)-4)/17)*17+2)-1+(ZEILE($A4)-
KÜRZEN((ZEILE($A4)-4)/17)*17)*7;42)+1;1)

kann dann als Formel in die 12*365 Felder kopiert werden. Formatiere sie mit 0;;, damit die Nullen verschwinden.
Anzeige
... mit 3 Nachbemerkungen
06.12.2017 19:35:07
lupo1
1) https://www.herber.de/bbs/user/118094.xlsx
ist die von Dir eingestellte Datei (ich wiederhole es nur). Sie kann so verwendet werden, nachdem Zeile 17 gelöscht wurde (momentan ist sie ausgeblendet).
2) Falls Du
2a) alle Monate nebeneinander statt untereinander hast, also mit dem 1.2. rechts neben dem 31.1. fortfährst, und
2b) den String mit A1: '011111001111010111110011101101111100110111 auslagerst,
verkürzt sich die Formel auf:
C4: =--TEIL($A$1;REST(C$2-1+ZEILE()*7;42)+1;1)
3) Außerdem kannst Du ab 12.2. die Formel bis Jahresende ersetzen (da die Periode von 42 Tagen dann neu beginnt):
AS4: =C4
Anzeige
Lupo du bist Spitze
07.12.2017 18:34:14
Heinz
Hallo Lupo
Recht herzlichen DANK !!
Funktioniert wie geschmiert.
Schönen Gruß, Heinz
AW: ... mit 3 Nachbemerkungen
10.12.2017 13:00:51
Heinz
Hallo Lupo
Deine Formel funktioniert super.
Nur habe ich mit dem 28+29 Februar (Schaltjahr) ein Problem.
Hättest du da auch eine Lösung?
SG, Heinz
Da müsstest Du schon mitteilen, welcher Art ...
10.12.2017 22:59:02
lupo1
... Dein Problem ist. Wie so oft muss ich erst mal mutmaßen:
Du hast Deine Aufteilung gegen meinen Ratschlag beibehalten und Dich nervt nun, dass Du im Februar von Nichtschaltjahren noch den 1.3. daneben erdulden musst, der aber gleichzeitig im März-System auch noch mal auftaucht. Oder Du hast den 29. Tag im Februar weggelassen und fragst Dich im Schaltjahrsfalle nun: Woher nehmen?
Antwort: Meine Formel sorgt immerhin dafür, dass beide 1.3. gleiche Ergebnisse haben. Du könntest die Formel am 29. Tag der Februarleiste mit =WENN(TAG(...)=1;"";bisherigeFormel) umranken, so dass bei Nichtschaltjahren nichts zu sehen ist. Die ... werden durch die längere KÜRZEN-Konstruktion gefüllt.
Anzeige
AW: Da müsstest Du schon mitteilen, welcher Art ...
11.12.2017 18:53:37
Heinz
Hallo Lupo
Sorry war einfach nur dumm von mir.
Funktioniert auch mit Schaltjahr tadellos !!
Nochmals recht herzlichen Dank
SG, Heinz
Tabellenerstellung per Konstruktionsmakro
07.12.2017 08:04:47
lupo1

Sub SchichtplanErstellen()
'Erstellung für 12 Leute mit den Beschäftigungen:
'Mo12, Di12, Mi10, Do10, Fr10, Sa06, So00 Leute
Workbooks.Add xlWorksheet
[C4].Select: ActiveWindow.FreezePanes = True
[A1] = "'011111001111010111110011101101111100110111"
[A3] = 2018
[A4:A15] = "=ROW()-3"
[C2] = "=--(1&-R[1]C[-2])"
[D2:ND2] = "=RC[-1]+1"
[C3:ND3] = "=TEXT(R[-1]C,CHOOSE(MIN(3,MOD(R[-1]C,7)+1),,""MMM"",""TTT""))"
[C4:AR15] = "=--MID(R1C1,MOD(R2C-1+ROW()*7,42)+1,1)"
[AS4:ND15] = "=RC[-42]"
[C2:ND2].NumberFormat = "dd"
[C4:ND15].NumberFormat = "0;;"
[C2:ND3].Font.Size = 8
[C3:ND3].HorizontalAlignment = xlRight
[A:A].ColumnWidth = 5
[B:B].ColumnWidth = 1
[C:ND].ColumnWidth = 2
[C:ND].FormatConditions.Add Type:=xlExpression, Formula1:="=REST(C$2;7)=1"
[C:ND].FormatConditions(1).Interior.Color = 99000
[C:ND].FormatConditions.Add Type:=xlExpression, Formula1:="=REST(C$2;7)=0"
[C:ND].FormatConditions(2).Interior.Color = 55000
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige