Condividi:        

formule excel

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

Re: formule excel

Postdi giank1966 » 07/04/12 20:02

vediamo se riesco a caricare l'immagine......
giank1966
Utente Junior
 
Post: 32
Iscritto il: 05/04/12 11:10

Sponsor
 

Re: formule excel

Postdi giank1966 » 07/04/12 20:09

Anthony47 ha scritto:Ehm... purtroppo non capisco il linguaggio della pesca sportiva, in aggiunta non dai nessuna indicazione sul tracciato dei tuoi dati; quindi non so tradurre in formula quanto dici.
Pubblica uno screenshot da cui si veda quali sono i tuoi dati e in quali righe /colonne si trovano e "forse" potremo fare di piu'.
Per come fare guarda qui: viewtopic.php?f=26&t=80395#p466013
Per pubblicare il link devi aver almeno 3 messaggi pubblicati, puoi scriverne uno vuoto solo per fare numero.

Ciao



http://postimage.org/image/49hhtl7td/
giank1966
Utente Junior
 
Post: 32
Iscritto il: 05/04/12 11:10

Re: formule excel

Postdi giank1966 » 10/04/12 08:29

Immagine

Uploaded with ImageShack.us
giank1966
Utente Junior
 
Post: 32
Iscritto il: 05/04/12 11:10

Re: formule excel

Postdi Anthony47 » 10/04/12 18:31

Ehm... purtroppo l' immagine non mi ha ispirato nulla; anzi non capisco perche' dovrebbe esserci una situazione di ex-equo visto che tra D e C ci sono punteggi e pesi diversi.
Tutto questo ragionando nel mondo di excel, ignorando tutto del mondo fips; ma ce la possiamo fare...
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: formule excel

Postdi giank1966 » 11/04/12 07:07

Anthony47 ha scritto:Ehm... purtroppo l' immagine non mi ha ispirato nulla; anzi non capisco perche' dovrebbe esserci una situazione di ex-equo visto che tra D e C ci sono punteggi e pesi diversi.
Tutto questo ragionando nel mondo di excel, ignorando tutto del mondo fips; ma ce la possiamo fare...


Ciao Anthony,

la questione è molto semplice....
Allora... il punteggio tecnico serve sostanzialmente a determinare, all'interno di un settore di 5 concorrenti, come dice
la parola stessa "tecnicamente", la classifica tenendo presente che, la discriminante nel caso di parità nel numero delle trote, è il peso.... quindi "tecnicamente" il concorrente D prende 2 penalità tecniche e, di contro, il concorrente C ne prende 3 (per effetto del minor peso).

Il punteggio "effettivo" è ciò che "effettivamente" è avvenuto all'interno del settore da 5 concorrenti... quindi "effettivamente" i concorrenti D e C prendono 2,5penalità effettive a testa.... (in questo caso leggendo la classifica del settore non vi è alcuna discriminante... pari pesci = divisione delle penalità tra il numero dei concorrenti
ex-equo).

Tanto per farti un altro esempio, visto che faccio gare da oltre vent'anni (scusa l'o.t.!!!), mi è capitato di vedere, 5 concorrenti con lo stesso numero di pesci quindi classifica tecnica in ordine di peso, e 3 penalità effettive a tutti e 5 i garisti (1+2+3+4+5 / 5)... oppure un concorrente con 10 pesci e altri 4 a 9 ... etc. etc.....

Riassumendo ... sperando di essere stato chiaro, sostanzialmente le due classifiche servono (a) quella tecnica per effettuare le premiazioni (in un settore da 5 garisti vengono premiati il primo ed il secondo), (b) quella effettiva per la classifica generale che terrà conto, all'interno di un campionato che si svolge, ad esempio su 4 gare, della somma delle penalità effettive, poi quelle tecniche, numero di pesci e punti totali.

Ti allego l'immagine della classifica generale (simulata dopo 2 gare)

Attendo Tue ulteriori notizie!
Grazie ancora per l'aiuto :lol:
G ;)



Immagine
giank1966
Utente Junior
 
Post: 32
Iscritto il: 05/04/12 11:10

Re: formule excel

Postdi Flash30005 » 11/04/12 08:00

Potresti inviare il file con i dati di partenza, seguendo la procedura indicata in questo topic?
http://www.pc-facile.com/forum/viewtopic.php?f=26&t=80395ù
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: formule excel

Postdi giank1966 » 11/04/12 10:45

Flash30005 ha scritto:Potresti inviare il file con i dati di partenza, seguendo la procedura indicata in questo topic?
http://www.pc-facile.com/forum/viewtopic.php?f=26&t=80395ù
Ciao


