Microsoft Excel

Herbers Excel/VBA-Archiv

Dienstplan erstellen

Betrifft: Dienstplan erstellen von: Thorsten Bertram
Geschrieben am: 17.04.2015 16:50:51

Hallo,
ich möchte gerne einen Dienstplan automatisch erstellen lassen.

Ich arbeite in einer Jugendhilfeeinrichtung und betreue Kinder "rund um die Uhr". Da das Arbeitszeitgesetz dem entgegensteht, 24 Stunden Dienste zu leisten und unser Tarifvertrag gewisse Sachen auch nicht duldet versuche ich nun einen Weg zu finden einen "gesetzeskonformen" Dienstplan zu erstellen.

Die "Bedingungen":

Ich habe in einem Team eine unterschiedliche Anzahl an Mitarbeitern mit unterschiedlichem Stellenumfang
Der Plan wird für einen Monat erstellt
Es gibt an jedem Tag 3 Schichten, es muss jede Schicht besetzt sein, evtl. benötigt man am Wochenende nur 2 Schichten... weil das Gesetz oder der Tarifvertrag da Ausnahmen zulässt.
Wenn ein Mitarbeiter ausfällt, durch Urlaub oder Krankheit, kann er (für einen gewissen Zeitraum) nicht berücksichtigt werden

Ist dies mit Excel möglich?

Ich habe oben angeklickt, das ich kaum Erfahrungen mit Excel oder VBA habe, ich weiss mich da nicht einzuordnen. Ich bin Jahrgang 67 und habe seinerzeit in der Schule Informatik mit gemacht und Pascal / Turbopascal auch programmiert, Basic am Commodore 64 und habe vor einigen Jahren ein Excel Programm zur Stundenberechnung meiner Teamkollegen geschrieben.

  

Betrifft: AW: Dienstplan erstellen von: Matze Matthias
Geschrieben am: 17.04.2015 18:25:00

Hi Thorsten,

schön und gut das du uns eine Aufgabe stellst, du solltest aber doch schon mal den Aufbau wie es später aussehen soll per Musterdatei hier ins Forum stellen, verfeinern und optimieren sehen wir dann später. Ob ich dann der richtige Helfer für dein Konzept bin sehen wir dann.

Gruß Matze


  

Betrifft: AW: Dienstplan erstellen von: Thorsten Bertram
Geschrieben am: 17.04.2015 19:30:13

Moinsen,

das Aussehen ist erstmal unerheblich, es sollte im Prinzip ein Monatskalender sein, wo an jedem Tag 3 Kästchen für die Schichten sind, Früh Spät Nacht. In diese Kästchen soll Excel die Namen der MA A bis F einpacken, sodass an jedem Tag jede Schicht einmal besetzt ist.
Nun kann es vorkommen, das MA A vom 1. - zum 10. krank ist oder Urlaub hat... Excel soll dies berücksichtigen.
Ebenso ist es wichtig, das berücksichtigt wird, wieviel Stellenanteil der MA hat (0,5, 0.6 oder entsprechend..)
Eine volle Stelle muss etwa 20 Schichten abdecken... sofern alle MA da sind... was im Januar vielleicht ist... im Juni wegen Urlaub eher selten.
Grüße


  

Betrifft: AW: Dienstplan erstellen von: Peter Feustel
Geschrieben am: 17.04.2015 21:29:53

Hallo Thorsten,

du kannst doch nicht erwarten, dass dir hier jemand deinen Kalender entwirft, diese Arbeit musst du schon selbst erbringen und das Ergebnis dann hier hochladen.
Auf der Basis kann man dann weiter sehen.

Gruß Peter


  

Betrifft: schließe mich den anderen Antwortern an von: Oberschlumpf
Geschrieben am: 18.04.2015 00:06:24

Hi Thorsten

Du hast es bestimmt nicht, äh, "böse" gemeint, aber schau dir mal selbst deinen Text an.

Du beschreibst, was du haben möchtest, lieferst NULL Eigenleistung und erwartest/hoffst dann, dass irgdwer von uns das für dich erledigt.

