Eh, il fatto che risponda a un quesito riguardante (mettiamo) il lotto non mi trsforma in esperto del settore...
Intanto questo significa che nella colonna "Ruolo" non possono esserci valori "0", come invece siccede nel tuo file con Buffon e Abate e altri... Ho quindi inserito su foglio Voti, in coda, i nominativi Buffon con ruolo P (questo lo so), Abate, Marchisio, Jovetic, Hernanes e Amauri con ruoli inventati; questo compila su foglio Formazioni la colonna Ruolo e lascia il Voto a 0.
Per non complicarmi la vita ho poi inserito in un Modulo standard del vba (ho usato Modulo8) questa "funzione":
- Codice: Seleziona tutto
Function ScorePanc(ByRef TitScore As Range, ByRef PanchScore As Range, ByRef
myRol As Range) As Single
'Vedi http://www.pc-facile.com/forum/viewtopic.php?f=26&t=92851&p=551842#p551842
'
Dim Cell, Gia As Long, Need As Long
'
VotiArea = "voti!$C$2:$AF$400" '<<< Foglio e Area in cui si trovano nominativi e votazioni
Votocol = 18 '<<< La Colonna all' interno di VotiArea in cui si trova il Voto
'
Need = Application.Evaluate("sumproduct(--(" & TitScore.Offset(0, -1).Address & "=""" & _
myRol & """)," & "--(" & TitScore.Address & "=0))")
'
For Each Cell In Range(PanchScore.Range("A1"), myRol.Offset(0, 1))
'aaa = Cell.Address
If Cell.Address = myRol.Offset(0, 1).Address Then Exit For
If Cell.Offset(0, 1).Value <> 0 And Cell.Offset(0, -1) = myRol Then Gia = Gia + 1
Next Cell
'
If Gia >= Need Then Exit Function
ScorePanc = Application.WorksheetFunction.VLookup(myRol.Offset(0, -1).Value, Range(VotiArea), Votocol, 0)
End Function
A questo punto in D14 di Formazioni ho inserito la formula
- Codice: Seleziona tutto
=ScorePanc($D$3:$D$13;$D$14:$D$20;C14)
e l' ho copiata verso il basso per gli altri panchinari
La sintassi di ScorePanch e'
ScorePanc(IntervalloVotiTitolari; IntervalloVotiRiserve; Ruolo); in dettaglio:
-nome funzione, ScorePanc
-primo parametro, intervallo in cui si trovano i punteggi dei Titolari; a sinistra di questi dati si trovera' la colonna Ruolo
-secondo parametro, intervallo in cui si trovano i pnteggi delle Riserve, con a sx la colonna dei Ruoli
-terzo parametro, la cella in cui si trova il Ruolo della riserva di cui calcolare il punteggio (da scegliersi tra il suo voto e 0)
La tabella dove sono presenti i voti e' invece descritta all' interno della macro (le righe marcate <<<)
Questo dovrebbe restituirti in quell' area i voti di tanti panchinari quanti sono i titolari aventi lo stesso ruolo che hanno punteggio 0.
Es, se 2 titolari con ruolo C e 2 con ruolo A sono a 0, ti troverai con 2 riserve C e 2 riserve A con il voto; totale 4 voti di riserve e 7 di titolari. Pero' mi sembra di ricordare che ci fosse qualche altro vincolo, che eventualmente devi precisare tu.
Nella formula che ti ho dato ho usato il $ (simbolo di indirizzamento assoluto) per poterla copiare su tutte le celle della squadra e su altre squadre in orizzontale (es I14:I20, N14:N20, etc), mentre se devi spostarla in verticale (es in D35:D41) devi correggere di conseguenza.
Ciao
Corretto il listing della Udf, storpiata da un inferice editing al momento della pubblicazione.
Esiste una versione aggiornata in un messaggio successivo.
Anthony