Condividi:        

Lotto estero

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: Lotto estero

Postdi raimea » 20/10/13 14:53

ciao antony
hai ragione, questa e' una macro che mi aveva fatto flash.
ora io non riesco a " leggerla", ( vba previsione), xche ho capito che analizza le col 61:109 che corrispondono a Bi:DE
quindi non riesco a ricordare o interpretare la macro,
sul come trova ordina gli ambi che mi mette in BF5:... in giu :-?

ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Sponsor
 

Re: Lotto estero

Postdi Anthony47 » 20/10/13 15:00

In genere, el' ho fatto anche stavolta, non provo a decodificare le macro ma parto dalla domanda; quindi la mia osservazione e' che non capisco che cosa si dovrebbe fare, partendo dall' elenco estrazioni.
A grandi linee ho capito che vanno calcolati gli ambo, ma non a partire dalla prima estrazione; i risultati vanno spalmati per 1° estratto; vanno lencati i piu' frequenti di ogni 1° estratto; vanno infine elencati i piu' frequenti in tutto.
Ma il dettaglio non l' ho capito.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Lotto estero

Postdi raimea » 20/10/13 15:15

esatto, a grandi linee fa cosi ,
ma come dicevo non riesco a leggerla/interpretarla bene.

vedro' se flash si ricorda e me la traduce... :-?
ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: Lotto estero

Postdi Anthony47 » 20/10/13 20:17

Azz, non riesco a farmi capire...
Io non chiedo che mi spieghi come e' fatta la macro, ma che mi spieghi che cosa TU vorresti che venisse fatto, partendo dall' elenco estrazioni contenuto in Archivio_UK49s.

Comunque, se il tuo obiettivo e' riportare in BF5 e sottostanti i top N ambi, basandosi sulla frequenza di uscita presente in BB, allora puoi usare in BF5 la formula
Codice: Seleziona tutto
=INDICE(D:D;CONFRONTA(GRANDE(BB:BB;RIF.RIGA(A1));BB:BB;0))

Poi copia verso il basso per il numero di "top N" che vuoi elencare.

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

Re: Lotto estero

Postdi Anthony47 » 20/10/13 20:21

In realta' quello che ho detto sopra presuppone che il calcolo in colonna BB sia fatta con la formula
Codice: Seleziona tutto
=MAX(E2:BA2)-RIF.RIGA()/10000
Da mettere in B2 e sottostanti

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

Re: Lotto estero

Postdi raimea » 20/10/13 20:39

ciao
tutto ok
ai ragione antony, farmi capire non e' stato il mio max...

ho comunque messo le tue 2 formule in BB2 in giu e in BF5 in giu.
ed ottengo gli ambi in ordine decrescente.

grazie antony
ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: Lotto estero

Postdi raimea » 20/10/13 21:11

mmmm
e ora cosa sbaglio...?
a fianco di ogni ambo in BG5 verrei riportare quante volte tale ambo si e' realizzato,
tale dato e' in col BB
io ho scritto questa in BG5 in giu
Codice: Seleziona tutto
=CERCA.VERT(BF6;$D$2:$BB$1177;51)

x x molti ambi mi riporta dati errati, mentre x altri li riporta corretti.... :roll:
Immagine

booo
forse xche col D contiene formule ?

:-?
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: Lotto estero

Postdi Anthony47 » 20/10/13 21:32

Forse perche' in BG5 devi usare
=CERCA.VERT(BF5;$D$2:$BB$1177;51)
?
E a scanso di equivoci inserisci anche "intervallo"; quindi
Codice: Seleziona tutto
=CERCA.VERT(BF5;$D$2:$BB$1177;51;0)
Da formattare senza decimali
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Lotto estero

Postdi raimea » 20/10/13 21:40

:o
ok risolto ,
ora funziona
grazie
ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: Lotto estero

Postdi Anthony47 » 21/10/13 14:48

La Sub CompilaAmbiprimo, quella che si avvia col pulsante "Avvia", ha un minaccioso "guarda che dura 1-2 ore", quindi mi sono guardato bene dall' eseguirla.
Se effettivamente i tempi sono di quell' ordine, forse si puo' trovare un algoritmo che li accorcia un po'; se ti interessa dovresti pero' ripartire dalla domanda che avevo fatto:
"Io non chiedo che mi spieghi come e' fatta la macro, ma che mi spieghi che cosa TU vorresti che venisse fatto, partendo dall' elenco estrazioni contenuto in Archivio_UK49s"

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

Re: Lotto estero

Postdi raimea » 21/10/13 19:00

ciao
ci provo..
innanzitutto la macro impiega 1/ 2 ore
con l'archivio completo da analizzare
che sono circa 6000 righe.

