da ich leider etwas verzweifel und nicht weiß wie ich vorgehen soll, bitte ich um Hilfe.
Problemstellung:
Ich versuche eine Art Spielplan für einen privates Tunier zu erstellen, welches ich immer wieder verwenden kann.
Es gibt eine Liste mit 16 Teams.
Das Tunier geht über 10 Runden.
Nun das knifflige daran.
Jedes Team braucht jede Runde einen zufälligen Gegner aus den anderen 15 Teams, wobei sich kein Match innerhalb der 10 Runden widerholen darf.
Außerdem finden für alle Teams die Runden 1 2 3 ... gleichzeitig statt, dass bedeutet dass z.B. in Runde 1 Team 1 nicht als Gegner Team 3 bekommen kann und gleichzeitig noch Team 7 das Team 1 als Gegner hat.
Damit es widerverwendbar ist, sollte es alles durch eine leichte Eingabe unter Einhaltung der Prämissen neu gerollt werden können.
Ich hab mich mit Wahl und Zufallsbereich versucht durchzuwurchteln, aber ich scheitere an den Prämissen, dass nichts doppelt sein darf.
Ich bedanke mich schon im Vorfeld für hilfreiche Tipps.
dieses Problem hatten bereits Andere und alle dachten, das sei ganz leicht. Ist es leider nicht. Hier ist eine Seite, die beschreibt, wo die Probleme bei der Spielplanerstellung liegen und wie man sie lösen kann. Das Ganze läuft auf den Kantenfärbungs-Algorithmus raus. Dabei werden alle Kanten in einem Netzwerk zwischen jeweils zwei Knoten so lange eingefärbt, bis keine Kante die gleiche Farbe mehr hat, wie eine benachbarte. Dabei gibt es noch einiges mehr zu berücksichtigen, z.B. die richtige Anzahl verschiedener Farben. Die Knoten stehen für die Manschaften, die Kanten für die Begegnungen.
Habe mir das ganze angesehen, dabei gibt es allerdings viel kompliziertere Prämissen, die das ganze verkomplizieren, wie dass alle gegeneinander antreten müssen und dass es heim und auswärtsspiele gibt.
Mir würde es schon mal ausreichen, wenn ich es hinbekomme mit excel 10 zufällige Gegner von 15 möglichen auszugeben bei denen keine doppelt vorkommen.
Darauf könnte ich dann aufsetzen und damit weiter arbeiten.
08.08.2024, 18:22 (Dieser Beitrag wurde zuletzt bearbeitet: 08.08.2024, 18:25 von Sigi.21.)
Hallo Stephan,
da hilft der Zufall leider überhaupt nicht weiter. Ganz im Gegenteil. Da müssen die Spielpaarungen systematisch ermittelt werden. Und wenn es - sie in der Fußball-Bundesliga - abwechselnd Heim- u. Auswärtsspiele (inkl. Rückrunde) sein sollen, wird es zur Wissenschaft.
Du willst ja kein Heim-/Auswärts, sondern lediglich jeder gegen jeden. Wie sowas ermittelt werden kann, habe ich im Bsp. mit 6 Teams (5 Runden) mal dargestellt. Das geht auch mit 16 Teams. Vielleicht mag es jemand mit VBA umsetzen.
Wenn das Sytem nicht erkenbar sein soll, kannst du ja aus den 15 Runden deine 10 in zufälliger Reihenfolge auswählen. Hallo S,
wenn dir eine zufällige Auswahl aus dem Rutschsystem nicht gefällt, kannst du vielleicht diese Datei nutzen. In ihr habe ich vor Jahren zufälige Paarungen auch für eine grössere Anzahl von Teilnehmern zusammengestellt und hier noch zwei Bemerkungen:
1. Mit diesem Algorithmus ist nicht sichergestellt, dass ich bei 16 Teilnehmern 15 Runden erhalte, aber 10 Runden sollten fast immer machbar sein. Wenn zufällig einmal nicht kannst du die Zuordnungen löschen und von vorne beginnen.
2. Damals wurde gefordert, dass die Teilnehmer einer Paarung nicht aus einer Abteilung kommen dürfen, wenn aber alle Teilnehmer einer anderen Abteilung zugewiesen bekommen, ist diese Nebenbedingung irrelevant. Andererseits kannst du damit einzelne Paarungen unterbinden.
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.
für die die möglichst viele Runden jeder gegen jeden haben möchten, ein Beispiel für eine Mischung des Rutschsystems.
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.