https://rapidshare.com/files/1722523302/calcolo_punteggio_effettivo.xls
giank1966
Utente Junior
 
Post: 32
Iscritto il: 05/04/12 11:10

Re: formule excel

Postdi Flash30005 » 12/04/12 00:31

Per il momento questa macro soddisfa il punteggio da te inviato tramite immagine
Codice: Seleziona tutto
Sub ContaP()
Range("D5:D9").ClearContents
For RR = 5 To 9
If Range("E" & RR) = Range("E" & RR + 1) Then
Range("D" & RR).Value = RR - 4 + 0.5
Else
If Range("E" & RR) = Range("E" & RR - 1) Then
Range("D" & RR).Value = Range("D" & RR - 1).Value
Else
Range("D" & RR).Value = RR - 4
End If
End If
Next RR
End Sub


se non va bene pe altri tipi di condizioni (tipo 1°, 2°, 3° con parità pesci)
dovresti fare ulteriori esempi

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: formule excel

Postdi giank1966 » 12/04/12 06:50

Flash30005 ha scritto:Per il momento questa macro soddisfa il punteggio da te inviato tramite immagine
Codice: Seleziona tutto
Sub ContaP()
Range("D5:D9").ClearContents
For RR = 5 To 9
If Range("E" & RR) = Range("E" & RR + 1) Then
Range("D" & RR).Value = RR - 4 + 0.5
Else
If Range("E" & RR) = Range("E" & RR - 1) Then
Range("D" & RR).Value = Range("D" & RR - 1).Value
Else
Range("D" & RR).Value = RR - 4
End If
End If
Next RR
End Sub


se non va bene pe altri tipi di condizioni (tipo 1°, 2°, 3° con parità pesci)
dovresti fare ulteriori esempi

ciao


Flash!!!! sei 1 mito!!!!
partendo dal mio foglio iniziale Ti mando, appena possibile, le varie combinazioni...

Grazie 100000000 :lol: :lol: :lol:
a presto
Ciao ;)
G
giank1966
Utente Junior
 
Post: 32
Iscritto il: 05/04/12 11:10

Re: formule excel

Postdi giank1966 » 12/04/12 08:51

giank1966 ha scritto:
Flash30005 ha scritto:Per il momento questa macro soddisfa il punteggio da te inviato tramite immagine
Codice: Seleziona tutto
Sub ContaP()
Range("D5:D9").ClearContents
For RR = 5 To 9
If Range("E" & RR) = Range("E" & RR + 1) Then
Range("D" & RR).Value = RR - 4 + 0.5
Else
If Range("E" & RR) = Range("E" & RR - 1) Then
Range("D" & RR).Value = Range("D" & RR - 1).Value
Else
Range("D" & RR).Value = RR - 4
End If
End If
Next RR
End Sub


se non va bene pe altri tipi di condizioni (tipo 1°, 2°, 3° con parità pesci)
dovresti fare ulteriori esempi

ciao


Flash!!!! sei 1 mito!!!!
partendo dal mio foglio iniziale Ti mando, appena possibile, le varie combinazioni...

Grazie 100000000 :lol: :lol: :lol:
a presto
Ciao ;)
G



Ciao Flash....
ho controllato e posso dirti ke la macro funziona alla perfezione solo nel caso in cui
a) non ci sono ex-equo
b) al massimo due coppie di ex-equo

ovvero NON funziona se:
a) tutti con lo stesso numero di pesci
b) tre o quattro concorrenti con lo stesso numero di pesci

Ti
giank1966
Utente Junior
 
Post: 32
Iscritto il: 05/04/12 11:10

Re: formule excel

Postdi Flash30005 » 12/04/12 08:56

Infatti
Vorrei sapere o capire in caso di 3 concorrenti con stessa quantità di pesci al 1° posto, al 2° posto, al 3° posto
con 4 concorrenti pesci uguali al 1° e al secondo posto e infine
con 5 concorrenti con stesso numero di pesci
penso, così, di avere tutte le combinazioni e poter procedere alla modifica della macro

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: formule excel

Postdi giank1966 » 12/04/12 09:36

Flash30005 ha scritto:Infatti
Vorrei sapere o capire in caso di 3 concorrenti con stessa quantità di pesci al 1° posto, al 2° posto, al 3° posto
con 4 concorrenti pesci uguali al 1° e al secondo posto e infine
con 5 concorrenti con stesso numero di pesci
penso, così, di avere tutte le combinazioni e poter procedere alla modifica della macro