cosa dovrebbe fare:
per ogni numero in riga 1 da 1-49 deve trovare quante volte si e' realizzato
ogni ambo sviluppato in col a/b/d nelle BD1 estrazioni successive,
quando il num in riga 1 viene estratto come 1mo estratto.
il num jolly DEVE essere considerato.

esempio1:
quando il num 1 e venuto come 1mo estratto l'ambo 1,2 si e'
realizzato 21 volte nelle 10 (BD1), estrazioni successive.

es2:
quando e' stato estratto il num 10 come 1mo estratto ,
l'ambo 1,10 si e' realizzato 21 volte in 10 estrazioni successive.

es3:
dopo lestraz del num 3 come 1mo estratto , l'ambo 2,20 si e' realizzato 40 volte
in BD1 estrazioni successive (10).

naturalmente, come si vede, il dato in BD1 lo posso modificare io.

allego il file con tutte le 6.000 estrazioni.

https://db.tt/44NxzLTh

ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: Lotto estero

Postdi Anthony47 » 22/10/13 00:25

Scusa, ma se si tratta di elaborare le righe dichiarate in BD1 (variabili tra 1 e 10 solamente), come fa la macro a richiedere 1 ora?
Inoltre nel foglio "Ambi_primo" ci sono due aree con intestazione 1-49 (E1:BA1 e BI1:DE1), a quale fai riferimento nella descrizione? Dai numeri che citi negli esempi immagino che si parli di E1:BA1, ma quei valori sono inverosimili: come fa la coppia 1,2 a essere estratta 21 volte in 10 righe di estrazioni, se in 10 righe ci sono in tutto 210 ambi? E' come se un evento che ha una possibilita' di circa 1 su 2300 si verifichi invece 1 su 10... Mi sembrano piu' i risultati dell' esame di tutte le righe delle estrazioni, ma anche in questo caso mi sembrano numeri eccessivi (come fa l' ambo 1,2 a essere uscito 1080 volte in 6100 estrazioni?).

Questo inoltre mi pare sia solo una parte del problema, poi rimangono da compilare le colonne BI1:DE2 attingendo all' area E1:BA1, mentre BF5 e sottostanti vengono calcolati con formule.

Insomma e' evidente che ho ancora bisogno di qualche chiarimento....
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Lotto estero

Postdi raimea » 22/10/13 06:18

ciao
BD1 indica quante righe elaborare ogni volta x ogni 1mo estratto.
quindi es. all uscita del num 1 come 1timo estratto , vai avanti fino a 10 righe successive
x cercare tutti gli ambi.

i num da elaborare sono in E1:BA1

quei valori sono inverosimili: come fa la coppia 1,2 a essere estratta 21 volte in 10 righe di estrazioni,

questo provo a spiegartelo cosi:
ovviamente l'ambo 1,2 non si e' mai realizzato 21 volte nelle successive 10 estrazioni... :)
ma : tutte le volte che nella banca dati, e' stato estratto il num 1 come 1mo estratto,
l'ambo 1,2 si e' realizzato 21 volte solo nelle successive 10 (BD1) estrazioni .
quindi ci saranno casi in cui con estratto il num 1 come 1mo nelle successive 10 estraz l'ambo 1,2 non si e' realizzato
mentre in altri casi si e' realizzato una volta, quindi conto quante volte .. in questo caso si e' verif 21 volte.


per BL1:DE non c'e problema , vengono estrapolati i migliori ambi dalla matrice
E2:BA1177 tramite la macro evidenzia3

per capire meglio e fare delle prove e' meglio cancellare i dati dalla banca dati
lasciando solo circa 100 estrazioni.
io faccio cosi x le prove/verifiche delle macro
in questo caso la macro compilambiprimo impiega qualche minuto.
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: Lotto estero

Postdi Anthony47 » 22/10/13 22:44

Credo di aver capito la logica, e ho cominciato a fare qualche prova senza grandi risultati (in termini di tempo di esecuzione).
Porta pazienza e vediamo se mi viene qualcosa degno di essere provato.

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

Re: Lotto estero

Postdi raimea » 23/10/13 05:46

ciao
nessun problema,
x queste cose c'e tutto il tempo che si vuole :D
fai pure con colma da parte mia non c'e nessuna urgenza
e' gia tanto che ti sei reso disponibile a darle un occhiata... :eeh:

ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: Lotto estero

Postdi Anthony47 » 24/10/13 23:02

Con questa macro compilo in Ambi_primo la tabella in colonne E:BA; per un elenco di 1000 estrazioni /10 colpi impiega 12-15 sec.
Non ho collegato le macro che fanno le oprazioni successive, che credo siano riciclabili al 100% e non hanno un problema di prestazioni perche' richiedono pochi secondi.

