read this article in English

Oggi voglio proporvi la mia personale soluzione su come gestire con excel un campionato sportivo che adotti la cosiddetta "classifica avulsa" per le situazioni di parimerito.
Chiariamo subito il concetto di "classifica avulsa":

La classifica avulsa è un criterio utilizzato in competizioni per sport di squadra a cui si fa ricorso quando almeno 2 squadre totalizzano, al completamento del girone, lo stesso numero di punti.

Nel file di esempio, che non fa uso di macro, ho utilizzato il campionato di calcio di Serie A 2015/2016.

Regole del campionato

Molti di voi sapranno che nel campionato di calcio di serie A, l'ordinamento della classifica si basa sulla somma dei punti ottenuti da ciascuna squadra (3 punti per una vittoria, 1 per un pareggio e 0 per una sconfitta): banalmente, chi ha più punti è davanti.

Quando due o più squadre sono a parimerito, valgono le seguenti regole:

  • A campionato non ancora terminato:
    1. Partite giocate = la squadra a pari punti con meno partite giocate va davanti
    2. Differenza reti = la squadra con miglior differenza tra gol fatti e gol subiti va davanti
    3. Maggior numero di reti segnate = la squadra con più gol segnati in assoluto va davanti
    4. Sorteggio = ho applicato l'ordine alfabetico delle squadre
  • Solo a campionato terminato si procede alla compilazione di una graduatoria fra le squadre a parimerito (la cosiddetta "classifica avulsa"), tenendo conto nell'ordine:
    1. Partite giocate = la squadra a pari punti con meno partite giocate va davanti
    2. Punti conseguiti negli scontri diretti tra tutte le squadre della "classifica avulsa"
    3. Differenza reti negli scontri diretti tra tutte le squadre della "classifica avulsa"
    4. Differenza reti nell'intero Campionato
    5. Maggior numero di reti segnate nell'intero Campionato
    6. Sorteggio = ho applicato l'ordine alfabetico delle squadre

Al termine del campionato preso in considerazione, abbiamo 3 coppie di squadre che necessitano del calcolo della "classifica avulsa" per determinare la posizione finale.
Vuol dire che prima di poter compilare la classifica finale, dovremo costruire 3 classifiche (una per ciascuna coppia) per stabilire l'ordine finale.
Ma come possiamo rendere dinamico ed automatizzato questo calcolo?

Struttura del file

Il file contiene 3 fogli: calendario, classifica e calcoli.
I nomi dei fogli però sono irrilevanti perché tutto il file si basa su tabelle, che rende tutto un po' più dinamico di per sé.

Nel foglio calendario abbiamo la nostra lista di partite dalla giornata 1 alla 19. E' importante notare che:

  • Ogni giornata è una tabella con il proprio nome (giornata1, giornata2, [...], giornata19), ma con la stessa struttura. Le righe con le intestazioni sono nascoste per "bellezza", ma sono nell'ordine:
    • ris1: gol segnati dalla squadra a sinistra (andata)
    • ris2: gol segnati dalla squadra a destra (andata)
    • casa: squadra a sinistra
    • trasferta: squadra a destra
    • ris3: gol segnati dalla squadra a sinistra (ritorno)
    • ris4: gol segnati dalla squadra a destra (ritorno)

Nel foglio classifica abbiamo la nostra classifica finale dopo tutti i calcoli.

Nel foglio calcoli abbiamo un bel po' di tabelle e calcoli:

  • Tabella helper: è una semplice tabella di aiuto che ci permetterà di elencare dinamicamente le tabelle delle giornate una sotto l'altra.
  • Tabella risultati: elenca dinamicamente tutte le partite provenienti dalle varie giornate e calcola i punti guadagnati da ciascuna squadra (andata e ritorno), i gol fatti/subiti e un riferimento univoco utile per gli scontri diretti.
  • Tabelle punti e differenzareti: elencano i punti e la differenza reti della squadra in orizzontale contro la squadra in verticale. Queste tabelle saranno utilizzate solo in caso di necessità della classifica avulsa.
  • Tabella classifica: è un po' la somma di tutto quello che c'è nel foglio. Elenca e ordina le squadre per punti, determina se il campionato è concluso e quindi quale criterio usare per ordinare le squadre (vedi sopra). Elenca inoltre le squadre a parimerito che necessitano della classifica avulsa che viene calcolata nella tabella successiva.
  • Tabella avulsa: stabilisce per un massimo di 5 situazioni di parimerito (tra 2 o più squadre), l'ordine di arrivo per le squadre in oggetto. Il file può essere espanso per gestire più situazioni, ma trovo difficile che siano necessarie oltre le 5

Cosa cambiare per personalizzare il file

Nel caso voleste utilizzare la stessa struttura per un campionato diverso (es. Serie A di questo anno) o per un campionato personale che però segua le stesse regole, vi elenco le cose da cambiare.

  • Nella tabella helper, alla colonna Nome Tabella, dovete inserire / sostituire / aggiungere / eliminare i nomi che avete assegnato alle tabelle in base al numero effettivo delle giornate e delle squadre che avete.
  • Nelle tabelle punti e differenzareti, i nomi delle intestazioni non possono essere definiti dinamicamente. Dovrete quindi copiare ed incollare la lista univoca delle squadre in orizzontale (quelle in verticale si completeranno di conseguenza).
  • FINITO. Vi avevo promesso che fosse automatizzato no?

Ultime considerazioni e note finali

  • Immagino ci siano molti modi di "affrontare" il problema della classifica avulsa ed anche diversi approcci nelle formule da usare. Questa è la mia soluzione, ma sono ben accetti commenti e consigli su come migliorare.
  • Il file è gratuito e senza protezione in modo che possa essere consultabile, modificabile e spero di aiuto per gli utilizzatori. Non mi interessa altresì essere citato nel caso lo voleste condividere.
  • In rete si trovano moltissimi siti che spiegano ed aiutano gli utenti a trovare e combinare le formule giuste per arrivare al risultato richiesto. Alcuni siti che ho consultato: get-digital-help.com, exceljet.net, blog.jamesbayley.com