Condividi:        

[Excel] Classifica automatica con condizione

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[Excel] Classifica automatica con condizione

Postdi marchio11 » 14/03/12 09:22

Salve a tutti, mi sto cimentando nella creazione di una classifica automatica e mi ritrovo un problema abbastanza strano che non riesco a risolvere.
Innanzitutto premetto che non essendo molto pratico dell'argomento in questione, mi sono basato su questa guida, adattando la formula alle mie esigenze.
In parole semplici, il mio file excel è composto da due fogli:
1) "Totali" in cui vi è un elenco di tutte le persone (colonna A), il numero di gare a cui hanno partecipato (colonna B), ed il punteggio ottenuto (colonna C);
2) "Classifica" in cui vorrei generare la classifica di tutte le persone in base al punteggio ottenuto, a condizione che abbiano disputato almeno 7 gare.

Il problema che si presenta è che la classifica ottenuta non è ordinata correttamente, nel senso che invece di avere un ordine crescente dei punteggi (1,2,3,4,5,ecc...) mi genera dei valori disordinati (1,2,3,6,7,4,5).
Vi allego il file in questione affinchè possiate meglio comprendere la situazione: http://www.mediafire.com/?08hu8uic8dgan44

Come avrete capito sono alle prime armi in materia e non riesco proprio a capire da cosa derivi l'errore, visto che la formula mi sembra copiata esattamente a quella dell'esempio citato sopra.
Qualcuno riesce ad aiutarmi? Grazie.
marchio11
Newbie
 
Post: 6
Iscritto il: 09/09/05 14:13

Sponsor
 

Re: [Excel] Classifica automatica con condizione

Postdi marchio11 » 14/03/12 13:12

Ho trovato finalmente il problema.
Evidentemente il parametro "/10000" all'interno della formula era troppo piccolo. Aggiungendo un paio di zeri la formula funziona perfettamente e la classifica è in perfetto ordine decrescente.

Adesso però avrei un'altra domanda: come posso trasformare la formula precedente in modo che restituisca una classifica in ordine crescente (dal più piccolo al più grande)? Provando a sostituire solo la formula GRANDE con PICCOLO non ottengo un ordinamento corretto.
Di nuovo grazie in anticipo a chi vorrà aiutarmi.
marchio11
Newbie
 
Post: 6
Iscritto il: 09/09/05 14:13

Re: [Excel] Classifica automatica con condizione

Postdi Flash30005 » 14/03/12 15:33

Se quella formula funziona bene con Grande funzionerà altrettanto bene con Piccolo
L'hai provata con grande e hai l'ordinamento in ordine decrescente?
Inoltre stai usando con un riferimento o con due?

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel] Classifica automatica con condizione

Postdi Anthony47 » 14/03/12 15:53

Secondo me puoi rimuovere tutta la parte +RIF.RIGA(Totali!$C$2:$C$178)/10000 : in genere questa tecnica si usa per risolvere eventuali possibilita' di ex-aequo; essendo pero' i dati di partenza (Col C di Totali) gia' con 15 cifre di precisione (il max che excel puo' gestire) (1) le chanche di avere due numeri uguali (dopo 7 partite) e' pari a "quasi niente" e (2) il valore che aggiungi non puo' aumentare la precisione del risultato, puo' solo inquinarlo.

Inoltre la formula ha un errore che non ti consente di mettere in classifica chi ha giocato solo 7 partite; la formula corretta e'
Codice: Seleziona tutto
=SE(RIF.RIGA(A2)-RIF.RIGA($A$1)>CONTA.SE(Totali!$B$2:$B$178;">=7");"";(INDICE(Totali!$A$2:$A$178;CONFRONTA(GRANDE((Totali!$C$2:$C$178)*(Totali!$B$2:$B$178>=7)+RIF.RIGA(Totali!$C$2:$C$178)/10000;RIF.RIGA(A2)-RIF.RIGA($A$1));(Totali!$C$2:$C$178)*(Totali!$B$2:$B$178>=7)+RIF.RIGA(Totali!$C$2:$C$178)/10000;0))))
Da confermare con Contr-Maiusc-Enter

La formula per la classifica crescente e'
Codice: Seleziona tutto
=SE(RIF.RIGA(A2)-RIF.RIGA($A$1)>CONTA.SE(Totali!$B$2:$B$178;">7");"";(INDICE(Totali!$A$2:$A$178;CONFRONTA(GRANDE((Totali!$C$2:$C$178)*(Totali!$B$2:$B$178>=7);1+CONTA.SE(Totali!$B$2:$B$178;">=7")-RIF.RIGA(A1));(Totali!$C$2:$C$178)*(Totali!$B$2:$B$178>=7);0))))
Sempre Contr-Maiusc-Enter
Da mettere in B2 e poi copiare verso il basso fintanto che non hai risultato "vuoto"

@Flash: No, quella formula non lavora altrettanto bene con Piccolo

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Classifica automatica con condizione

Postdi marchio11 » 14/03/12 16:23

Cosa dire? Funziona tutto perfettamente adesso! :D Non ci sarei mai arrivato da solo!
Ti ringrazio anche per il consiglio sulla parte di formula da eliminare, ma nonostante sia effettivamente molto strano in alcuni casi ci sono dei pari-merito e quindi sono costretto a lasciarla.

Ovviamente un grazie anche a Flash per l'interessamento. ;)
marchio11
Newbie
 
Post: 6
Iscritto il: 09/09/05 14:13


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Classifica automatica con condizione":


Chi c’è in linea

Visitano il forum: Nessuno e 90 ospiti