Das, was du bis jetzt "verlangst", nennt man

Auftragsprogrammierung

Du "erteilst" uns also einen Auftrag, für dich etwas zu programmieren - und sehr wahrshceinlich so lange, bis es so funktioniert, wie du es gerne haben möchtest.

Damit könntest du mehr Erfolg haben, wenn du z Bsp diese Seite aufrufst:
https://www.herber.de/develop.html

HIER befindest du dich aber in einem Forum.
Das setzt (eigentlich) für jeden Fragenden voraus, dass er schon so Einiges SELBST VERSUCHT hat, dann irgendwann feststellt, er kommt nicht weiter - und sich nun mit seinem TEILproblem an ein Forum wendet.
Am schnellsten bekommt jeder Fragende eine/mehrere Antwort(en), wenn er per UPLOAD eine Excel-Datei dem Forum zur Verfügung stellt. Diese Datei muss Bsp-Daten enthalten (eine leere Datei ist nicht zielführend). Außerdem sollte die Datei auch die vom Fragenden gewünschte Tabellenstruktur/design enthalten. Denn von den vielleicht Antwortenden weiß NIEMAND, in welchen Zellen der Originaldatei sich welche Werte befinden.

So, jetzt bist du wieder dran.

Weiterhin viel Erfolg im besten Excel-Forum, das ich kenne.

Ciao
Thorsten


  

Betrifft: Vorschläge zum Layout ... von: Matthias L
Geschrieben am: 18.04.2015 07:41:18

Hallo Thorsten Bertram

Deine Frage war ja nur:
Ist dies mit Excel möglich?
Antwort : Ja

Aber stell doch bitte ein paar mehr Informationen zur Verfügung.
Erstelle doch mal eine BspDatei in der man sieht was wohin soll.

Vorschläge zum Layout
Das kann z.B. so aussehen...

 ABCD
12015
2Datum/SchichtNachtFrühSpät
3Do. 01.01.2015PeterHansMaria
4Fr. 02.01.2015PeterHansMaria
5Sa. 03.01.2015IvonnePetraMaria
6So. 04.01.2015IvonnePetraMarco
7Mo. 05.01.2015   
8Di. 06.01.2015   
9Mi. 07.01.2015   


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

oder so...
 ABCDEFG
1Mitarbeiter:HansPeterMariaIvonnePetraMarco
22015
3Do. 01.01.2015FrühSpätFrühSpätNachtNacht
4Fr. 02.01.2015FrühSpätFrühSpätNachtNacht
5Sa. 03.01.2015      
6So. 04.01.2015      
7Mo. 05.01.2015      
8Di. 06.01.2015      


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

oder auch so...(hier mal ohne WE)
 CDEFGHIJKLM
2Kalenderwoche:MontagDienstagMittwochDonnerstagFeiertag
31827.04.201528.04.201529.04.201530.04.201501.05.2015
4Bereich 1Bereich 2Bereich 1Bereich 2Bereich 1Bereich 2Bereich 1Bereich 2Bereich 1Bereich 2
5NormalschichtMariaIvonneMariaIvonneMariaIvonneMariaIvonne  
6
7FrühschichtMarcoMandyMarcoMandyMarcoMandyMarcoMandy  
8
9SpätschichtPetraHansPetraHansPetraHansPetraHans  
10
11Feiertage (Sachsen)    Maifeiertag


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4


Zitat
... unterschiedliche Anzahl an Mitarbeitern mit unterschiedlichem Stellenumfang
Das sind z.B. Dinge die ja keiner wissen kann! Was steht also wo?

Erstell doch bitte eine Bsp.Datei, mit ein paar mehr Informationen.
Bei dem Rest wird Dir dann schon geholfen.

Gruß Matthias


  

Betrifft: AW: Vorschläge zum Layout ... von: Thorsten Bertram
Geschrieben am: 19.04.2015 12:15:01

