Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Formula 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: Formula Excel

Postdi Avatar3 » 07/07/11 07:21

procediamo per passi
controlla che lo storico vada bene
che la riga 305 cumulatrice di ritardi sia estratto che resto sia corretta

per il resto riga 312 scrivi i valori che vorresti avere e i colori
e rinvia il file
http://www.filedropper.com/copia2
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Sponsor
 

Re: Formula Excel

Postdi Lucio Peruggini » 07/07/11 14:18

http://www.filedropper.com/estrattoesuperioriultimo3

Ciao Avatar, ho rivisto il tutto e sistemato il foglio “Storici” e come dicevo vi è sempre qualche miglioria da adottare che viene strada facendo. Penso proprio di essere arrivato alla fine con questa ricerca; impostata nel modo seguente è l’ottimo.

Riepilogo:
1) Un solo blocco Foglio 1 range ( BG:DI ) colonne di appoggio ( DK:DU ).
2) Foglio Storici, range ( A:V ) marca e aggiunge alle estrazioni esistenti esclusivamente le uscite degli ambi e sorti superiori.
3) Foglio Storici, range ( X:AS ) marca e aggiunge alle estrazioni esistenti le uscite di tutti gli eventi; dall’estratto in poi.
4) Foglio 1 riga 305 marca i ritardi di tutti gli eventi (dal singolo numero a ……………………).
5) Foglio 1 riga 312 range ( D:X ) nessun colore; posso poi ottenerlo con “formattazione condizionale” in caso di uscita dell’evento. Questa stringa marca i ritardi degli ambi e sorti superiori per ogni ruota.
Esempio:
Ultimo ambo uscito sulla ruota di Bari lo troviamo all’estrazione 8391 riga 294 ( BG:BK ) con ritardo “8”.
Ultimo ambo uscito sulla ruota di Cagliari lo troviamo all’estrazione 8377 riga 280 ( BL:BP ) con rit. “22”
Ultimo ambo uscito sulla ruota di Firenze lo troviamo nell’ultima estrazione la 8399 riga 302 ( BQ:BU ) rit. “0” e così per tutte le altre ruote.

Stesso discorso per quanto riguarda la riga 314 che controlla i ritardi degli estratti.
Esempio:
Ultimo estratto che in questo caso sono 2 usciti sulla ruota di Bari li troviamo all’estrazione 8391 riga 294 ( BG:BK ) con ritardo “8”.
Ultimo estratto ruota Cagliari lo troviamo alla riga 301 ( BL:BP ) con ritardo “1” e così per le altre ruote.
Ultimo estratto uscito sulla ruota di Firenze (2) li troviamo nell’ultima estrazione la 8399 riga 302 ( BQ:BU ) rit. “0” e così per tutte le altre ruote.

Sperando di essere stato il più chiaro possibile, ringrazio e allego file. Se così non è fammi sapere.

Nota: Attualmente il file non contiene nessuna macro
Saluti e buona giornata.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 07/07/11 14:36

Cioè?

Della macro precedente e ultima inviata non mi dici nulla?
fa quello che chiedevi?
almeno per lo storico?


Aggiungo ore 15:50
Parli di estratto su bari e metti un ritardo 8 quando invece penso sia 4 con il 61 sulla riga 298
oppure mi sfugge qualcosa?
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Formula Excel

Postdi Lucio Peruggini » 07/07/11 15:00

Ciao, della macro precedente non posso dirti ancora nulla; non materialmente avuto il tempo per fare i dovuti controlli. Penso di farlo stasera o a notte inoltrata.

Hai ragione, il ritardo di Bari è 4! (svista) :undecided:
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 07/07/11 15:05

Comunque la macro con le ultime specifiche è pronta

