› Excel e gli applicativi Microsoft Office › Formula classifica tabella
-
AutoreArticoli
-
Buongiorno a tutti,
ho il seguente problema con una tabella.
Ho una serie di classifiche, di seguito l'una all'altra tutte nella stessa tabella, inserite in ordine temporale (ore 10:30;11:00; 11;30 ecc). Con una formula da me impostata (funzione RANGO) riesco ad ottenere una classifica che, tuttavia, tiene conto dell'ordine di grandezza di ciascun punteggio (colonna "score") nei diversi orari di partenza delle gare, ma non riesce ad esprimere correttamente la reale posizione in classifica in quanto, in presenza di punteggi duplicati salta di una posizione (la funzione RANGO mi restituisce le posizioni 1,1,3,4,4,6 ANZICHE' 1,1,2,3,3,4).
Per ottenere il risultato voluto, e cioè le reali posizioni (1,1,2,3,3,4), ho provato a creare una formula con la funzione frequenza solo che non ci sono riuscito.
Se vi allego il file excel, qualcuno di voi potrebbe aiutarmi con la formula corretta?
Per comodità ho già inserito, nel foglio allegato, nella colonna E la formula con la funzione RANGO. Ho lasciato volutamente vuota la colonna F così da poter inserire la formula che consenta di ottenere la corretta posizione in classifica, in base al punteggio (score) di ciascun partecipante ed all'orario in cui verrà disputata la gara.
Grazie mille a tutti per i vostri contributi
Versione Office: Office 2021
Allegati:
You must be logged in to view attached files.Aspettando i Maghi delle Formule, nel frattempo trovo logico che i primi a parimerito facciano "saltare" la seconda posizione. Cioe' non mi sembra illogico che i primi due ex aequo occupino la posizione "1" mentre la posizione "2" non viene assegnata e si passa alla posizione "3". Ma probabilmente mi dirai che si tratta di una convenzione, e che bisogna adeguarsi alla richiesta dell'utente
Comunque in testa mi frulla l'idea di verificare che se nella cella dei valori si trova un valore maggiore della cella sopra, si aumenta di una posizione quella appena assegnata altrimenti si assegna la stessa posizione.
In B1 ho messo "1" e in B2 la formula =SE(A2=A1;B1;B1+1) poi trascinata in basso.
Ciao vecchi frac e intanto grazie per la tua risposta.
Allora, con riferimento alla tua prima osservazione : "Aspettando i Maghi delle Formule, nel frattempo trovo logico che i primi a parimerito facciano "saltare" la seconda posizione. Cioe' non mi sembra illogico che i primi due ex aequo occupino la posizione "1" mentre la posizione "2" non viene assegnata e si passa alla posizione "3". Ma probabilmente mi dirai che si tratta di una convenzione, e che bisogna adeguarsi alla richiesta dell'utente"
Ti confermo che è una mia precisa richiesta quella di ottenere le esatte posizioni e non l'ordine di grandezza del valore del punteggio. Quindi ho necessità che la formula legga esattamente le posizioni (1,1,2,3,3,4,5,6,6,6,7 ecc).
Con riferimento alla tua seconda osservazione : "Comunque in testa mi frulla l'idea di verificare che se nella cella dei valori si trova un valore maggiore della cella sopra, si aumenta di una posizione quella appena assegnata altrimenti si assegna la stessa posizione."
Non ho capito bene cosa intendi, tuttavia, sono riuscito ad ottenere le corrette posizioni utilizzando la seguente formula con la funzione FREQUENZA combinata con SOMMA SE: =SOMMA(SE(D3<D:D;--(FREQUENZA(D:D;D:D)>0))).
Il problema è che il risultato che mi restituisce, è corretto in termini assoluti (nel senso che prende correttamente in considerazione la posizione di ciascun concorrente in base al valore del punteggio) tuttavia lo rapporta con l'intero elenco di valori della colonna "score" e non con quella parte di valori della colonna "score" che è delimitata dall'orario di partenza della singola gara (in sostanza non calcola la corretta posizione della classifica per quel determinato orario di partenza della gara, ma lo fa solo con riferimento a tutti i valori di tutte le gare che si svolgono in diversi orari).
Quindi avrò le posizioni correttamente indicate, ad esempio, dalla 1 alla 40, ma non avrò le posizioni dalla 1 alla 15 per la gara delle 10:30; dalla 1 alla 15 per la gara delle 13:00 ecc.
Spero di essere stato piu' chiaro e, ad ogni modo, per una migliore visione d'insieme, nel foglio allegato, ho aggiunto, nella colonna F "CLASSIFICA", la formula con la funzione FREQUENZA combinata con la funzione SOMMA SE che mi restituisce, tuttavia, la posizione assoluta di ciascun punteggio rispetto all'intero elenco e non alla singola gara distinta per orario.
Chiedo, appunto, un aiuto per la compilazione della formula, con riferimento a ciascuna singola gara.
Allegati:
You must be logged in to view attached files.ciao
prova questa
=SOMMA(SE.ERRORE(SE(--(D2<SCARTO(INDIRETTO("D"&CONFRONTA($B2;$B$1:$B$1000;0));;;CONTA.SE($B$2:$B$1000;$B2)));--(FREQUENZA(SCARTO(INDIRETTO("D"&CONFRONTA($B2;$B$1:$B$1000;0));;;CONTA.SE($B$2:$B$1000;$B2));SCARTO(INDIRETTO("D"&CONFRONTA($B2;$B$1:$B$1000;0));;;CONTA.SE($B$2:$B$1000;$B2)))>0));0);1)
ma visto che hai il 2021
=SOMMA(SE.ERRORE(SE(--(D2<FILTRO($D$2:$D$1000;$B$2:$B$1000=$B2;0));--(FREQUENZA(FILTRO($D$2:$D$1000;$B$2:$B$1000=$B2;0);FILTRO($D$2:$D$1000;$B$2:$B$1000=$B2;0))>0));0);1)
esattamente
Grazie Gianfranco55. La formula funziona perfettamente.
Non ci sarei mai riuscito, se non tra 150 anni...
Veramente grazie!!!
Io ho applicato lo stesso principio della mia formula precedente, ampliandolo.
Prima ho ordinato la tabella per Time e Score (dal maggiore al minore).
Poi ho applicato il metodo già visto: un 1 nella prima cella (g2 nel mio esempio) e poi la formula =SE(B3=B2;SE(D3=D2;G2;G2+1);1) (da G3 in giù), la quale semplicemente controlla che per ogni cella l'orario di arrivo sia quello del gruppo precedente e in quel caso controlla se lo score è uguale al precedente: se lo score è uguale assegna lo stesso numero di ordine altrimenti lo aumenta di uno. Se l'orario di partenza è diverso dal precedente, allora comincia un nuovo gruppo e la cella è reimpostata sul valore 1. Allego file.
Allegati:
You must be logged in to view attached files.prova questa
Suppongo che questa funzioni senza il previo riordinamento della tabella.
Grazie per l'ulteriore contributo!
Grazie mille!!!
-
AutoreArticoli