Juhu,
nein... ich habe nichts böse gemeint und wollte wissen ob dies möglich ist. Deshalb spielte das Layout auch erstmal keine Rolle.

Vielleicht erkläre ich nochmal die Situation:

Ich arbeite in der Jugendhilfe... in einer klassischen Kinderheimgruppe. Es muss der Dienst des Tages von null bis 24h abgedeckt werden. Es war so, das wir immer rund um die Uhr gearbeitet haben, nun kollidiert dies (leider) mit dem Arbeitszeitschutzgesetz und dem TVöD.
Da ich mich immer schon gerne um "solche" Sachen gekümmert habe, bin ich nun auf der Suche einen Dienstplan nach Schichten zu erstellen (unter Umständen kommt ja auch heraus, das in meiner Gruppe zu wenig Personal ist). Da ich nun auch noch Betriebsratsmitglied bin, versuche ich auch Lösungen für andere Gruppen zu finden, die Stellenanteile der Mitarbeiter, sowie die Anzahl der Mitarbeiter selber differiert von Team zu Team, deshalb wollte ich eine gewisse Flexibilität. Wie ich dieses Flexibilität löse weiss ich mittlerweile, ich werde die Mitarbeiter a bis k bezeichnen und habe dann 10 Platzhalter, wenn dann nur 6 Mitarbeiter in der Gruppe arbeiten reduziere ich den Stellenanteil von den restlichen 4 MA auf null.

Danke erstmal... und es war sicher nichts böse gemeint, im Gegenteil... wenn jemand Hilfe benötigt bin ich der letzte der absagt.
Grüße Thorsten

Nach dem ich nun gehört habe, das es möglich ist, werde ich mich auf den Weg machen... ich werde sicher die ein oder andere Frage hier stellen und es wäre klasse, wenn ich dann Hilfestellung bekommen kann.


  

Betrifft: AW: Dienstplan erstellen von: Thorsten Bertram
Geschrieben am: 21.04.2015 17:21:47

Juhu,
ich habe nun mal ein Grundmodell erstellt; hier ist es zu finden:

https://www.herber.de/bbs/user/97212.xlsx

Ich habe den Monat Mai ausgesucht, es gibt 3 Schichten Früh Spät und Nacht, es gibt einige Mitarbeiter, diese Mitarbeiter sollen nun im Mai93 Schichten bewältigen, für jeden Mitarbeiter ist ausgerechnet, wie viele Schichten er zu erledigen hat, dies ist abhängig, von zur Verfügung stehenden Köpfen... also Krankheit und Urlaub werden mit berechnet.
Wie kann ich nun, die rechts aufgeführten Schichten (bei A: 20) auf die Tage im Mai verteilen, sodass im Kalender in den entsprechenden Schichten ein Buchstabe für den Mitarbeiter steht, aber auch eine gewisse Streuung entsteht, also nicht alle schichten nacheinander, desweiteren geht maximal eine Schicht pro Tag und zwischen 2 Schichten muss mindestens eine Schicht Pause sein.

Danke... für Rückmeldungen


  

Betrifft: AW: Dienstplan erstellen von: Michael
Geschrieben am: 22.04.2015 17:31:09

Hallo Thorsten,

ich hab mir Deine Datei mal angesehen und sie wahrscheinlich deutlicher verändert, als Dir lieb ist.

Ich bekomme immer das Grausen, wenn zwischen gleichartigen Daten aus optischen Gründen Leerzeilen stehen, weil Du Dir beim Durchlaufen der Daten dann die Finger wund programmierst, um die zu überspringen: man *kann* ja auch z.B. die Zeilenhöhe ändern und sich aussuchen, ob die Schrift oben, unten oder wo auch immer stehen soll.

Aus ähnlichen Gründen habe ich die Tabelle komplett umstrukturiert, denn drei Datenbereiche mit gleichartigen Daten (Datum von.. bis..) sind genauso unhandlich.

Das soll jetzt keine großartige Kritik sein, denn man hat Dich ja nach Deinen Vorstellungen gefragt und die hast Du geliefert; aber sobald man das als Programmierer sieht, fallen einem die Schwachstellen sofort ins Auge. Matthias hatte ja bereits einige Entwürfe gepostet.