Codice: Seleziona tutto
Sub ColATQC_E_Storico()
Application.ScreenUpdating = False
Application.Calculation = xlManual
UR = 302
Col = 18
Passo = 68
PassoSt = 23
ColI = 59
ColF = ColI + 54
Worksheets("Foglio1").Select
Range("BG305:DJ305").ClearContents
For Ciclo = 1 To 1
    Range(Cells(3, ColI + (Ciclo - 1) * Passo), Cells(UR, ColF + (Ciclo - 1) * Passo)).Interior.ColorIndex = xlNone
    SR = 0
    FoB = 2
    riga = UR + 13
    Col = Col + Passo
    For CC = 59 + (Ciclo - 1) * Passo To 113 + (Ciclo - 1) * Passo Step 5
    FoB = FoB + 2
        SR = SR + 1
        CCS = 1 + PassoSt * (Ciclo - 1) + (SR - 1) * 2
        CCS2 = 1 + PassoSt * (Ciclo) + (SR - 1) * 2
        riga = riga + 1
        Estratto = 0
        Ambi = 0
        Terni = 0
        Quaterne = 0
        Cinquine = 0
        For RR = 3 To UR
            EV = 0
            ContaA = 0
            For CCR = CC + 0 To CC + 4
                If Val(Cells(RR, CCR)) > 0 Then
                    ContaA = ContaA + 1
                    If ContaA > 1 Then EV = 2
                    If ContaA = 1 Then EV = 1
                End If
                Next CCR
                CI = xlNone
                Select Case ContaA
                Case 1
                Estratto = Estratto + 1
                    Cells(305, CC + 2).Value = UR - RR
                    Cells(314, FoB).Value = UR - RR
                Case 2
                Ambi = Ambi + 1
                    CI = 15
                    Cells(305, CC + 2).Value = UR - RR
                    Cells(312, FoB).Value = UR - RR
                Case 3
                Terni = Terni + 1
                    CI = 4
                      Cells(305, CC + 2).Value = UR - RR
                      Cells(312, FoB).Value = UR - RR
                Case 4
                Quaterne = Quaterne + 1
                    CI = 33
                      Cells(305, CC + 2).Value = UR - RR
                      Cells(312, FoB).Value = UR - RR
                Case 5
                Cinquine = Cinquine + 1
                    CI = 45
                     Cells(305, CC + 2).Value = UR - RR
                     Cells(312, FoB).Value = UR - RR
                Case Else
                    CI = xlNone
                End Select
                Range(Cells(RR, CC), Cells(RR, CC + 4)).Interior.ColorIndex = CI
                If EV > 0 Then
                    Conc = Cells(RR, 1)
                    URS2 = Worksheets("Storici").Cells(Rows.Count, CCS2).End(xlUp).Row
                    ConcSt2 = Worksheets("Storici").Cells(URS2, CCS2).Value
                    If Conc > ConcSt2 Then
                        Worksheets("Storici").Cells(URS2 + 1, CCS2).Value = Conc
                        Worksheets("Storici").Cells(URS2 + 1, CCS2 + 1).Value = Conc - ConcSt2
                    End If
                    If EV = 2 Then
                        URS = Worksheets("Storici").Cells(Rows.Count, CCS).End(xlUp).Row
                        ConcSt = Worksheets("Storici").Cells(URS, CCS).Value
                        If Conc > ConcSt Then
                            Worksheets("Storici").Cells(URS + 1, CCS).Value = Conc
                            Worksheets("Storici").Cells(URS + 1, CCS + 1).Value = Conc - ConcSt
                        End If
                    End If
                End If
            Next RR
            Cells(riga, Col).Value = Estratto
            Cells(riga, Col + 1).Value = Ambi
            Cells(riga, Col + 2).Value = Terni
            Cells(riga, Col + 3).Value = Quaterne
            Cells(riga, Col + 4).Value = Cinquine
        Next CC
    Next Ciclo
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub


Prova e fai eventuali commenti

P.s. Non ho capito i due valori in
AN312 e AR312
54 09
a cosa si riferiscono
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Formula Excel

Postdi Lucio Peruggini » 07/07/11 15:58

Davvero non mi aspettava tanta celerità.
La provo immediatamente

I valori che hai menzionato M-T-M-R e che devo ancora inserire sono riferiti alla Media - Teorica - Massimi - Ritardi

Ciao
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 07/07/11 16:12

Ci ho riflettuto questa notte :lol:

Una cosa ora mi sembra superflua la riga 305 a cosa serve?
non è sufficiente mettere una formula alla riga 316 che estragga il minimo tra i due valori (314;312)?
lesecuzione della macro sarebbe più veloce
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Formula Excel

Postdi Lucio Peruggini » 07/07/11 16:31

La macro è splendidamente efficace ed è già sufficientemente veloce. E' una bomba!!! :)

Quell'MTMR non è riferito alla riga 305 (attuali) ma agli storici che abbiamo nel foglio omonimo.