ciao


a) 1°, 2° e 3° posto = (1+2+3) / 3 = 2 penalità effettive a testa ... il quarto ed il quinto potrebbero essere a loro volta ex-equo (quindi 4+5/2 = 4,5 a testa)
b) 4 concorrenti al 1° posto = (1+2+3+4 ) / 4 = 2,5 a testa
c) 2°, 3° e 4° posto = 3 a testa

Grazie 10000000 :lol: :lol: :lol:
Ciao
G
giank1966
Utente Junior
 
Post: 32
Iscritto il: 05/04/12 11:10

Re: formule excel

Postdi Flash30005 » 12/04/12 10:54

Prova questa macro
Codice: Seleziona tutto
Sub ContaPT()
Range("D5:D9").ClearContents
Conta = 0
For RR1 = 5 To 8
For RR2 = RR1 + 1 To 9
If Range("E" & RR1).Value = Range("E" & RR2).Value Then
Conta = Conta + 1
End If
Next RR2
Next RR1
Select Case Conta
Case 0
Conta = 1
Case 1
Conta = 2
Case 3
Conta = 3
Case 6
Conta = 4
Case 10
Conta = 5
End Select

For RR = 5 To 9
    If Range("E" & RR) = Range("E" & RR + 1) Then
    ValP = 0
    For RRP = RR - 4 To Conta + RR - 5
    ValP = ValP + RRP
    Next RRP
    ValF = ValP / Conta
        For RRP = RR - 4 To Conta + RR - 5
            Range("D" & RRP + 4).Value = ValF
            RR = RR + 1
        Next RRP
         RR = RR - 1
    Else
    Range("D" & RR).Value = RR - 4
    End If
Next RR

End Sub


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: formule excel

Postdi giank1966 » 12/04/12 11:53

Flash30005 ha scritto:Prova questa acro
Codice: Seleziona tutto
Sub ContaPT()
Range("D5:D9").ClearContents
Conta = 0
For RR1 = 5 To 8
For RR2 = RR1 + 1 To 9
If Range("E" & RR1).Value = Range("E" & RR2).Value Then
Conta = Conta + 1
End If
Next RR2
Next RR1
Select Case Conta
Case 0
Conta = 1
Case 1
Conta = 2
Case 3
Conta = 3
Case 6
Conta = 4
Case 10
Conta = 5
End Select

For RR = 5 To 9
    If Range("E" & RR) = Range("E" & RR + 1) Then
    ValP = 0
    For RRP = RR - 4 To Conta + RR - 5
    ValP = ValP + RRP
    Next RRP
    ValF = ValP / Conta
        For RRP = RR - 4 To Conta + RR - 5
            Range("D" & RRP + 4).Value = ValF
            RR = RR + 1
        Next RRP
         RR = RR - 1
    Else
    Range("D" & RR).Value = RR - 4
    End If
Next RR

End Sub


Ciao


Flash ... sei 1 mito... ripeto...
controlla per favore un ultimo dettaglio.... :roll:
a) 3 pescatori a pari pesci es.: 1°, 2° e 3° (quindi 2 penalità a testa) + 2 pescatori in 4° e 5° posizione (quindi 4,5 penalità a testa)
b) vale anche l'inverso.. ovvero 1° e 2° (1,5 penalità a testa) + 3 pescatori in 3°, 4° e 5° posizione (4 penalità a testa)

Grazie :P
Ciao :lol:

G
giank1966
Utente Junior
 
Post: 32
Iscritto il: 05/04/12 11:10

Re: formule excel

Postdi Flash30005 » 12/04/12 17:10

:roll:
Vediamo ora con questa macro semplificata
Codice: Seleziona tutto
Sub ContaPT2()
Range("D5:D9").ClearContents
Pt = 0
For RR1 = 5 To 9
For RR2 = 9 To RR Step -1
If Range("E" & RR1).Value = Range("E" & RR2).Value Then
Pt = RR2 - RR1 + 1
        ValP = 0
        For RRP = RR1 - 4 To Pt + RR1 - 5
            ValP = ValP + RRP
        Next RRP
        ValF = ValP / Pt
        For RRP = RR1 - 4 To Pt + RR1 - 5
            Range("D" & RRP + 4).Value = ValF
            RR1 = RR1 + 1
        Next RRP
        RR1 = RR1 - 1
        GoTo SaltaRR1
Else
Range("D" & RR1).Value = RR1 - 4
End If
Next RR2
SaltaRR1:
Next RR1
End Sub


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: formule excel