Ich habe einige zusätzliche Tabellenblätter angelegt: Entwurf A zeigt einen reinen Monte-Carlo-Algorithmus, d.h. als erstes versuche ich, das Problem möglichst ohne zu denken zu lösen und verwende Zufallszahlen. Das funktioniert zwar gut, liefert aber leider keine besonders brauchbaren Werte.

Entwurf C ist die Erweiterung von A, Zufallszahlen und hinterher geschaut, ob sich's doch noch "reparieren" läßt. Bereinigt sehr viele Fehler, und die paar übrigen kann man zur Not mit der Hand ausbessern (typischerweise 3-5 Stück).



So, jetzt kommt's aber noch dicke: 
- in Spalte Q habe ich Deine Berechnungen schlicht durch "0" ersetzt (vorerst, zum Testen).
- in Spalte T rechnest Du sehr schön die Anzahl der Schichten aus, nur addierst Du Dezimalzahlen, und durch die Nachkommastellen kommen 93 Schichten raus, obwohl die Addition des Ganzzahlanteils nur 92 ergibt.
- d.h., Du hast eh schon eine Mitarbeiterschicht weniger zur Verfügung als Du brauchst.

Wenn da noch einer krank wird oder Urlaub hat, fehlen Dir weitere Schichten, die Du ja (in Q) schon so schön hingerechnet hast, daß die anderen MA ganz automatisch mehr arbeiten: ich sag Dir, da fehlt jetzt schon Personal!

Der Punkt ist: ich habe mal ein bißchen mit den Daten gespielt, und selbst ohne weitere Randbedingungen ist die Geschichte nicht ganz simpel.

Aber: ich unterhalte mich oft genug mit "Schichtlern", die a) Probleme mit den Schichten selbst und b) mit ihren Partner/Innen haben, dahingehend, daß letztere sagen: "ja, warum sprichst du nicht mit dem [nicht zitierbar], der die Schichtpläne macht?" worauf die ersteren antworten: "das verstehst du nicht".

Die halbe Arbeitswelt scheint voller bescheidener Schichtpläne zu sein.

Dein Job sollte es sein, nicht *irgendeinen* Plan zu erstellen. Nicht nur die lieben kids gehören sich betreut, sondern auch Deine Mitarbeiter, erst Recht wenn Du Betriebsrat bist!!!

Dazu gehört, daß eine Software persönliche Vorgaben und -lieben auswertet und verrechnet, wie z.B., ob jemand lieber Früh-, Spät- oder Nachtschichten arbeitet - das könnte man in absteigender Reihenfolge berücksichtigen.

Dazu gehört auch, daß die MA nicht 10 Tage am Stück arbeiten, um dann gerade mal 1 Tag vor dem nächsten Block frei zu haben - da geht mir die Vorgabe, daß zwischen 2 Schichten mindestens 1 frei sein muß, schon die Nase rauf: Spätschicht von 16 bis 0, die Nachtschicht von 0 bis 8 frei, und dann schon wieder auf die Matte: 8 Stunden frei incl. Arbeitsweg usw. - super!

(§5 ArbZG: mindestens 11h zwischen Schichten, in Sonderfällen *bis zu 1 Stunde weniger*, also Minimum 10!)

Das führt nur zu ausgebrannten MA und erhöhtem Krankenstand, den die anderen ausbaden müssen.

Also gut: ich mag im Moment keine Datei hochladen, auch wenn ich die Arbeit schon gemacht habe.

Für meinen Geschmack gehören sich erst einmal nicht nur gesetzeskonforme, sondern MA-freundliche Kriterien formuliert, *bevor* man sich an eine Programmierung macht.

Schöne Grüße,

Michael

P.S.: ein sinnvolles Feature wäre beispielsweise, daß die MA Schichten nach Gusto tauschen können.


  

