Formel für 5 Schichten-Dienstplan gesucht.

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Formel für 5 Schichten-Dienstplan gesucht.

Beitrag von balu »

Hallo Leute,

ich suche eine allgemein Gültige Berechnungsformel für so'n 5 Schichten-Dienstplan.
Ein 4-Schichten-System mit 'nem 28 Tage Ryhtmus habe ich ja schon erledigt. Wobei drei verschiedene Kombinationsmöglichkeiten:

Code: Alles auswählen

_1_1_2_2_3_3_3_
_1_1_1_2_2_3_3_
_1_1_2_2_2_3_3_
zur Auswahl stehen.
Doch wie funktioniert ein 5-Schichten-System :roll: ?
Das ist hier die Frage, da ich noch nie damit was zu tun hatte :? . Ich brauch das nicht beruflich, sondern nur der interessehalber wegen, um einen dementsprechenden Kalender zu programmieren.

Über Infos von euch freue ich mich jetzt schon. :D


Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Benutzeravatar
Cycle
Beiträge: 4
Registriert: Mo, 01.09.2008 09:29
Wohnort: Dingolfing BY

Re: Formel für 5 Schichten-Dienstplan gesucht.

Beitrag von Cycle »

Hallo Balu,
zunächst mal ein großes Lob für Deine hervorragenden Beiträge zum Tema "Jahreplaner" (und natürlich auch an die anderen Mitwirkenden), das Forum hat mich animiert, selbst wieder das Thema Schichtplaner aufzugreifen.
Ich selbst arbeite einen 5er Schichtzyklus und verwende dazu schon "ewig" eine leicht modifizierte Version der Vorlage schicht60 (Das ursprüngliche Original stammt noch aus alten SO - Zeiten.
Aber nun zum Thema:
Ich kann Dir ein Muster unseres Schichtplans anbieten.
Die Vorgabe: 5 Schichten, der Arbeitsplatz muß rund um die Uhr besetzt sein (7xFrüh, 7xSpät, 7xNacht, Freischicht und als "Füller" 4xTagschicht für Schulungen, Besprechungen etc.)
Der Zyklus beträgt 35 Tage und keine Schicht kommt doppelt vor.
Zur Verdeutlichung hänge ich unseren Plan an:
Muster_5er_Schichtplan.ods

Ich hoffe ich konnte Dir weiterhelfen.
Grüße Cycle
P.S.: Dei einfache Form meines Beitrags bitte ich zu entschuldigen: Es ist mein erster Forenbeitrag überhaupt!
Benutzeravatar
Cycle
Beiträge: 4
Registriert: Mo, 01.09.2008 09:29
Wohnort: Dingolfing BY

Re: Formel für 5 Schichten-Dienstplan gesucht.

Beitrag von Cycle »

Tschuldigung,
muß es wohl wie zip hochladen :(
Muster_5er_Schichtplan.ods.zip
(10.94 KiB) 2593-mal heruntergeladen
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Formel für 5 Schichten-Dienstplan gesucht.

Beitrag von balu »

Hallo Cycle,

Du brauchst dich doch nicht zu entschuldigen, ist doch alles in Ordnung. :D

Schön das Du diesen Thread "Ausgegraben" hast, habe ich schon gar nicht mehr daran gedacht. Denn ich war in letzter Zeit mit einem anderen Thread beschäftigt, der aber so rein zufälligerweise zu diesem hier passt. Durch diesen anderen weis ich jetzt sogar wie man 6-Schichten berechnen kann. Habe heute nicht mehr sehr viel Zeit, aber bei interesse stelle ich das Ergebnis hier rein.

Ja, ja! Das gute alte SO! Benutze die 5.2er noch immer regelmäßig. :lol:

Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Benutzeravatar
Cycle
Beiträge: 4
Registriert: Mo, 01.09.2008 09:29
Wohnort: Dingolfing BY

Re: Formel für 5 Schichten-Dienstplan gesucht.

Beitrag von Cycle »

Hi Balu,
Schön das Du diesen Thread "Ausgegraben" hast, habe ich schon gar nicht mehr daran gedacht. Denn ich war in letzter Zeit mit einem anderen Thread beschäftigt, der aber so rein zufälligerweise zu diesem hier passt. Durch diesen anderen weis ich jetzt sogar wie man 6-Schichten berechnen kann. Habe heute nicht mehr sehr viel Zeit, aber bei interesse stelle ich das Ergebnis hier rein.
Wäre supernett (oder vielleicht der Thread??) :D :D :D

Grüße Cycle
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Formel für 5 Schichten-Dienstplan gesucht.

Beitrag von balu »

Hallo Cycle,

bevor es losgeht, noch eins vorweg. Die Formel und die Idee stammt nicht von mir. Ich habe sie nach sehr langer recherche im Internet gefunden, und zwar bei Klaus-Dieter's Excelwelt. (unten rechts bei Formellösung) :D

So, dann wolln ma mal :wink: (hoffe nur das die Erklärung gut genug rüberkommt :roll:)

Als passendes übungsbeispiel nehmen wir deine Musterdatei.

Als erstes markierst Du die Spalte B, und löschst den Inhalt.
In die Zelle A1 trägst Du das Jahr 2007 ein.
In A6 kommt diese Formel rein. =DATUM(A1;1;1)


In A7 kommt ein einfaches =A6+1 rein.
Nun wird die Zelle A7 bis nach A40 runter kopiert. Dort müsste dann der 04.02.2007 stehen.

Jetzt kommen wir zum interessanteren Teil :wink:, weil nun zum erstenmal die Zauberformel eingesetzt wird :lol:
Sie lautet: REST()
Diese setzt Du in B6 ein, und zwar wie folgt. =REST(A6;35)


OpenOffice.org Hilfe hat geschrieben: REST
Hier können Sie den Restwert bei einer Division durch eine ganze Zahl berechnen.
Syntax:
REST(Divident; Divisor)
Dividend ist der Wert, dessen Rest nach der Division ermittelt werden soll.
Divisor ist die Zahl, durch die geteilt werden soll.
Beispiel:
Der Wert 17 im Feld Dividend wird durch den Divisor -1,4 geteilt. Als Restwert wird -1,2 ermittelt.
Der Wert -13 im Feld Dividend wird durch den Divisor -3,4 geteilt. Als Restwert wird -2,8 ermittelt.
Der Wert 2987 im Feld Dividend wird durch den Divisor 362 geteilt. Als Restwert wird 91 ermittelt.

[
Verstehen tue ich REST zwar nicht so ganz :roll:, aber hauptsache sie funktioniert.
A6 in der Formel ist klar, dass ist dass Datum.
Und die 35 ist die länge des gesamt Schichtrythmuses.
Jetzt wird die Zelle B6 runter bis zu B40 kopiert. Und dann siehs Du, dass in dieser Spalte B nur ganze Zahlen von 0 - 34 stehen. Sie sind nicht chronologisch sortiert, was auch so seine richtigkeit hat, und uns nicht zu kümmern hat. Denn diese Zahlen sind der eigentliche Schlüssel für die Schichtverteilung.

Und damit ist der Grundstock für einen 5-Schichtkalender gelegt.
Um das gleich mal an einem einfachen Kalender zu demonstrieren, schreibst Du in I1 2007 rein. In I6 =DATUM(I1;1;1)

In I7 =I6+1, und so weit runter kopieren wie Du willst.
In J6 gibst Du jetzt folgende Formel ein. =SVERWEIS(REST($I6;35);$B$6:$G$40;2;0)

Diese kopierst Du nun nach rechts rüber bis zu der Spalte N. Jetzt musst Du noch die 2 in der Formel austauschen. Und zwar in der Spalte K kommt die 3 rein, in L gleich 4, in M gleich 5 und in N gleich 6.
Bis jetzt sieht die Zeile 6, bei der Vorgabe, und bei dem Kalender gleich aus. Hab nur geduld, das ändert sich noch :wink:

Doch bevor es weitergeht, eine kurze Erklärung zu dieser Formel.
Wie schon vorhin, wird das Datum durch REST irgendwie dividierd. Die Zahl, die jetzt dabei rauskommt, ist die zu suchende Zahl in der Suchspalte B. Die Suchspalte trägt in der Matrix $B$6:$G$40 den Spaltenindex 1. Die Zahl, die Rest ermittelt, ist vorhanden!! Und so wird jetzt das zurückgegeben, was in der 2ten Spalte in der Matrix $B$6:$G$40 steht, sie trägt den Namen "C".

Nehmen wir mal ein kleines beispiel.
Datum in der Spalte I ist der 01.01.2007
REST($I6;35) ergibt = 23
In der Suchspalte B die Zahl 23 suchen. Die Steht z.B. in der B6. Und nun aus C6 den Buchstaben F zurückgeben. Das wars.

Weiter geht's.

Jetzt mit der Maus den Bereich J6:N6 markieren, und so weit runterkopieren wie der eben erstellte Kalenderbereich ist. Und "Schwupp-di-wupp" ist der Kalender mit den Schichten ausgefüllt.

Nun einfach mal in I1 ein anderes Jahr eingeben, und "1 2 3 Das ist keine Zauberei" sind alle Schichten automatisch neu eingetragen.

Sollte aber die Schichtvorgabe nicht wie erhofft mit dem tatsächlichen Datum übereinstimmen, dann muss das Jahr in A1 so lange geändert werden, bis das es passt.

Ja ups! Hätte ich jetzt beinahe vergessen.
Wenn Datum mit der Schichtvorgabe passt, Auf keinen Fall dort dann noch änderungen vornehmen!! Sollte es schwierigkeiten geben, einfach melden.


Ich hoffe, dass es so weit verständlich ist. Und das Du jetzt mit dieser neuen technologie dir viel Schneller, einfacher und unkomplizierter deinen neuen gewünschten Schichtkalender erstellen kannst. :wink:



Is schon leicht komisch.
Da habe ich ein Thema zu einem "Problem" eröffnet, und gebe mir selber eine Antwort. Aber so lange auch andere etwas damit anfangen können, habe ich es gerne gemacht :lol:


Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Benutzeravatar
Cycle
Beiträge: 4
Registriert: Mo, 01.09.2008 09:29
Wohnort: Dingolfing BY

Re: Formel für 5 Schichten-Dienstplan gesucht.

Beitrag von Cycle »

Hi Balu,
Super, der Syntax "REST" ist einfach genial! In Verbindung mit einem Datum funktioniert er wie eine kleine Zeitmaschine: Man kann jeden Zyklus, bzw angehängte Matrix in jede Zeit "beamen".
Die Funktion wird klarer, wenn man ein Blatt Papier und einen Bleistift nimmt:
Der Zahlenwert für den 01.01.2007 (um bei unserem Beispiel zu bleiben) beträgt 39083 (sofern Calc in Extras -> Optionen -> OpenOffice.org calc -> Berechnen -> Datum auf den 30.12.1899 gestellt ist).
Diese 39083 werden durch den Zyklus (bei uns 35) geteilt.
Die 35 passen genau 1116 mal rein und es bleibt ein Rest von 23 :D
Erhöhen wir die Zahl um 1 (hier: 02.01.2007) geht sie wieder 1116 mal rein, aber der Rest wird auch höher: 24
Das kann man so lange fortsetzen bis zum Tag 39095: Hier geht unser Zyklus (35) genau 1117 mal rein und der Rest ist "0", und schon beginnt das Spiel von neuem usw.
Für eine Tabellenkalkulation muß man natürlich "Klimmzüge" machen: :?
39083/35=1116,657143 da braucht man GANZZAHL und das Ergebnis wird zu 1116; (GANZZAHL nimmt ja immer den nächst kleineren ganzen Wert, das ist bei 1116,657 -> 1116; bei -1116,657 wäre es -1117; aber das nur am Rande)
Dieses Ergebnis mit dem Zyklus (35) multipliziert ergibt 39060, die man nun vom Ausgangswert (39083) abzieht und schon hat man wieder den Rest von: 23 !! :lol:
Also: "REST" ist gleichbedeutend mit "Divident-Divisor*GANZZAHL(Divident/Divisor)" (Achtung: Punkt vor Strich)
Ich hoffe Du verzeihst mir, daß ich hier etwas laut gedacht habe, aber ich denke so wird das Zahnrädchen "REST" im Getriebe der Zeit etwas klarer.

Auf alle Fälle danke ich Dir herzlichst für Deine Tipps. Die Methode ist wirklich elegant um (beliebige) Schichtpläne zu erstellen und diese eventuell auch noch mit anderen Zyklen (für z.B. Sondereinsätze, Vertretungen etc) zu kombinieren. :D :D :D
Und mit den Anderen guten Tipps hier im Forum über Feiertage, Mondphasen etc ist mein Werkzeugkoffer nun voll, um mir meinen persönlichen, perfekten ( :wink: ) Terminplaner zu erstellen. :D :D :D

Grüße
Cycle
AhQ
*******
Beiträge: 1096
Registriert: Fr, 15.06.2007 11:03
Wohnort: Regensburg
Kontaktdaten:

Re: Formel für 5 Schichten-Dienstplan gesucht.

Beitrag von AhQ »

Hallo Balu,
balu hat geschrieben:Verstehen tue ich REST zwar nicht so ganz
in der XP-Hilfe steht da noch der Zusatz zu REST():

"Diese Funktion ist realisiert als Dividend - Divisor * GANZZAHL(Dividend / Divisor). Diese Formel liefert das Ergebnis, falls die Argumente keine Ganzzahl sind."

Für was man dann das Ergebnis dann aber wirklich brauchen kann, das fragst Du mich besser auch nicht (halt außer zum nachschauen, ob bei einer Division was übrig bleibt...)

Viele Grüße
AhQ
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Formel für 5 Schichten-Dienstplan gesucht.

Beitrag von balu »

Hallo Cycle.

Mensch das ist echt klasse, wie Du das mit REST Erklärt hast. :D Jetzt versteh ich es auch. :mrgreen:
Cycle hat geschrieben: Ich hoffe Du verzeihst mir, daß ich hier etwas laut gedacht habe, ...
Warum denn verzeihen!? Du hast doch nichts falsch gemacht.:D
Von so'nem "Laut-Denken" lebt doch ein Forum. Gut beschrieben, und leicht verständlich. :D

Es ist schön zu hören, dass wir dir beim füllen deines Werkzeugkoffer helfen konnten. :D

Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Formel für 5 Schichten-Dienstplan gesucht.

Beitrag von balu »

Hallo AhQ,
AhQ hat geschrieben: Für was man dann das Ergebnis dann aber wirklich brauchen kann, das fragst Du mich besser auch nicht
Wenn ich das nicht falsch verstehe, dann möchte ich dazu folgendes sagen.
Sie spielt doch in dem Schichtkalender DIE tragende Hauptrolle. Ohne sie wäre es nicht so einfach diesen Kalender zu realisieren. Falls Du dir noch nicht die Mühe gemacht hast, den Kalender anhand meiner Beschreibung nachzubauen, dann mach das mal. :wink: Denn dann siehst Du wie das Ergebnis von REST verwendet wird.
Würde man nämlich das Datum einfach durch 35 teilen, so bekäme man eine Zahl dabei raus, mit der sich pardou nicht rechnen liese. Weil da eine chronologisch ansteigende Zahl mit ca. 12 Nachkommastellen dabei raus kommt (wenn man die Zelle dementsorechend formatiert hat). Und durch einsetzen von REST gibt es nur eine begrenzte Anzahl an Zahlen die ausgegeben werden, in diesem Fall nur die Zahlen von 0 - 34.

Ich kann das nicht besser erklären, deshalb nochmal mein Empfehlung: Bau den Kalender nach, spiel ein wenig darin rum, und Du wirst es dann verstehen. :wink:
Für was aber sonst noch die Formel in der Mathematik zu gebrauchen ist, keine Ahnung. :roll: Muss aber seinen Sinn haben, denn sonst würde es sie ja nicht geben.


Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
AhQ
*******
Beiträge: 1096
Registriert: Fr, 15.06.2007 11:03
Wohnort: Regensburg
Kontaktdaten:

Re: Formel für 5 Schichten-Dienstplan gesucht.

Beitrag von AhQ »

Hallo miteinander,

auch der letzte Mohikaner hat das mit Rest() jetzt kapiert...

Wieder was gelernt heute...

Danke euch beiden, v.a. Cycle für die ausführliche Rest-Beschreibung

Viele Grüße
AhQ
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Formel für 5 Schichten-Dienstplan gesucht.

Beitrag von balu »

Hallo hexal25,
auch wenn ich noch kein Mitglied bin ...
Das spielt auch keine Rolle. :wink:
... wollte ich mich aber auch einmal für die klasse und ausführliche
Beschreibung mit dem "Hilfsmittel" Rest bedanken.
Lob und Rückmeldungen hört jeder gerne. Und im Namen aller hier beteiligten sage ich, Danke :D


Nun zu deinem Problem.

Schaltjahr:
Das brauchst Du, bei der hier geposteten Formel mit REST, nicht berücksichtigen. Denn REST arbeitet in diesem Fall auf Datumsebene, und um das Datum kümmert sich ja Calc, um es mal ganz einfach auszudrücken. Also kannst Du diesen Punkt getrost vergessen.


Etwas grob zusammengefasst wegen den Wochenryhtmus.
Anzahl der Tage pro Woche mal Wochenrythmus ist gleich der Divisor für REST. In Zahlen ausgedrückt:
7 * 4 = 28
Also ist 28 der Divisor.
So sieht der Dienstplan für 1 Woche aus (hier mal als Beispiel die Woche vom 01.01.09 - 07.01.09 - in der 5. Woche
beginnt 1 wieder mit dem Frühdienst)
Für einen 4 Wochenryhtmus reicht die Angabe für eine Woche nicht aus. Deshalb musst Du jetzt selber Hand anlegen.
  • Falls noch nicht geschehen, lade dir die Beispieldatei von Cycle runter.
  • Lösche den Bereich A34:G40
  • Zur besseren Übersicht, lösche auch noch den Inhalt der Spalte G, oder den Bereich G4:G40
  • Jetzt musst Du im Bereich von C6 bis F33 einmalig die Schichten komplett eintragen. Das Schichtsystem muss also reproduzierbar sein, denn sonst gibt die Schichtplanformel unerwünschte Ergebnise aus.
  • Nun arbeitest Du meine Anleitung noch mal in ruhe durch.
In meiner Anleitung nimmst Du eine kleine Änderung vor. Die REST-Formel hat jetzt in deinem Falle nicht den Divisor von 35, sondern er ist jetzt 28.
Beispiel:

Code: Alles auswählen

REST($I6;28)
Falls Du das abgearbeitet hast, und dennoch vor Probleme stehen solltest, dann stell hier mal eine Beispieldatei rein. Dazu müsstest Du dir dann aber einen externen File-Hoster suchen, oder aber dich hier anmelden.


Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
hexal25
***
Beiträge: 54
Registriert: So, 31.05.2009 22:32

Re: Formel für 5 Schichten-Dienstplan gesucht.

Beitrag von hexal25 »

Hallo Balu,

irgendwie haut das mit den Schichten nicht hin. Ich konnte sie zwar für das Jahr alle hinbekommen,
nur ändert sich nichts bei einem Jahreswechsel außer das Datum :-)

Das Schaltjahr hab ich hier erst einmal so belassen gehabt wie in meinem oersten Beitrag geschrieben.
Wie sieht es denn an solch einem Tag mit den Dienstschichten aus oder muss ich den Kalender in einem
Schaltjahr erstellen damit dies dann auch in den anderen Jahren richtig angezeigt wird ?

Vielen Dank schon einmal für deine Mühen

Gruß
Hexal25
Dateianhänge
Schichtplan_test.ods
4-Schichtenplan
(23.92 KiB) 573-mal heruntergeladen
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Formel für 5 Schichten-Dienstplan gesucht.

Beitrag von Karolus »

Hallo
Du hast ja in den Formeln auch keinerlei Bezug zum danebenstehenden Datumswert.
schichtrythmus.ods
(30.69 KiB) 305-mal heruntergeladen
(mit ein paar pragmatischen Änderungen :) )

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
hexal25
***
Beiträge: 54
Registriert: So, 31.05.2009 22:32

Re: Formel für 5 Schichten-Dienstplan gesucht.

Beitrag von hexal25 »

Hallo Karolus,

ich danke dir vielmals, nur hatte ich das mit diesem Bezug bei keinem "muster"
was ich hier fand so gesehen und da klappte das ja auch.

Wenn du oder jemand anders mir dann noch sagen könnte wie ich das hinbekomme, dass
die Wochenenden jeweils farblich markiert sind, wär ich zunächst vollkommen zufrieden :-)

danke nochmals

Gruß Hexal25
Antworten