Formel Schichtberechnung

Guten Tag,
Ich brauche eine mathematische Formel zur Berechnung eines Schichtmodells. Ich weiß absolut nicht weiter, vllt könnt ihr mir helfen.

Es gibt 3 Schichten. die 1. Schicht läuft ab: früh,spät,früh,spät,früh,spät,nacht,nacht,nacht
2.schicht: spät,früh,spät,nacht,nacht,nacht,früh,spät,früh
3.schicht: nacht,nacht,nacht,früh,spät,früh,spät,früh,spät.

Jede Bezeichnung steht dabei für eine Woche. etzt soll ich eine Formel erstellen, die mir sagt, welche Schicht gerade Früh oder spät hat, wenn ich nur die Kalenderwoche eingebe, also z.b. die 22. WOche.

Könnt ihr mir helfen? das wäre echt klasse…danke!!

Modulo?
Hallo.

Guten Tag,
Ich brauche eine mathematische Formel zur Berechnung eines
Schichtmodells. Ich weiß absolut nicht weiter, vllt könnt ihr
mir helfen.

Es gibt 3 Schichten. die 1. Schicht läuft ab:
früh,spät,früh,spät,früh,spät,nacht,nacht,nacht

So ganz verstehe ich dein Problem nicht. Was genau suchst du für eine Funktion?

Ich gehe jetzt mal davon aus, dass du
früh,spät,früh,spät,früh,spät,nacht,nacht,nacht
bereits als bekannt hast, also wenn z. B. nach 4. Woche gefragt ist, dann spät ausgegeben wird (ich fange bei 1 an zu zählen)
und ich interpretiere deine Frage so, dass bei dir nur das Problem ist, wie man von 22. Woche das Problem auf die bekannte „Folge“ bzw. Schichteinteilung
früh,spät,früh,spät,früh,spät,nacht,nacht,nacht
zurückführen möchtest.

Dafür empfiehlt sich die Modulo-Rechnung

Diese „Folge“ ist ja jetzt 9 lang, und du fragst nach der 22. Woche, dann rechne einfach mal Modulo
22 mod 9 kongruent (22-9) = 13
13 ist noch zu groß, weil deine Wocheneinteilung ja nur von 1. bis 9. woche geht, also noch einmal Modulo

13 mod 9 kongruent (13-9) = 4
Dementsprechend die Spätschicht.

Jede Bezeichnung steht dabei für eine Woche. etzt soll ich
eine Formel erstellen, die mir sagt, welche Schicht gerade
Früh oder spät hat, wenn ich nur die Kalenderwoche eingebe,
also z.b. die 22. WOche.

MfG!
Disap

Hi !

Ich denke was du brauchst ist Restklassenrechnung.
Schau dir mal z.B. Schicht 1 an. In der 1. Woche ist das die Frühschicht. In der 10. Woche auch, und in der 19. auch.
Wenn man die Kalenderwoche durch 9 teilt und es bleibt ein Rest von 1, dann hat die Schicht 1 Frühschicht.
Genauso hat z.B. Schicht 2 immer Nachtdienst wenn bei Division durch 9 ein Rest von 4 bleibt.
Zusammengefasst:

Woche | Rest bei Division durch 9 | Schicht 1 | Schicht 2 | Schicht 3

1 | 1 | f | s | n 
2 | 2 | s | f | n
3 | 3 | f | s | n
4 | 4 | s | n | f
5 | 5 | f | n | s
6 | 6 | s | n | f
7 | 7 | n | f | s
8 | 8 | n | s | f
9 | 9 | n | f | s
10 | 1 | f | s | n
11 | 2 | s | f | n
. | . | . | . | .
. | . | . | . | .
. | . | . | . | .

Ab Zeile 10 wiederholt sich das ganze. Gleicher Rest bei Division durch bedeutet gleiches Schichtmuster.
Ich hoffe, das hilft dir weiter.

Grüße

hendrik

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Moin,
in welchem Programm willst du die Formel denn verwenden? Das legt nämlich die verwendbaren Mittel fest. In Excel beispielsweise wäre das ziemlich einfach…

Liebe Grüße
DaChwa

Moin,
für Excel wäre z.B. möglich:
in B1 die Kalenderwoche eintragen und dann:

für die erste Schicht:
=WENN(ODER(REST($B$1;9)=1;REST($B$1;9)=3;REST($B$1;9)=5);„Frühschicht“;WENN(ODER(REST($B$1;9)=2;REST($B$1;9)=4;REST($B$1;9)=6);„Spätschicht“;„Nachtschicht“))

für die zweite:
=WENN(ODER(REST($B$1;9)=2;REST($B$1;9)=7;REST($B$1;9)=0);„Frühschicht“;WENN(ODER(REST($B$1;9)=1;REST($B$1;9)=3;REST($B$1;9)=8);„Spätschicht“;„Nachtschicht“))

für die dritte:
=WENN(ODER(REST($B$1;9)=4;REST($B$1;9)=6;REST($B$1;9)=8);„Frühschicht“;WENN(ODER(REST($B$1;9)=5;REST($B$1;9)=7;REST($B$1;9)=0);„Spätschicht“;„Nachtschicht“))

Liebe Grüße
DaChwa

1 Like

Hallo, vielen Dank schon einmal für eure Antworten!
Ist ja echt Klasse hier!

Ich brauche die Formel, damit ich diese Abfrage in ein System programmieren kann.
Wie ich das dann genau in die programmiersprache übersetze, ist nicht unbedingt das Problem denke ich, da ich Freunde habe, die da sehr bewandert sind. Brauche nur die Formel um so etwas auszudrücken, damit es dann in das Programm geschrieben werden kann.

Hallo,

ist nicht unbedingt das Problem denke ich, da ich Freunde
habe, die da sehr bewandert sind.

denen gibst du die Tabelle, die sie dann einfach (je nach Sprache) als Konstante reintippen und fertig. Das kann man mehr oder weniger kompliziert machen, aber über Modulo oder Restklassen ist es imo immer umständlicher.
Das größere Problem dürfte der Jahreswechsel sein, wenn das Jahr, wie z.B. 2009, mal 53 Wochen hat.

Cu Rene