Betrifft: AW: Dienstplan erstellen von: Thorsten Bertram
Geschrieben am: 23.04.2015 09:41:54

Hallo Michael,

ich leite mein Team seit Jahren, der Krankenstand strebt gegen Null, bei mir steht immer der Mensch vorn. Die MA würden gerne weiter in 24STd. Schichten arbeiten, das würde ich auch gerne ermöglichen, habe aber noch keinen guten Weg gefunden, zumal ich es auch pädagogisch für sinnvoller halte.

Den Einwand mit mehr Zeit zwischen zwei Schichten ist gut, auch das man Schichten untereinander nach Gusto tauschen kann.
Wie kann ich deine Datei ausprobieren?

Gruß Thorsten


  

Betrifft: AW: Dienstplan erstellen von: Michael
Geschrieben am: 23.04.2015 10:22:57

Hallo Thorsten,

wenn da so ist, überlasse ich Dir die Datei.

Nicht, daß wir uns mißverstehen: die Kommentare rechts unter den Buttons sind nichts, was ich bereits programmiert hätte (das ist *nicht* trivial), sondern bezieht sich nur auf Dinge, ich in der *zufällig* erzeugten Schichttabelle gesehen habe.

Ad 1: wenn Wechselschichten "rotieren", sollten sie das nach vorne tun, nicht nach rückwärts - hier ist es also (zufällig) falsch, und da müßte man dran arbeiten.
Ad 2: freie Tage versus Blöcke: da haben unterschiedliche MA sicherlich unterschiedliche Vorlieben; hier im Beispiel hat A nach 6 Schichten nur 1 Tag frei (den 18.5.), und das dürfte nach "vorherrschender Meinung" zu wenig sein. Auch da müßte man dran arbeiten.
Ad 3: die (zufällige) Schichtbelegung hat für A meist Spät- und Nachtschichten erzeugt; das *kann* ihm entgegenkommen oder auch nicht.

Deshalb: man müßte (als normalen Text erst Mal) einige Regeln formulieren, wie das Programm arbeiten soll. Ob und wie man die umsetzen kann, ist mir vorerst völlig unklar, aber damit beschäftigen kann man sich naturgemäß erst, wenn sie formuliert sind!

Die Datei enthält einigen halbfertigen Programmiermüll, aber ich habe jetzt keine Zeit, das herauszunehmen.

Nimm einfach das Blatt "Entwurf C" und spiele mit den Buttons (öfter als 1, 2 Mal brauchst Du das "Reparieren" nicht anklicken, da tut sich nämlich nichts mehr Sinnvolles - der Rest ist Handarbeit).

Datei: https://www.herber.de/bbs/user/97257.xlsm

Übrigens: alle Farb- bzw. Rahmenmarkierungen sind natürlich hinfällig, sobald Du eine neue Schichtbelegung erzeugst.

Schöne Grüße,

Michael


  

Betrifft: AW: Dienstplan erstellen von: Thorsten Bertram
Geschrieben am: 23.04.2015 13:29:53

Hallo Michael,

danke für die Datei, ich schaue da am Wochenende mal rein... ich geh morgen früh in die Schicht bis Samstag mittag :-)

Gruß Thorsten


  

Betrifft: AW: Dienstplan erstellen von: Thorsten Bertram
Geschrieben am: 23.04.2015 13:30:43

Gibt es hier die Möglichkeit mit den Menschen in einen persönlichen Austausch zu kommen?


  

Betrifft: manchmal ja, manchmal nein von: Michael
Geschrieben am: 23.04.2015 16:24:13

Hallo Thorsten,

sofern ein (antwortender) Forumsteilnehmer möchte, kann er ein Profil anlegen und weitere Daten für eine evtl. Kontaktaufnahme veröffentlichen.

Wenn ein Profil vorhanden ist, erscheint links neben der Antwort des jeweiligen TNs ein kleines Symbol, das an einen Perso erinnert - das läßt sich anklicken.

Schöne Grüße,

Michael


 

Beiträge aus den Excel-Beispielen zum Thema "Dienstplan erstellen"