Il codice:
Codice: Seleziona tutto
Sub ambiSplitV2()
Dim myRes(1 To 1176, 1 To 50), myRow, Arch As Worksheet   '<<< Sono globali
Dim myRoll(), myAmb(), myLook As String
Dim LastArch As Long, I As Long, J As Long, II As Long, IJ As Long
Dim myMII, myMIJ, myResY As Long, M2List As Worksheet
'
Set Arch = Sheets("Archivio_UK49s")
Set M2List = Sheets("Ambi_primo")
'
myTim = Timer
myResY = 0
Erase myRes()
LastArch = Arch.Cells(Rows.Count, "B").End(xlUp).Row
myAmb = M2List.Range("D2:D1177").Value
myRep = M2List.Range("BD1").Value
ReDim myRoll(0 To (myRep - 1))
For I = 0 To myRep - 1
    myRoll(I) = 50
Next I
'
For I = 4 To LastArch
    myRoll(I Mod myRep) = Arch.Cells(I - 1, "C")  '<Qui gestione +1/+0
    For II = 3 To 8
        For IJ = II + 1 To 9
            If Arch.Cells(I, II) < Arch.Cells(I, IJ) Then
                myLook = Arch.Cells(I, II) & "," & Arch.Cells(I, IJ)
            Else
                myLook = Arch.Cells(I, IJ) & "," & Arch.Cells(I, II)
            End If
            myMII = Application.Match(myLook, myAmb(), 0)
                For J = 0 To myRep - 1
                    myRes(myMII, myRoll(J)) = myRes(myMII, myRoll(J)) + 1
                Next J
        Next IJ
    Next II
Next I
M2List.Unprotect
Sheets("Ambi_primo").Range("E2").Resize(1176, 49).Value = myRes()
MsgBox (Timer - myTim)
M2List.Protect
End Sub

Spero sia di qualche utilita'.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Lotto estero

Postdi raimea » 25/10/13 06:19

:o :o
un missile , tutto ok....
x 6000 righe ha impiegato circa 90 secondi...
(era 2 ore...)
voto 110 e lode.. :D

una curiosita?
x fare la stessa elaboraxzione sul num jolly, ? quale punto di macro va modificato ?
(naturalm il foglio e' impaginato nella stessa maniera..)

grazie mille
ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: Lotto estero

Postdi raimea » 25/10/13 07:03

wauuuu...
studiando la macro ho trovato dove sostituire x fare la
stessa elaborazione sul num jolly...

Codice: Seleziona tutto
  myRoll(I Mod myRep) = Arch.Cells(I - 1, "i")  '<Qui gestione +1/+0, i=jolly


ancora grazie
ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: Lotto estero

Postdi Anthony47 » 25/10/13 12:34

studiando la macro ho trovato dove sostituire x fare la stessa elaborazione sul num jolly...
La prossima volta la faccio piu' complicata?

Due cose:
1) la macro ignora la riga su cui l' estratto e' in prima posizione, ed esamina le N righe successive. L' ho fatta cosi' perche' cosi' faceva la macro precedente. Come e' noto, la precisione dei pronostici non viene comunque in alcun modo influenzata...

2) ricordavo che Match fosse piu' veloce se eseguita su worksheet che non su array, ma non l' avevo poi provato su questa macro; l' ho fatto stamattina ed effettivamente merita fare queste modifiche:
Codice: Seleziona tutto
Dim myRoll(), myLook As String    'Eliminato  myAmb()
Dim myAmbB         '<<<Aggiunta

Codice: Seleziona tutto
'myAmb = M2List.Range("D2:D1177").Value    'Eliminata
Set myAmbB = M2List.Range("D2:D1177")         '<<<Aggiunta
myRep = M2List.Range("BD1").Value        'Lasciare


Codice: Seleziona tutto
'            myMII = Application.Match(myLook, myAmb(), 0)    'Eliminata
            myMII = Application.Match(myLook, myAmbB, 0)        '<<<Aggiunta
                For J = 0 To myRep - 1        'Lasciare


Provata sulle 6000 righe con buoni risultati.

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

Re: Lotto estero

Postdi raimea » 25/10/13 15:10

ciao
tutto ok,
La prossima volta la faccio piu' complicata?


nooo cosi va benissimo... :D

scelta x il punto 1 ok , ottima
fatto modif del punto 2 , tutto ok
si e' passati da 90 sec circa a 22 sec circa... :o

ancora 1000 grazie
ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "Lotto estero":


Chi c’è in linea

Visitano il forum: Gianca532011 e 73 ospiti