Condividi:        

formula per conteggio

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

formula per conteggio

Postdi miko » 16/03/10 13:24

buon giorno a tutti,
per risolvere questo mio problema mi rivolgo anche agli esperti del gioco e di statistica, dal momento che concettualmente mi risulta semplice ma praticamente trovare la soluzionemi è difficile.
sono alla ricerca di una formula, da inserire in un deterninato numero di celle di una qualunque colonna, per eseguire questo calcolo:
i valori sono disposti su più fogli, ed ogni cella contiene dei numeri a doppia cifra;
nel foglio 1 si trovano, dal range B3 alla colonna K, e su un numero di righe variabile in aumento le combinazioni del winforlife.
sugli altri fogli, dalla cella B3 alla colonna D, i terni in questo esempio, come mostrato nella figura
Immagine
Immagine
la formula deve trovare, nel foglio 1, i numeri della sequenza di ciascun terno e contare ogni quante estrazione generalmente si verifica l'uscita del terno, e mettere il valore risultante nella cella a fianco del corrispondente terno.
ad esempio per il terno 01 02 03, trova tutte le combinazioni che contengono il terno e conta ogni quante estrazioni esce il terno
come vi mostro nel file.
quindi non deve contare quante volte è uscito il terno, cioè la frequenza.
credo, ma non sono sicuro, si dovrebbe partire dalla prima combinazione in cui si trova il terno, chiamiamola a, contare quante combinazioni x escono fino a quando esce di nuovo il terno, combinazione b;
ripetere questo calcolo dalla combinazione b, contare quante combinazioni y escono fino a quando esce di nuovo il terno,
ripetere etc..
sommare x+y+.. e dividere per il numero n totale di uscite del terno.
non so se è meglio e più semplice una formula od una macro.
non ho conoscenze di statistica e sistemistica, e forse gli esperti
potranno dare un supporto migliore.
saluti grazie
windows 10 - office 2013
miko
Utente Senior
 
Post: 521
Iscritto il: 29/12/09 10:44

Sponsor
 

Re: formula per conteggio

Postdi Flash30005 » 16/03/10 15:08

Mi sembra di capire che ti serve una media!?
Se hai le frequenze per ogni terno è sufficiente che tu divida per il numero di estrazioni per avere quel risultato
Quindi aggiungendo alla macro il codice
Range("F" & R).value = UR (righe totali delle estrazioni) / (diviso) Frequenza (che hai in una colonna del foglio)
puoi arrotondare con Int(il rapporto precedente + 0,5)

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: formula per conteggio

Postdi miko » 17/03/10 12:09

ciao,
ho fatto delle prove manualmente, perchè non so dove inserire le linee di codice che hai scritto e non so come arrotondare con int.
il risultato del calcolo che proponi è diverso da quello che vorrei ottenere.
cerco di spiegarmi con l'ausilio della immagine

Immagine

partendo dalla prima estrazione successiva all'uscita del terno in rosso, estrazione B, contiamo quante sono le estrazioni fino alla nuova uscita del terno, estrazione C;
abbiamo 4 estrazioni;
ripetiamo il conto
da D ad E , 5 estrazioni
da F a G, 6 estrazioni
da H ad I , 4 estrazioni
numero tot. estrazioni: T= 4+5+6+4 = 19
dividiamo T per il numero N di intervalli, B-C, D-E, F-G, H-I, cioè 4, numero che è uguale alle uscite dei terni 5, meno -1, perchè siamo partiti dalla prima riga successiva alla prima uscita del terno.
risultato formula: [(T= 4+5+6+4 = 19)/(N=4)] = 4,75 quasi 5
quindi il terno 01-02-03 esce in media ogni 4,75-5 estrazioni.
spero che questa descrizione del calcolo sia più comprensibile.
ciao grazie
windows 10 - office 2013
miko
Utente Senior
 
Post: 521
Iscritto il: 29/12/09 10:44

Re: formula per conteggio

Postdi Flash30005 » 17/03/10 12:53

