Lav et kampprogram til puljespil i Excel

Sådan laver du et kampprogram til puljespil i Excel: Skriv holdene i én kolonne, fasthold det første hold, og flyt de øvrige ét trin for hver runde. Det er cirkelmetoden, som sikrer, at alle hold møder hinanden præcis én gang på n − 1 runder.

Nedenfor får du den manuelle opstilling, formlen der roterer holdene for dig, og grænsen for, hvornår et regneark ikke længere er det rette værktøj.

Et kampprogram til puljespil fordelt på alle baner og tidsrum – det færdige resultat, som man typisk planlægger i et regneark
Målet: Alle hold møder hinanden én gang, fordelt på baner og tidsrum uden overlap.

Trin 1: Find antal kampe og runder

Start med at få overblik over omfanget. Et enkelt puljespil med n hold har n × (n − 1) ÷ 2 kampe. Otte hold giver 28 kampe, mens tolv giver 66. Ved hjemme- og udekampe skal tallet fordobles.

Runder er ikke det samme som kampe. En runde består af kampe, der kan spilles samtidig, fordi ingen hold optræder to gange. Med et lige antal hold skal du bruge n − 1 runder med n ÷ 2 kampe i hver. Otte hold betyder 7 runder med 4 kampe.

  • 6 hold: 15 kampe, 5 runder med 3
  • 8 hold: 28 kampe, 7 runder med 4
  • 10 hold: 45 kampe, 9 runder med 5
  • 12 hold: 66 kampe, 11 runder med 6

Trin 2: Opstil cirkelmetoden manuelt

Cirkelmetoden er en pålidelig måde at finde kampene på. Skriv holdene i to rækker: første halvdel fra venstre mod højre i den øverste række og anden halvdel fra højre mod venstre i den nederste række. Hver kolonne er en kamp.

Med 8 hold ser runde 1 sådan ud: Den øverste række er 1, 2, 3, 4, og den nederste række er 8, 7, 6, 5. Kampene bliver derfor 1 mod 8, 2 mod 7, 3 mod 6 og 4 mod 5.

Fasthold nu hold 1, og roter alle andre hold ét trin med uret omkring det. Hold 2 flytter til den plads, hvor 3 stod, 8 flytter op på hold 2's gamle plads, og så videre. Aflæs de nye kolonner, så har du runde 2. Gentag, indtil du har gennemført n − 1 runder, så har hvert holdpar mødt hinanden præcis én gang.

Trin 3: Excel-formlen, der roterer for dig

Hvis du hellere vil lade regnearket rotere holdene, skal du skrive dem i A2:A9 (otte hold). A2 er det faste hold, mens A3:A9 er de syv hold, der roterer.

Lav et gitter med én række pr. runde og én kolonne pr. kamp. For en runde med nummer R sættes r = R − 1. Den første kamp i hver runde involverer altid det faste hold:

  • Kamp 1 hjemme: =$A$2
  • Kamp 1 ude: =INDEX($A$3:$A$9, MOD(r, 7) + 1)
  • Kamp k+1 hjemme (k = 1, 2, 3): =INDEX($A$3:$A$9, MOD(r + k, 7) + 1)
  • Kamp k+1 ude (k = 1, 2, 3): =INDEX($A$3:$A$9, MOD(r - k + 7, 7) + 1)

Runde 1 bliver 1 v 2, 3 v 8, 4 v 7, 5 v 6. Runde 2 bliver 1 v 3, 4 v 2, 5 v 8, 6 v 7. Hvert hold optræder præcis én gang pr. runde, og ingen par mødes igen.

De parringer er ikke de samme som den håndtegnede runde 1 i trin 2, fordi formlen starter rotationen fra en anden position på cirklen. Begge er komplette, gyldige puljespil — et puljespil har mange korrekte rækkefølger, og det afgørende er, at hvert par mødes præcis én gang. Vælg én metode, og hold dig til den i stedet for at sammenligne dem.

Hvis du vil tilpasse den til et andet antal hold, skal du erstatte de to 7-taller med n − 1 og bruge dit eget område. + 7 i ude-formlen er kun med for at holde resultatet positivt før MOD — det skal også være n − 1.

Trin 4: Håndtér et ulige antal hold med en frirunde

Cirkelmetoden kræver et lige antal. Hvis der er et ulige antal hold, kan du tilføje en fiktiv post kaldet “Bye” for at få antallet op på et lige tal. Det hold, der trækkes mod Bye, sidder over i den runde.

