Por qué la hoja de cálculo se rompe
Todo empieza igual: una pestaña con los equipos, otra con las jornadas y un cuadro de doble entrada donde ir tachando los cruces ya asignados. Con seis equipos funciona. Con catorce, en dos grupos y con media liga pidiendo jugar el domingo, deja de funcionar: dos equipos que se cruzan dos veces en la ida y otros dos que no se cruzan nunca, un equipo con cuatro jornadas seguidas en casa, partidos en el fin de semana del puente y una jornada movida en el calendario pero no en la clasificación.
La buena noticia: cuadrar una liga es un problema resuelto desde hace más de un siglo. Se llama sistema de Berger.
El sistema de Berger: todos contra todos, una sola vez
Las tablas de Berger son el método clásico para construir un torneo de todos contra todos. Se usan en ajedrez desde el siglo XIX y valen igual para una liga de pelota, de remo o de fútbol sala. Con N equipos hacen falta N−1 jornadas.
Cómo funciona la rotación
El equipo que ocupa la última posición de la lista es el pivote: no rota con los demás, recibe un rival distinto cada jornada y alterna estrictamente casa y fuera. El resto se empareja girando dos índices en sentidos opuestos, uno que sube y otro que baja. Ese giro garantiza lo que a mano cuesta asegurar: que ningún emparejamiento se repite y que nadie se queda sin jugar.
Con seis equipos (A, B, C, D, E y F, en ese orden) salen cinco jornadas, con el local a la izquierda:
- Jornada 1: A–F · B–E · C–D
- Jornada 2: F–D · E–C · A–B
- Jornada 3: B–F · C–A · D–E
- Jornada 4: F–E · A–D · B–C
- Jornada 5: C–F · D–B · E–A
Quince partidos: las quince parejas posibles con seis equipos, sin una repetición. Y fíjate en F, el pivote: fuera, casa, fuera, casa y fuera.
Equipos impares e ida y vuelta
Berger necesita un número par de participantes. Si tu liga tiene siete equipos, el generador añade antes de calcular un equipo ficticio de descanso y lo trata como uno más: quien queda emparejado con ese participante fantasma descansa esa jornada. El descanso rota solo, le toca a todos una vez y queda marcado como tal.
La segunda vuelta tampoco se calcula aparte: se duplica la primera invirtiendo local y visitante. Una casilla convierte cinco jornadas en diez. Y como la vuelta es el espejo exacto de la ida, el sistema sabe cuál es el partido recíproco de cada uno; eso importa al permutar campos.
Grupos y cuadros eliminatorios
Si la competición tiene fase de grupos, indicas cuántos quieres y el sistema reparte los equipos entre ellos. Dentro de cada grupo se aplica el mismo round-robin, con descanso automático si el grupo queda impar y con la opción de ida o de ida y vuelta.
Las eliminatorias se montan con siembra estándar: 1 contra 4 y 2 contra 3, un esquema que se extiende de forma recursiva a cuadros de ocho, dieciséis o treinta y dos, de modo que los dos primeros cabezas de serie solo pueden verse en la final. ¿Y si no tienes 8, 16 o 32 equipos exactos? Es el caso normal y está resuelto: el sistema calcula cuántos sobran respecto a la potencia de dos inferior y crea una ronda previa solo para ellos; los mejor situados entran en la ronda siguiente con un bye. Cada ronda, además, se configura por separado a partido único o a doble partido.
Las restricciones del mundo real
Un calendario impecable sobre el papel es inservible si programa la jornada 12 en Navidad. Al colocar las fechas se aplica:
- Semanas de festivos: marcas los festivos de la temporada y el generador salta entera cualquier semana que contenga uno; no mueve el partido dos días, descarta la semana.
- Día de la jornada: eliges en qué día de la semana cae, por defecto el sábado.
- Franja horaria del equipo local: cada partido adopta el día y la hora de juego en casa del equipo que recibe. El club que juega los domingos a las 11:00 recibe siempre a esa hora.
Las opciones con las que se construyó el calendario —ida y vuelta, día de la jornada, si el pivote empieza en casa, festivos, número de grupos— se guardan en la propia temporada, no en la cabeza de quien pulsó el botón. Regenerar dentro de dos años reproduce el mismo calendario, y los días festivos se pueden copiar de otra competición, en lugar de volver a marcarlos uno a uno.
Después de generar: el calendario sigue siendo tuyo
Ninguna liga sobrevive a la temporada tal y como se generó. Todo es editable:
- Edición manual: añadir o quitar jornadas y partidos, cambiar los equipos de un cruce y editar la fecha oficial y la visible.
- Permutar local y visitante: un clic invierte el campo de un partido y sincroniza el de vuelta, para que ida y vuelta no acaben jugándose en el mismo sitio.
- Aviso de coincidencias: si dos equipos del mismo club quedan como locales el mismo día y a la misma hora, el sistema te lo avisa antes de publicar.
Las peticiones de aplazamiento llegan igual, pero en lugar de resolverse por teléfono se solicitan desde la app, y el club rival responde también desde la app. La organización define antes las ventanas: horas mínimas de antelación, últimas jornadas ya no aplazables y días máximos que un partido puede moverse.
El calendario de cada equipo, en PDF
Con el calendario cerrado, cada equipo descarga el suyo en PDF: sus partidos, fechas y horas, con el logotipo y el nombre de la organización que lo publica. Es el documento que se cuelga en el tablón, y no lo maqueta nadie.
Empieza por la lista de equipos
Generar el calendario de una liga no debería comerte el mes de agosto. Con los equipos cargados, su franja horaria configurada y los festivos marcados, la temporada completa —ida y vuelta, descansos y fechas reales— es cuestión de un botón. Si quieres verlo con tu competición, prueba DMS Manager gratis 14 días y genera tu primera temporada en una tarde.