Postdi giank1966 » 12/04/12 19:42

Flash30005 ha scritto::roll:
Vediamo ora con questa macro semplificata
Codice: Seleziona tutto
Sub ContaPT2()
Range("D5:D9").ClearContents
Pt = 0
For RR1 = 5 To 9
For RR2 = 9 To RR Step -1
If Range("E" & RR1).Value = Range("E" & RR2).Value Then
Pt = RR2 - RR1 + 1
        ValP = 0
        For RRP = RR1 - 4 To Pt + RR1 - 5
            ValP = ValP + RRP
        Next RRP
        ValF = ValP / Pt
        For RRP = RR1 - 4 To Pt + RR1 - 5
            Range("D" & RRP + 4).Value = ValF
            RR1 = RR1 + 1
        Next RRP
        RR1 = RR1 - 1
        GoTo SaltaRR1
Else
Range("D" & RR1).Value = RR1 - 4
End If
Next RR2
SaltaRR1:
Next RR1
End Sub


Ciao



Grazie 1000 Flash....
ho provato qui a casa... ma la macro mi da un errore di runtime ??? ho openoffice e non excel di microsoft... può essere quello???

vabbè ... ma sono sicuro ke funziona....domani in ufficio riproverò....

... soltanto un'altra domanda...
... dovrò poi "adattare" la macro al file ufficiale ke utilizzo per la gestione della classifica....
.... come faccio a modificare i vari riferimenti alle celle allinterno della macro?

GRazie e a domani per la conferma ;)
G
giank1966
Utente Junior
 
Post: 32
Iscritto il: 05/04/12 11:10

Re: formule excel

Postdi Flash30005 » 12/04/12 20:06

Ti riposto la macro con i commenti da modificare nel caso non siano uguali

Codice: Seleziona tutto
Sub ContaPT2()
Range("D5:D9").ClearContents  '<<<< Cancellazione del punteggio tecnico da D5 a D9 cambia se non è questo
Pt = 0
For RR1 = 5 To 9     '<<<< queste sono le righe da 5 a 9 varia secondo le esigenze
For RR2 = 9 To RR1 Step -1   '<<<< 9 è la riga ultima varia secondo le esigenze
If Range("E" & RR1).Value = Range("E" & RR2).Value Then '<<<< cambia la colonna se non è la "E" dove c'è il numero dei pesci
Pt = RR2 - RR1 + 1
        ValP = 0
        For RRP = RR1 - 4 To Pt + RR1 - 5
            ValP = ValP + RRP
        Next RRP
        ValF = ValP / Pt
        For RRP = RR1 - 4 To Pt + RR1 - 5
            Range("D" & RRP + 4).Value = ValF  '<<<<< Nella colonna "D" scrive il punteggio tecnico cambia se non è D
            RR1 = RR1 + 1
        Next RRP
        RR1 = RR1 - 1
        GoTo SaltaRR1
Else
Range("D" & RR1).Value = RR1 - 4   '<<<<< Nella colonna "D" scrive il punteggio tecnico cambia se non è D
End If
Next RR2
SaltaRR1:
Next RR1
End Sub


Ciao
P.s. c'era un errore nel codice, errore che ho corretto in questa macro
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: formule excel

Postdi giank1966 » 13/04/12 06:13

Flash30005 ha scritto:Ti riposto la macro con i commenti da modificare nel caso non siano uguali

Codice: Seleziona tutto
Sub ContaPT2()
Range("D5:D9").ClearContents  '<<<< Cancellazione del punteggio tecnico da D5 a D9 cambia se non è questo
Pt = 0
For RR1 = 5 To 9     '<<<< queste sono le righe da 5 a 9 varia secondo le esigenze
For RR2 = 9 To RR1 Step -1   '<<<< 9 è la riga ultima varia secondo le esigenze
If Range("E" & RR1).Value = Range("E" & RR2).Value Then '<<<< cambia la colonna se non è la "E" dove c'è il numero dei pesci
Pt = RR2 - RR1 + 1
        ValP = 0
        For RRP = RR1 - 4 To Pt + RR1 - 5
            ValP = ValP + RRP
        Next RRP
        ValF = ValP / Pt
        For RRP = RR1 - 4 To Pt + RR1 - 5
            Range("D" & RRP + 4).Value = ValF  '<<<<< Nella colonna "D" scrive il punteggio tecnico cambia se non è D
            RR1 = RR1 + 1
        Next RRP
        RR1 = RR1 - 1
        GoTo SaltaRR1
