• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Darts schema vraag

Status
Niet open voor verdere reacties.

AcidKid

Nieuwe gebruiker
Lid geworden
24 nov 2022
Berichten
3
Hallo

ik ben voor een dartsclub een Excel aan het maken, waarbij ik elke maand het aantal deelnemers ingeef uit de lijst van vaste ingeschreven leden.
Elke maand krijgt een nieuw tabblad, met de wedstrijden die die maand gespeeld kunnen worden.

Deze maand bv zijn er 6 deelnemers van de 20 beschikbare leden. Dit laatste heeft op zich geen belang, maar misschien in een latere fase wel.

Ik heb een file kunnen maken, waarbij ik alle aanwezige deelnemers (6 deze maand) in kolom A plaats (A1 tot en met A6).
In kolom B heb ik twee formules, de eerste in B1:
Code:
=ALS(AANTALARG(A:A)>1;1;"")

In cel B2:
Code:
=ALS(RIJ()>AANTALARG(A:A)*(AANTALARG(A:A)-1)/2;"";ALS(C1=AANTALARG(A:A);B1+1;B1))
Deze trek ik door tot ik alle combinaties heb (tot en met B15 in dit geval).

In kolom C heb ik ook twee formules; in cel C1:
Code:
=ALS(AANTALARG(A:A)>1;2;"")
In cel C2:
Code:
=ALS(RIJ()>AANTALARG(A:A)*(AANTALARG(A:A)-1)/2;"";ALS(C1=AANTALARG(A:A);B2+1;C1+1))
deze trek ik ook door tot ik alle combinaties krijg (tot en met C15 in dit geval).

In kolom D heb ik volgende formule in D1, die ik dan doortrek voor alle rijen tot en met D15:
Code:
=ALS(B1="";"";INDEX(A:A;B1)&" - "&INDEX(A:A;C1))

Zo bekom ik alle unieke wedstrijden onder de aanwezige deelnemers.

Maar nu wordt het moeilijker, ik wil voor elke aanwezige ervoor zorgen dat er uit die lijst 3 unieke wedstrijden gehaald worden.

Bv
Thomas - Vik
Thomas - Joe
Thomas - Laurent (hier heb ik 3 wedstrijden voor Thomas)
Vik - Ben
Vik - Joe (hier heb ik 3 wedstrijden voor Vik)
Joe - Josh (hier heb ik 3 wedstrijden voor Joe)
Josh - Laurent
Ben - Laurent (hier heb ik 3 wedstrijden voor Laurent)

Aangezien je dus als deelnemer tegen andere speelt moeten deze wedstrijden meetellen met het aantal wedstrijden die we voorzien (3 per aanwezige).

Iemand die hierbij kan helpen?
 

Bijlagen

1 6
2 5
3 4
2 6
3 1
4 5
3 6
4 2
5 1
er zijn natuurlijk meer mogelijkheden.
 
Laatst bewerkt:
hier heb je mijn hulpje voor 6 personen. je moet zelf de namen aanpassen
ps dit principe werkt voor elk even aantal personen.
de telling begint altijd met persoon 0
als je een oneven aantal personen hebt dan moet je 1 fictieve persoon toe voegen (ik noem hem dan bye)
het kan eenvoudiger met vba. als je dat wil hoor ik het wel.
 

Bijlagen

Laatst bewerkt:
Hey

nu heb je alle wedstrijden inderdaad, maar dat heb ik ook al met mijn formules.

Ik wil nu voor iedereen drie wedstrijden uit alle beschikbare wedstrijden krijgen.
 
dan neem je de eerste 3 kolommen, of je kiest er 3 uit
de struktuur is zo dat je met

1 kolom iedereen 1 wedstrijd speelt
2 kolommen iedereen 2 wedstrijden speelt
3 kolommen iedereen 3 wedstrijden speelt
4 kolommen iedereen 4 wedstrijden speelt
5 kolommen iedereen 5 wedstrijden speelt

en nooit 2 maal tegen de zelfde tegenstander speelt.

als je uitleg wil, gewoon vragen. :thumb: van jouw vragen leer ik meer dan jij. in dit geval bvb dat ik er meer uitleg bij had moeten geven.
 
Laatst bewerkt:
Als je van een VBA-oplossing houdt, dan is dit eigenlijk een soort Robin Tournament, waarbij je met x individuele deelnemers of ploegen x-1 onderlinge wedstrijden speelt, waarbij zoveel mogelijk op een evenwichtige basis thuis en uit gespeeld wordt (in een Darts-tornooi niet van belang). Nu wil je slechts 3 wedstrijden spelen, dus neem je de 1e 3 in kolom E, dus tot rij 25 in het geval van 16 namen.
Je vult je namen in de tabel, dus A12:A... en drukt op de knop "Tirage"
 