Appunto!!!

Se sono 20 le estrazioni - 1, che togli perché non la conti ( ? ) hai 19 (quindi totale righe 22 - 2 di testata - 1 = 19)
le frequenze per il terno 1, 2, 3 sono 4
dividendo il (numero delle estrazioni - 1) / Le ferquenze (4) ottieni 4,75 che con l'arrotondamento (+0.5) avrai 5,25 prendendo la parte intera hai 5 come nella tua formula, valore che avrai sicuramente arrotondato (o visualizzato con arrotondamento)

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: formula per conteggio

Postdi miko » 17/03/10 13:37

ciao,
il tuo modo di procedere è corretto e più semplice, ma c'è un problema, in quanto non so in quale riga si trova la prima uscita del terno, può essere la 10, la 100, la 3500.., quindi devo scorrere il foglio fino a trovare la prima uscita ed eseguire manualmente il calcolo che dici.
le frequenze le ho già, quindi basta togliere 1, per avere il denominatore;
ma come faccio a trovare o calcolare la prima riga dove si trova la prima uscita del terno per ottenere il numeratore?
in quale punto del codice inserisco la linea:
Range("F" & R).value = UR (righe totali delle estrazioni) / (diviso) Frequenza (che hai in una colonna del foglio) ?<<<<
cosa indica la lettera R ?
e come funziona INT, non ho mai usato e visto questo termine.
ho capito cosa fà ma non so usarla.
l'immagine che ho inserito era solo uno schema per far comprendere la descrizione del problema;
lo schema reale è quello del programma settine.
windows 10 - office 2013
miko
Utente Senior
 
Post: 521
Iscritto il: 29/12/09 10:44

Re: formula per conteggio

Postdi miko » 17/03/10 13:37

ciao e grazie
windows 10 - office 2013
miko
Utente Senior
 
Post: 521
Iscritto il: 29/12/09 10:44

Re: formula per conteggio

Postdi Flash30005 » 17/03/10 14:27

Potremmo già utilizzare il codice esistente ma creiamo una macro appositamente per il calcolo della media e la richiamaiamo alla fine del programma
Codice: Seleziona tutto
Sub CalcMedia()
Estrazioni = Sheets("ARCHIVIO").Range("B" & Rows.Count).End(xlUp).Row - 2
For FS = 1 To Worksheets.Count
    If Sheets(FS).Name <> "ARCHIVIO" And Sheets(FS).Name <> "VALORI MAX" Then
        Sheets(FS).Select
        NSETT = Sheets(FS).Range("B" & Rows.Count).End(xlUp).Row
        For RM = 3 To NSETT
            Range("AA" & RM).Value = Int(Estrazioni / Range("T" & RM).Value + 0.5)   '<<< qui inserisce la media
        Next RM
    End If
Next FS
End Sub


Questa macro scansiona tutti i fogli e inserisce la media nella colonna "AA" (se vuoi la puoi cambiare)

Fai attenzione ai calcoli che fai perché credo chestai sbagliando

Per la media devi contare anche la distanza da oggi alla prima uscita (anzi in caso di una uscita sola andrebbe aggiunto 1 al denominatore)
Es.
se io ho 100 estrazioni e 90 estrazioni fa è uscito un terno dopodichè è uscito 80 estrazioni fa cosa fai tu non consideri le 80 estrazioni da oggi all'ultima uscita?
Guarda che le 80 estrazioni di ritardo fanno media insieme allre altre due da 10 (infatti 80+10+10 =) 100 / 2 (freq) = 50

Fai sapere se tutto ok
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: formula per conteggio

Postdi miko » 17/03/10 20:36

