tipo:
Sesso Punteggio Classifica
maschio 10 1
maschio 10 1
maschio 10 1
maschio 5 2
maschio 5 2
maschio 3 3
maschio 2 4
femmina 9 1
femmina 8 2
femmina 5 3
femmina 5 3
femmina 3 4
Grazie.
in A2:A10
m, m, f, f, m, f, f, m, ...
in B2:B10
il punteggio
in C2:C10
=RANGO(B2;$B$2:$B$10)-MATR.SOMMA.PRODOTTO(1*($B$2:$B$10>B2);1*($A$2:$A$10<>A2))
.f
fernando cinquegrani
Microsoft MVP
http://www.prodomosua.it
Sesso Punteggio Classifica
m 10 1
m 10 1
m 10 1
m 5 4
m 1 6
m 2 5
f 9 1
f 8 2
f 5 3
f 3 4
Ma se, invece, volessi considerare il sesso discriminante per far
'ricominciare' una nuova graduatoria, cioè ottenere:
Sesso Punteggio Classifica
m 10 1
m 10 1
m 10 1
m 5 2 *
m 1 4 *
m 2 3 *
f 9 1
f 8 2
f 5 3
f 3 4
come dovrei modificare la formula:
o qualunque altro elemento da raggruppare
m, m, f, f, m, f, f, m, r, t, s, s, t, r, f, ...
oops! veramente io avevo risposto a questa seconda domanda.
ora non capisco la prima...
.f
(quello che manualmente potrei fare distinguendo/ordinando: 1° ogni
sesso-codice a-z, 2° per progressione di punteggio z-a)
senza che il punteggio dell'altro sesso-codice interferisca con quello in
esame:
le righe con '*' sono quelle in cui la tua formula non considera nel mio
calcolo.
Sesso Punteggio Classifica
m 10 1
m 10 1
m 10 1
m 5 2 *
m 1 4 *
m 2 3 *
f 9 1
f 8 2
f 3 4
f 5 3
no, maurizio. la mia formula considera effettivamente due
(o più classifiche) distinte. è il tuo modo di considerare
la posizione d'ordine di una classifica che presenti pari merito
che è strano: solitamente si adotta questa
=RANGO(B2;$B$2:$B$11)-MATR.SOMMA.PRODOTTO(1*($B$2:$B$11>B2);1*($A$2:$A$11<>A2))
[tre primi a pari merito, quello immediamente inferiore è quarto]
oppure questa
=RANGO(B2;$B$2:$B$11)+MATR.SOMMA.PRODOTTO(1*($A$2:A2=A2);1*($B$2:B2=B2))-1-MATR.SOMMA.PRODOTTO(1*($B$2:$B$11>B2);1*($A$2:$A$11<>A2))
[nessun pari merito, tutte le posizioni sono occupate]
per fare quello che chiedi forse è meglio una funzione utente.
con le formule potresti arrivarci con
in E2:E11
=SE(MATR.SOMMA.PRODOTTO(1*($B$2:B2=B2);1*($A$2:A2=A2))>1;MIN($B$2:$B$11)-1;B2)
in F2:F11
=RANGO(E2;$E$2:$E$11)-MATR.SOMMA.PRODOTTO(1*($E$2:$E$11>E2);1*($A$2:$A$11<>A2))
e, infine, in G2:G11
=INDICE($F$2:$F$11;CONFRONTA(A2&B2;$A$2:$A$11&$E$2:$E$11;0))
[Cntl+Maiusc+Invio]
.f
> per fare quello che chiedi ...