Non so davvero come ringraziarti però mi hai stimolato ad una ennesima richiesta che riguarda il gruppo (4 blocchi). Se potessimo adottare la medesima tecnica in quei blocchi, bhe....... sarebbe il non Plus Ultra che abbia mai sperato! Però non voglio caricarti di altri pesi. Se proprio ti capiterà di avere del tempo laddove non sai cosa fare (ma dubito), vedi tu.
Per il momento un grandissimo

GRAAAAAAAAZIE :roll: :roll: :roll:
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 07/07/11 16:41

Sui 4 blocchi ci possiamo pensare perché diciamo che è stata costruita per quello
e lo puoi verificare dal fatto che il ciclo ora è fermo a 1 (for ciclo = 1 to 1 ) ;)

per quanto riguarda la riga 305 intendo quella sotto i 5 numeri di ogni ruota da BI a destra (ormai inutile)
se usi la formula alla riga 316 da D a destra, perché ottieni lo stesso risultato così

Immagine


Per i cicli a blocchi vorresti che se fossero sestine scrive anche gli estratti
le settine e le ottine?
mentre per le cinquine no? (Col A:V, no)?
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Formula Excel

Postdi Lucio Peruggini » 07/07/11 16:57

Ho capito che era riferita a quei ritardi ma, M_T_M_R è riferito esclusivamente ai ritardi storici e non agli attuali della riga 305.

Immagine

Ok, vedi tu.
Il passo nei blocchi non cambia, si tratta solo di aggiungere (foglio Storici) altri quattro gruppi. E, ovviamente modificare tutta la parte sotto l'archivio.

Ti invio un messaggio privato

Ciao
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 07/07/11 17:47

Prova questo file
http://www.filedropper.com/copia3_1

il funzionamento è dato dalla quantità dei numeri che metterai in tabella (non meno di 5)
e avrai il risultato a blocchi
se inserisci 6 numeri processerà le sestine
7 le settine etc
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Formula Excel

Postdi Lucio Peruggini » 07/07/11 18:52

Intanto grazie infinite per aver preso in considerazione anche questa modifica ma, prima di metterci le mani sopra fammi capire.

Ho afferrato che processa un blocco per ruota ma nel foglio "storici" abbiamo la medesima situazione del blocco unico? Cioè: abbiamo due gruppi per blocco sui quali uno aggiorna gli ambi e superiori, l'altro aggiorna tutti gli eventi? I medesimi rimangono poi tali laddove si andranno ad aggiungere nuovi eventi?

Se così fosse e se ho ben capito basterebbe formare i gruppi nel foglio Storici (due per ogni tipo di ricerca basati sulla quantità di numeri)? Esempio:

Supponiamo di processare da cinque a dieci numeri. Nel foglio Storici poichè trattasi di sei blocchi Cinquine, Sestine, Settine, Ottine, Novine e Decine, dovrò avere 12 gruppi di due per blocco?
Ciao
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 07/07/11 19:56

No
ho ripreso il concetto iniziale
dove volevi gli ambi in su solo per i 5 numeri
e poi hai voluto il secondo blocco per 5 numeri dove ci fossero tutti col X:AS
ok
fatto questo è volendo le sestine
basta digitare 6 numeri sulla tabella
e avrai i ritardi di tutti dal'estratto in poi nelle colonne AU:BP (senza toccare le colonne precedenti da A a AS)
Le settine BR:CM (senza toccare le colonne precedenti)
etc
etc

Quindi 2 gruppi per i 5 numeri
e 1 solo dalle sestine alle decine
quindi un totale di 7 gruppi (non 12)

Manca qualcosa rispetto a quanto ti eri prefissato?
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Formula Excel

Postdi Lucio Peruggini » 07/07/11 21:34

Ok, era solo per capire il funzionamento.

Se ho ben afferrato:

1 blocco 5 numeri = storici due tabelle
2 blocco 6 numeri = storici una tabella
3 blocco 7 numeri = storici una tabella
4 blocco 8 numeri = storici una tabella ecc. per i due rimanenti blocchi.

Non credo ci sia altro da aggiungere a come magnificamente impostato. Non mi resta che provare il tutto, oggi non ho avuto tempo.

Ciao
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Lucio Peruggini » 08/07/11 00:13

Immagine

Ciao Avatar, ho provato sul foglio storici e, anche se stavo scimunendo perchè dopo aver tolto alcune estrazioni non le aggiornava e quindi dopo svariati tentativi stavo quasi scrivendoti per fartelo presente, ho capito dove stavo sbagliando.

