17.03.2020, 23:02 (Dieser Beitrag wurde zuletzt bearbeitet: 17.03.2020, 23:02 von andreas.schl.)
Hallo zusammen,
ich möchte einen Dienstplan für insgesamt fünf Personen erstellen. Es sollen jeweils 2er Teams gebildet werden (ein Name pro Spalte), die rotieren. Es ergeben sich dabei folgende Möglichkeiten:
a | b a | c a | d a | e b | c b | d b | e c | d c | e d | e
Wie schaffe ich es, diese Zeilen zu sortieren, sodass eine Person möglichst nicht zwei Dienste hintereinander antreten muss, sprich; dass sich ein Wert nicht in der darauffolgenden Zeile wiederholt?
so: a | b c | d a | e b | c d | e a | c b | d c | e a | d b | e
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität. Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen." Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.
Helmuts Reihenfolge wäre aus der alphabetisch sortierten Kombinationsvorlage somit
1 8 4 5 10 2 6 9 3 7
Leider wiederholt sich dabei jedoch der erste (1: a-b) auf den letzten (7: b-e) der umsortierten Vorlage (denn nach dem 10. Dienst ist ja nicht Schluss!).
Aus Symmetriegründen müsste jeder Beteiligte alle 2,5mal Dienst haben, also abwechselnd alle 2 oder 3mal. Bei Helmut hat jedoch b nur Abstände von 3 oder 1.
Außerdem gilt das Kombinationswiederholungsverbot, also a-b innerhalb der 10 Kombinationen nur einmal.
Möglicherweise gibt es also bei 2 aus 5 keine Lösung.
wenn man für einen Zyklus eine gültige Lösung gefunden hat (mein erstes Beispiel), kann man dieses Muster nutzen und wiederholen. Man muss nur dafür sorgen, dass das erste Paar im neuen Zyklus mit dem letzten Paar des alten Zyklus keine Person gemeinsam hat.
Das erhält man zB. indem die Personen zyklisch um zwei Positionen verschoben werden. (siehe Anlage)
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität. Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen." Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.