Syv rigtige hold bliver til otte poster, så du får 7 runder i stedet for 6, og hvert hold sidder over præcis én gang. Husk at filtrere rækkerne med Bye fra, før du offentliggør noget, ellers møder en træner op for at spille mod ingen.

Når regnearket ikke længere hjælper

Alt ovenfor løser, hvem der spiller mod hvem. Det løser ikke, hvornår og hvor kampene spilles, og det er den del, der virkelig sluger en arrangørs uge.

Så snart du tildeler runderne til rigtige baner og kamptider, dukker der et nyt sæt regler op, og Excel aner ikke, hvad de går ud på:

  • To kampe på samme bane på samme tid
  • Et hold, der er sat til at spille på to baner i samme tidsrum
  • Et hold, der slutter på én bane og skal spille på en anden få minutter senere
  • Hold, der rejser, og som ikke kan starte før et bestemt tidspunkt
  • En dommer, der bliver bedt om at dømme en kamp, som eget hold spiller
  • Aldersgrupper, der skal være færdige og hjemme tidligt på eftermiddagen
En kampliste med tidspunkt, bane, pulje og resultat for hver kamp i én tabel — den oversigt, arrangører ellers vedligeholder manuelt i et regneark

Du kan løse noget af det med betinget formatering og stor omhu. Men et regneark kan ikke beregne planen igen. Når et hold trækker sig torsdag, eller regn gør en bane utilgængelig om morgenen, passer den plan, du omhyggeligt lavede, ikke længere, og alle efterfølgende celler skal ændres manuelt.

Den hurtigere løsning: Lad en planlægningsmotor placere kampene

Hver af disse regler er en begrænsning, og det er netop den slags begrænsninger, kampprogramsoftware er lavet til at håndtere. FairGame tager dine hold, baner og ledige tidsrum og giver dig et komplet puljespil — alle kampe placeret, ingen sammenfald, passende pauser og ingen dommere med dobbeltbookinger — på sekunder i stedet for flere aftener.

Du skriver reglerne én gang som ufravigelige krav eller ønsker, og hvis dagen reelt ikke kan rumme det hele, fortæller systemet dig hvorfor og hvad du kan ændre, i stedet for stille at fjerne kampe. Når et hold trækker sig, laver systemet de berørte kampe om, så du ikke skal begynde forfra.

Dialogboksen til automatisk kampprogram kører planlægningsmotoren og placerer alle puljekampe på turneringens to dage i én samlet beregning
Én beregning placerer hele kamplisten med hensyn til pauser, baner og dommertildelinger.

Ofte stillede spørgsmål

Hvor mange kampe er der i et puljespil med 8 hold?
28 kampe. Formlen er n × (n − 1) ÷ 2, så 8 × 7 ÷ 2 = 28. De 28 kampe spilles over 7 runder med 4 samtidige kampe. Et puljespil med hjemme- og udekampe fordobler tallet til 56.
Har Excel en skabelon til puljespil?
Excel har ikke en officiel generator til puljespil. Der findes skabeloner fra brugere, men de fleste er låst til et bestemt antal hold, så opsætningen går i stykker, hvis du ændrer antallet af hold. Det er mere pålideligt selv at bygge den med cirkelmetoden og en INDEX/MOD-formel, fordi du kan ændre størrelsen ved at ændre ét tal.
Hvordan håndterer du et ulige antal hold i et puljespil?
Tilføj et fantomhold, der giver en frirunde, så antallet bliver lige. Det hold, der trækkes mod fantomholdet, holder fri i den runde. Et ulige antal på n hold giver n runder i stedet for n − 1, og hvert hold får præcis én frirunde i løbet af turneringen.
Hvad er cirkelmetoden?
En metode til at lave kampprogrammer til puljespil, hvor ét hold bliver på sin plads, mens alle andre roteres én plads rundt om det for hver runde. De hold, der står over for hinanden i cirklen, spiller mod hinanden i den runde. Ved et lige antal hold giver metoden et komplet kampprogram på n − 1 runder uden gentagne kampe.
Kan Excel placere kampe på baner og tidspunkter?
Ikke af sig selv. Excel kan lave kampene, men kan ikke håndtere ledige baner, pauser mellem kampe, transporttid eller dommerkonflikter. Det kan heller ikke beregne kampprogrammet igen, når noget ændrer sig. Det er her, arrangører går over til dedikeret software til kampprogrammer.

Lad FairGame stå for kampprogrammet

Importér dine hold, og lad FairGame lave et kampprogram uden konflikter på få sekunder – med puljer, stilling og slutspilsskema. Gratis for op til 16 hold.

Opret din turnering
Tilbage til alle artikler