Le avevo incollate nella medesima colonna però sotto, per poterle prendere qualora ci fossero stati errori di non scrittura; in realtà era un errore. Non li marcava perchè effettivamente c'erano, ma spostate sotto.


L'inconveniente però è un altro:

Ho aggiornato l'archivio e fatto ripartire la macro, noterai che gli eventi nella griglia (CH:CL) sono sfasati di due righe; li sposta di due righe sotto. E' un po il problema che avevamo con le formule e che avevi risolto con la macro (riga 305). Ho provato ad inserire due righe vuote e i valori ritornano in ordine. Come si può rimediare? Questo inghippo non si verifica con la macro precedente che contempla un solo blocco.

Poi ci sarebbe un altro inghippo con gli storici ma che devo valutare meglio.

Ti accenno di cosa si tratta:

Cambiando i numeri anche solamente parlando di cinque numeri, ovviamente cambiano gli storici che possono essere di più o di meno per ruota.
Temo che l'unico modo per evitare ciò sia quello di avere per ogni blocco due tabelle per gli storici; cioè la domanda che prima ti facevo.

Ciao
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 08/07/11 00:35

Credo che tu stai confondendo il discorso di togliere tighe prede che le aggiungi altrimenti le tabelle si spostano
sia con la prima macro che con l'ultima ed è abbastanza normale
qiello che succedeva con le formule invece era una cosa diversa: errava i riferimenti, mentre la macro no
ma è chiaro che se togli 10 righe (senza inserirle) la prima riga tabella (BA) la trovi alla riga 306
se le reinserisci ritorna alla 316
ma non guardare solo ta tabella, fuarda anche MTMR alla riga 309 dove la trovi?
e non c'entra nulla con la macro.
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Formula Excel

Postdi Lucio Peruggini » 08/07/11 05:22

http://postimage.org/image/2cmi1sl7o/

Ho riprovato ed è giusto; non avevo mantenuto il passo che deve essere sempre di sei righe vuote dall'ultimaa estrazione alla griglia numerica righe 303 - 308. :undecided:

Buona giornata
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 08/07/11 07:48

Quindi rimarrebbe solo il fatto di avere due blocchi per ogni gruppo di numeri (due per 5 numeri, due per 6, due per sette etc etc)?
Non è facile ma non impossibile
se occorre... :undecided:

L'imortante è che sappia che elaborerai solo ed esclusivamente il blocco corrispondente alla quantità dei numeri che avrai nella tabella per via delle formule che sono sovrastanti
(le formule forniscono subito i risultati pertanto se hai inserito 6 numeri il tabellone ruote fornirà già i risultati dei 6 numeri inseriti, andare a cercare le combinazioni di 5 numeri è quasi impossibile con questo sistema)
Si potrebbe pensare di "togliere" momentaneamente la sesta colonna, elaborare 5 numeri, ripristinare la sesta e rielaborare, insomma mi sembra alquanto "impicciosa"
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Formula Excel

Postdi Lucio Peruggini » 08/07/11 12:35

A dire il vero pensavo a quella che era la soluzione primaria, cioè avere i blocchi come erano in origine (quattro). cinquine, sestine, settine e ottine foglio 1; e su queste operare i cambiamenti.

Penso che sia meglio, piuttosto che dover cambiare e incollare tutte le volte per analizzare. I blocchi fissi li hai sempre sott'occhio e non devi cambiare tutte le volte. A dire il vero quando mi hai fatto quest'ultima macro impostandola su un solo blocco e su quello cambiare le vari formazioni non ho avuto il coraggio di dire che avrei preferito i quattro blocchi con le dovute modifiche per gli storici; due gruppi per blocco = otto gruppi nel foglio storici.

Quindi stessa metodologia che hai applicato al primo blocco, applicarla ai quattro (ammesso che sia fattibile).

Perdonami però, non voglio caricarti di altro lavoro; hai già fatto tanto e posso aggiustarmi con quanto già ho a disposizione anche se tutto è sempre migliorabile.

Il peso che le formule possono avere non mi preoccupa; sono abituato a lavorare con file da dieci mega e ltre; questo non sarebbe davvero un problema.

Saluti e buona giornata
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 08/07/11 12:49

Facciamo una cosa
mandami un file con quello che vorresti avere nel foglio1
e quello che vorresti avere nel foglio Storici
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "Formula Excel":


Chi c’è in linea

Visitano il forum: Nessuno e 13 ospiti