ciao,
leggendo l'esempio che hai fatto mi sa che hai prorio ragione.
non sono convinto che il mio modo di procedere, come illustrato in figura, sia proprio corretto e tutti i ragionamenti che faccio a tal proposito mi sembrano buoni.
ad es. anche considerando gli intervalli A-C, C-E, E-G, G-I, come in figura, mi sembra corretto.
speravo nel conforto di esperti del lotto, ma non ho avuto adesioni nel topic.
ma ora come modifico la macro che hai postato per rispettare il tuo ragionamento?
il codice mi dava errore alla linea:
---
Range("AA" & RM).Value = Int(Estrazioni / Range("T" & RM).Value + 0.5)
---
sostituendo "T" con "F", credo che ti riferissi alla colonna delle frequenze, funziona perfettamente.
grazie ciao
windows 10 - office 2013
miko
Utente Senior
 
Post: 521
Iscritto il: 29/12/09 10:44

Re: formula per conteggio

Postdi Flash30005 » 17/03/10 21:51

Ma T è la colonna in ordine decrescente delle frequenze
Puoi usare come denominatore sia le frequenze in ordine di terni o in ordine decrescente di frequenza
io ho preferito ordine decrescente e nel file che ho la colonna è la T

ma ti invio il file

Sui calcoli da fare secondo me la formula corretta dovrebbe essere N.Estrazioni/(N.Frequenze+1)
il +1 perché se hai 100 estrazioni e una sola uscita, in qualsiasi estrazione tra le 100, la media è 50 (100/2) e non 100 perché dovrebbe intendersi sempre rispetto all'estrazione attuale (anche se non uscita nell'attuale estrazione).

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: formula per conteggio

Postdi miko » 18/03/10 10:33

salve,
ho visto il file ed è uguale al mio, il cambio di lettera di colonna è dovuto al fatto che io ho considerato la colonna F delle frequenze disordinate, e quindi dei terni ordinati, tu quella T delle frequenze ordinate.
per modificare la macro in modo che i calcoli vengano eseguiti secondo il tuo ragionamento
Per la media devi contare anche la distanza da oggi alla prima uscita (anzi in caso di una uscita sola andrebbe aggiunto 1 al denominatore)
----
e
Sui calcoli da fare secondo me la formula corretta dovrebbe essere N.Estrazioni/(N.Frequenze+1)
---

mi sembra di capire che devo modificare la linea da così :
Range("AA" & RM).Value = Int(Estrazioni / Range("T" & RM).Value + 0.5)
a così:
Range("AA" & RM).Value = Int(Estrazioni / Range("T" & RM).Value + 0.5) + 1
è corretto?
ciao grazie
windows 10 - office 2013
miko
Utente Senior
 
Post: 521
Iscritto il: 29/12/09 10:44

Re: formula per conteggio

Postdi Flash30005 » 18/03/10 15:26

miko ha scritto:ho visto il file ed è uguale al mio, il cambio di lettera di colonna è dovuto al fatto che io ho considerato la colonna F delle frequenze disordinate...

:?:
Me perché? Non le hai in "J", le frequenze "disordinate" !? :roll:

Se pensi anche tu che sia meglio e corretto aggiungere 1 dovresti fare così
Ricorda che nelle operazioni hanno la precedenza la moltiplicazione e divisione e poi le somme e sottrazioni per questo deve essere aggiunta la parentisi

Codice: Seleziona tutto
Range("AA" & RM).Value = Int(Estrazioni /( Range("T" & RM).Value + 1) + 0.5)

perché devi prima aggiungere 1 alle ferquenze che diventa denominatore della frazione
fare il calcolo della divisione
aggiungere 0,5 al risultato perché insieme a
Intero del calcolo ottenuto
arrotondi il valore ottenuto sulle unità


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: formula per conteggio

Postdi miko » 19/03/10 11:06

ciao,
tutto funziona, appena ho tempo verifico la differenza dei risultati delle due versioni di macro.
grazie per le macro e le chiare spiegazioni, ho capito come eseguire un semplice calcolo matematico.
cordiali saluti
windows 10 - office 2013
miko
Utente Senior
 
Post: 521
Iscritto il: 29/12/09 10:44


Torna a Applicazioni Office Windows


Topic correlati a "formula per conteggio":


Chi c’è in linea

Visitano il forum: Nessuno e 52 ospiti