Else
Range("D" & RR1).Value = RR1 - 4   '<<<<< Nella colonna "D" scrive il punteggio tecnico cambia se non è D
End If
Next RR2
SaltaRR1:
Next RR1
End Sub


Ciao
P.s. c'era un errore nel codice, errore che ho corretto in questa macro


Spettacolare!!!!
Grazie 10000000..... ovviamente metterò il copyright quando stampo le classifiche "powered by Flash30005" :D

Adesso provo a sistemare il file ufficiale.... ovviamente se non dovessi riuscirci... dovrò chiedere nuovamente il Tuo
preziosissimo aiuto!!!! ;) ;)

Ancora grazie e ... a presto!!!
Ciao ;)

G
giank1966
Utente Junior
 
Post: 32
Iscritto il: 05/04/12 11:10

Re: formule excel

Postdi Anthony47 » 13/04/12 11:06

In alternativa alla macro dovrebbe andare bene anche questa formula
Codice: Seleziona tutto
=SOMMA.SE(D$2:D$6;D2;C$2:C$6)/CONTA.SE(D$2:D$6;D2)

E' basata su questo layout dati:
Immagine

Uploaded with ImageShack.us
Produce il risultato scritto in rosso.

Se il foglio contiene ulteriori gruppi di concorrenti, allora vanno riposizionati i riferimenti D$2:D$6 (2 volte) e C$2:C$6: copiata la formula in prima posizione si preme F2 e si trascinano col mouse i vari contorni cella; Enter e poi si copia la formula nelle posizioni sottostanti.

In alternativa si puo' usare questa formula che puo' essere copiata verso il basso su tutti i gruppi di concorrenti:
Codice: Seleziona tutto
=SOMMA.SE(SCARTO($D$1;CERCA(2;1/(C$1:C2=1);RIF.RIGA(C$1:C2))-1;0;5;1);D2;SCARTO($D$1;CERCA(2;1/(C$1:C2=1);RIF.RIGA(C$1:C2))-1;-1;5;1))/CONTA.SE(SCARTO($D$1;CERCA(2;1/(C$1:C2=1);RIF.RIGA(C$1:C2))-1;0;5;1);D2)

Presuppone che i concorrenti siano gia' posizionati in ordine di "punteggio tecnico" crescente (colonna C crescente).

Se i gruppi non sono di 5 concorrenti nella formula vanno modificati quei tre "5" col numero effettivo di concorrenti (si modifica sulla prima posizione e poi si copia sui concorrenti sottostanti).

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

Re: formule excel

Postdi giank1966 » 13/04/12 11:40

Anthony47 ha scritto:In alternativa alla macro dovrebbe andare bene anche questa formula
Codice: Seleziona tutto
=SOMMA.SE(D$2:D$6;D2;C$2:C$6)/CONTA.SE(D$2:D$6;D2)

E' basata su questo layout dati:
Immagine

Uploaded with ImageShack.us
Produce il risultato scritto in rosso.

Se il foglio contiene ulteriori gruppi di concorrenti, allora vanno riposizionati i riferimenti D$2:D$6 (2 volte) e C$2:C$6: copiata la formula in prima posizione si preme F2 e si trascinano col mouse i vari contorni cella; Enter e poi si copia la formula nelle posizioni sottostanti.

In alternativa si puo' usare questa formula che puo' essere copiata verso il basso su tutti i gruppi di concorrenti:
Codice: Seleziona tutto
=SOMMA.SE(SCARTO($D$1;CERCA(2;1/(C$1:C2=1);RIF.RIGA(C$1:C2))-1;0;5;1);D2;SCARTO($D$1;CERCA(2;1/(C$1:C2=1);RIF.RIGA(C$1:C2))-1;-1;5;1))/CONTA.SE(SCARTO($D$1;CERCA(2;1/(C$1:C2=1);RIF.RIGA(C$1:C2))-1;0;5;1);D2)

Presuppone che i concorrenti siano gia' posizionati in ordine di "punteggio tecnico" crescente (colonna C crescente).

Se i gruppi non sono di 5 concorrenti nella formula vanno modificati quei tre "5" col numero effettivo di concorrenti (si modifica sulla prima posizione e poi si copia sui concorrenti sottostanti).

Ciao a tutti.


Grazie Anthony... veramente grande!!! :lol: :lol:
Grazie grazie grazie!!!! ;) ;) ;)

G
giank1966
Utente Junior
 
Post: 32
Iscritto il: 05/04/12 11:10

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "formule excel":


Chi c’è in linea

Visitano il forum: Nessuno e 70 ospiti