Bijlagen

hallo cow, het kan ook met een algoritme zoals in mijn voorbeeld. dan heb je in een keer het antwoord. dit kan ook met vba voor een willekeurig aantal spelers.
dat gaat sneller. ik liet jouw sub met 40 spelers een schema maken dat duurt heel lang. als het hem lukt? (excel was niet meer toegankelijk om af te breken) alleen nog met ctrl alt del
 
Laatst bewerkt:
@sylvester,
Eigenlijk rekent die macro je een robin tournament voor van een andere grootte-orde dan je met formules kan bereiken en dus duurt het ook eventjes langer voor je dat bereikt.
Stel een voetbalcompetitie met datzelfde aantal van 16 ploegen. Op internet kan je zo tig tornooien laten samenstellen, maar die zijn zowat in hetzelfde bedje ziek. Het achterliggende systeem is dat je 1 ploeg in het middenpunt van de cirkel zet en de overblijvende 15 ploegen op de cirkelomtrek. Voor de 1e weekend speelt de centrale ploeg tegen de ploeg op 12 uur, de ploeg van 11 uur tegen die van 1 uur, die van 10 uur tegen die van 2 uur, die van 9 uur tegen die van 3 uur etc (uren kloppen wel niet volledig, je hebt 15 uur ipv 12 uur, maar het is om je een idee te geven van het principe).
Het 2e weekend dan, alles draait als het ware 1 uur vooruit, de centrale ploeg speelt tegen de ploeg op 1 uur, de ploeg van 12 uur speelt tegen die van 2 uur, de ploeg van 11 uur speelt tegen die van 3 uur etc,
Het 3e weekend draait alles weer een uur vooruit, etc etc.
Probleem is nu dat vele ploegen weekend na weekend ofwel altijd thuis spelen ofwel altijd op verplaatsing spelen en je wilt dat natuurlijk niet. Je wilt afwisselend de ene week thuis de volgende week op verplaatsing en dat kan je niet zo eventjes met formules regelen.
Een competitie met 40 ploegen, theoretisch is dat wel mogelijk, maar praktisch met dan nog een heen en een terugronde, dat wordt al snel 78 wedstrijddagen ... . Natte vinger, 52 weken - 4 weken verlof = 48 weken /2 voor de heen en terugronde = 24 wedstrijden = 25 ploegen lijkt mij het hoogst wenselijke.
Die 25 moet hij toch vrij snel halen, je ziet links die cellen rood via voorwaardelijke opmaak kleuren, en het aantal wedstrijden die okay zijn groeit steeds verder.
Dus wat jij bereikt met je formules, dat is voor een gewone dartscompetitie zoals hier gevraagd, perfect realiseerbaar, maar is verwerpelijk in een voetbalcompetitie, maar dat was de initiële vraag niet.

Dus eigenlijk, misschien een uitdaging voor jou :cool:, werk eens bovenstaande uit met formules ...:P
 
Laatst bewerkt:
@Sylvester, ik heb dat eventjes gedaan met 20 en inderdaad, je hebt nummertje 20 in het centrum geplaatst en dan paren genomen op de cirkelomtrek en je bent in een wip klaar.
Maar als je vervolgens uitgaat van een voetbalcompetitie met matchen thuis of uit, dan krijg je voor iedere ploeg een reeks 9-10 wedstrijddagen dat die ploeg altijd thuis of op verplaatsing speelt.
Voor een dartscompetitie is dit geen probleem, voor een voetbalcompetitie heeft dit een niet gewenste competitievervalsing.

Hetzelfde met mijn file, met 20 spelers heb ik zo een mooie competitie in 5 sec voor 20 ploegen.
Het duurt inderdaad al direkt een dikke minuut voor 24 spelers, maar die zou ik inderdaad voortijdig kunnen afbreken, van zodra je de hier gevraagde 3 matchen zou bekomen hebben ipv; een complete heenronde.Je ziet al direkt dat er mooi afgewisseld wordt tussen thuis en uit.

In een dartscompetitie is dit miere****** niet van toepassing. (oei blijkbaar wordt die woord automatisch gecensureerd :P)
 

Bijlagen

Laatst bewerkt:
bon, is toch een zeer verdienstelijke poging, dus proficiat.
Misschien moet je nog ergens iets bijschaven om dat verschil nog ietjes omlaag te krijgen ... maar je oplossing zit toch al ruimschoots binnen het gevraagde voor een dartstornooi.
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan