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

Formula Excel

Postdi Lucio Peruggini » 13/06/11 20:55

Immagine

Buona serata

Avrei bisogno di una formula che dall'ultima estrazione come da immagine, conti il ritardo (a ritroso) di minimo due numeri che incontra salendo dal basso verso l'alto. Queste estrazioni, chiaramente, vengono aggiornate di volta in volta ed io vorrei mantenere sempre e solo una sola riga, quella illustrata dall'immagine (la riga 391) che diventerà 392 ecc. come riferimento per i ritardi di ogni ruota. Ci sono riuscito con un solo numero ma no con minimo due. il Range estrazionale che ora ho nel foglio, parte dalla riga 4 strazione 8007 e finisce alla 386 estrazione 8389.

Grazie come sempre.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 896
Iscritto il: 24/01/11 16:23

Sponsor
 

Re: Formula Excel

Postdi Flash30005 » 14/06/11 17:09

Ciao Luigi

Se non ha ricevuto risposta fino ad ora penso che sia poco chiaro il tuo quesito

Ricontrolla quanto postato da te, compresa l'immagine nella quale ci sono dati discordanti rispetto alle colonne che riportano i numeri e quanto da te indicato.

Cosa intendi avere due ritardi?
Inoltre parli di formula oppure potrebbe andare bene anche una macro?

Vedrai che se chiarisci meglio qualcuno ti darà sicuramente una mano...

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 Excel

Postdi Lucio Peruggini » 14/06/11 18:23

Flash30005 ha scritto:Ciao Luigi

Se non ha ricevuto risposta fino ad ora penso che sia poco chiaro il tuo quesito

Ricontrolla quanto postato da te, compresa l'immagine nella quale ci sono dati discordanti rispetto alle colonne che riportano i numeri e quanto da te indicato.

Cosa intendi avere due ritardi?
Inoltre parli di formula oppure potrebbe andare bene anche una macro?

Vedrai che se chiarisci meglio qualcuno ti darà sicuramente una mano...

Ciao


Ciao Flash, mi chiamo Lucio e non Luigi.

Ringrazio per l'avvertenza ma ero convinto di aver spiegato adeguatamente cosa vorrei ottenere dal questito esposto; evidentemente non è così.

Provo a spiegarmi meglio:

Cosa intendi avere due ritardi?
Inoltre parli di formula oppure potrebbe andare bene anche una macro?


Io avevo pensato ad una formula ma anche una macro andrebbe bene.

Colonna "A" range attuale ( A4:A386 ). Questo range comprende le estrazioni 8007 - 8389 come da foto. Orbene, poichè queste estrazioni variano, nel senso che man mano aumenteranno, volevo mantenere sempre due righe vuote sottostanti l'ultima estrazione laddove ne verranno aggiunte altre che, peraltro, poichè contengono formule provenienti dall'archivio "Foglio1" mi è sufficiente trascinarle giù e ottenere l'ultima estrazione aggiornata.

Nelle altre tre righe sottostanti intervallate da una vuota, la prima serve solo come controllo visivo; nella seconda cioè l'ultima avrei bisogno, partendo dall'ultima estrazione "colonna A", di calcolare il ritardo dell'ambo di ogni singola ruota; contegiandolo dal basso verso l'alto. Infatti nella prima ruota (Bari) abbiamo un ritardo di 20, E391; seconda ruota (Cagliari) abbiamo un ritardo 13, J391; e così per le altre che seguono. In pratica vorrei sempre visibili le ultime due righe di cui una (l'ultima) con i ritardi dell'ambo di ogni ruota.

Spero di aver chiarito. Se ci sono dubbi ditelo e vedrò di chiarirlo ulteriormente.

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

Re: Formula Excel

Postdi Anthony47 » 14/06/11 23:37

Il mio suggerimento e' che inserisci su ogni ruota una colonna aggiuntiva; quindi H per Bari, N per Cagliari e cosi' via.
Poi in H4 userai la formula
Codice: Seleziona tutto
=CONTA.NUMERI(C4:G4)
che copierai verso il basso. Poi copi H4:Hxxx in N4, T4, etc.

Infine nella cella del calcolo finale userai
Codice: Seleziona tutto
=CONFRONTA(MAX($A$1:$A$20000);$A$1:$A$20000;0)-MAX(SE(H$2:H388>1;RIF.RIGA(H$2:H388);""))
da confermare con Contr-Maiusc-Enter
Quando inserirai ulteriori righe, fallo prima della 388, in modo che le formule "allunghino" automaticamente l' intervallu su cui fanno il calcolo.
Quel ">1" nella formula indica "almeno 2 numeri"; se vuoi una condizione diversa modifica di conseguenza.

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

Re: Formula Excel

Postdi Avatar3 » 15/06/11 09:02

Leggi quanto proposto da Anthony


Se vuoi ottenere risultati con macro puoi utilizzare questa
Codice: Seleziona tutto
Sub RitardiA()
UR = Worksheets("Foglio1").Range("C" & Rows.Count).End(xlUp).Row
Range(Cells(UR + 2, 3), Cells(UR + 2, 53)).ClearContents
ContaR = 0
For RR = UR - 3 To 4 Step -1
ContaR = ContaR + 1
For CC = 3 To 8 Step 5
    ContaA = 0
    For CCR = CC + 0 To CC + 5
        If Cells(RR, CCR).Value = Cells(UR, CCR).Value Then
        ContaA = ContaA + 1
        If ContaA = 2 Then
        If Cells(UR + 2, CC + 2).Value = 0 Then
            Cells(UR + 2, CC + 2).Value = ContaR
            GoTo SaltaCC
            End If
        End If
        End If
    Next CCR
SaltaCC:
Next CC
Next RR
End Sub
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 » 15/06/11 15:31

Immagine


Ciao Avatar, ciao Anthony.

La macro che per tua soddisfazione ho voluto provare (anche perchè potrebbe tornare utile), purtroppo non svolge il compito sperato. Come dalla foto puoi notare mi segna solamente due valori contrassegnati dal numero "1" che nulla anno a che vedere con i ritardi giusti, quelli in giallo ottenuti dalle formule di Anthony.

Peraltro, ottimo il consiglio di inserire una colonna aggiuntiva per ruota la quale mi permette anche altre funzioni utili. Non si vedono nella foto poichè avendo io uno schermo piccolo, le ho inserite di fianco in modo da avere in un sol colpo d'occhio tutte le ruote.

Antony, funziona alla grande!!!

Benedetti cervelloni :!: ottima :idea:
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 896
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 15/06/11 15:50

Mi dispiace per te caro Lucio
ma la macro è stata provata con lo schema che hai inviato dall'immagine precedente e ora noto che ci sono più righe bianche tra l'ultima estrazione e la riga grigia
Inoltre penso che se hai inserito delle formule nella riga ritardo la mia macro potrebbe falsare
Forse dovrei calcolare l'ultima riga sulla colonna A invece di C con questo codice
Codice: Seleziona tutto
Sub RitardiA()
UR = Worksheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row


Comunque se vuoi divertirti ti invio direttamente il file test creato da me con solo due Ruote
https://rapidshare.com/files/3486078121/RitardiAmbi.xls
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 » 15/06/11 17:01

E' vero, avevo inserito un altra riga; proverò ancora. Se a te funziona, lavorerà anche sul mio file.
Grazie, ti farò sapere.
Intanto scarico anche il tuo foglio, ciao.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 896
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Lucio Peruggini » 15/06/11 23:02

Immagine

Ciao Avatar, per amor di cronaca ho scaricato il tuo file e ho constatato il funzionamento corretto della macro. ciò non di meno, probabilmente avendo fogli diversi e con dati diversi, a me continua a dare il medesimo errore. Ho riportato il foglio come era prima; ho anche eliminato le formule di Antony; ma come noterai, continua a marcarmi solamente le prime due ruote e lo fa nella riga 388 quando, in realtà, questi dati devono essere riportati nella riga 391 laddove ci sono le celle in giallo. Ho anche provato a farla lavorare nel fogli1 colonna "A", ma nulla di fatto.

Ad ogni modo il problema è risolto con le formule.

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

Re: Formula Excel

Postdi Avatar3 » 15/06/11 23:31

Vorrei capire solo una cosa
la riga 389 con in colonna A c'è la stringa "Class." prima di avviare la macro?
oppure nella colonna B riga 389 c'è scritto "Rit- - Pres." e poi
la riga grigia dei numeri da A a BE sono presenti dei valori prima di avviare la macro?
perché se non ci sono è tutto inutile 8)

Altrimenti copia tutti i dati del tuo foglio e incollali nel mio foglio
attiva la macro e vedi il risultato oppure inviami il tuo foglio che la testo personalmente
perché non posso credere che a te non funzioni (c'è sempre un motivo!)
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 » 15/06/11 23:52

https://rapidshare.com/files/1856999326 ... _AVATAR.7z

Credo anch'io che ci sia una ragione per tutto.
Ti invio il file completo anche perchè piccolo.
Saluti
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 896
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 16/06/11 00:06

Scusami Lucio
ma cosa pretendi di contare con
Codice: Seleziona tutto
UR = Worksheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row

Le righe del Foglio1
che non sono le righe del foglio "Statistica" sul quale vado a scrivere i dati
pertanto sarebbe opportuno che mettessi questo codice
Codice: Seleziona tutto
UR = Worksheets("Statistica").Range("A" & Rows.Count).End(xlUp).Row

senza cambiare altro
tranne che il for...next per 10 ruote come indicato
Codice: Seleziona tutto
'For CC = 3 To 53 Step 5 '<<<< attivare questa per 10 ruote
For CC = 3 To 8 Step 5   'commentare questa per 10 Ruote
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 » 16/06/11 00:13

Ok, domani ci provo.
Notte
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 896
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 16/06/11 00:38

Ho trovato un bug che su due Ruote non vedevo quindi ti posto la macro completa
Codice: Seleziona tutto
Sub RitardiA()
Application.ScreenUpdating = False
Application.Calculation = xlManual
UR = Worksheets("Statistica").Range("A" & Rows.Count).End(xlUp).Row
Range(Cells(UR + 2, 3), Cells(UR + 2, 53)).ClearContents
For CC = 3 To 53 Step 5
    ContaR = 0
    For RR = UR - 3 To 4 Step -1
    ContaA = 0
    For CCR = CC + 0 To CC + 4
        If Val(Cells(RR, CCR)) = Val(Cells(UR, CCR)) Then
        ContaA = ContaA + 1
        If ContaA = 2 Then
        If Cells(UR + 2, CC + 2).Value = 0 Then
            Cells(UR + 2, CC + 2).Value = UR - 3 - RR
            ContaA = 0
            GoTo SaltaCC
            End If
        End If
        End If
    Next CCR
Next RR
SaltaCC:
Next CC
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
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 » 16/06/11 11:12

Ciao Avatar, ora è OK!

Chiedo:
Si potrebbero aggiornare e come, sul foglio1 equivalente all'archivio che metterei in una cartella in C:\ le estrazioni automaticamente online e sul qualle appoggerei tutte le ricerche che attualmente posseggo?
Questo, sarebbe sì un grande passo.

Saluti e grazie, Lucio
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 896
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 16/06/11 11:39

Penso che tu possa importare l'archivio al posto di C:\ (root) userei C:\temp\
ma in che formato sono i dati di importazione?
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 » 16/06/11 12:45

Avatar3 ha scritto:Penso che tu possa importare l'archivio al posto di C:\ (root) userei C:\temp\
ma in che formato sono i dati di importazione?


Ciao, il formato credo sia sempre un form. testo (txt) ma penso di averla sparata grossa; non sono all'altezza di gestire una simile cosa.

Grazie, Avatar.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 896
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 16/06/11 13:05

Lucio Peruggini ha scritto:ma penso di averla sparata grossa

Prima spara poi vediamo se è grossa :D
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 » 16/06/11 13:32

Forse ho trovato una soluzione che è più alla mia portata.

Sto mettendo insieme le mie ultime ricerche su un unico foglio e credo sia la soluzione più semplice.

Tempo, un'ora e ti dico.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 896
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Lucio Peruggini » 16/06/11 15:26

Immagine

https://rapidshare.com/files/2086622650 ... A_STAT..7z

Credo di aver trovato una soluzione più sbrigativa.
Su un unico foglio (Da Cinquine a Settine) ho inserito l’archivio che aggiornerò man mano copiando e incollando le estrazioni di volta in volta oppure tre o quattro per volta; di fianco ho inserito le ricerche.
Specifico che le estrazioni in archivio saranno sempre e solo 300 quindi non è completo. Nel senso che, quando ne aggiungo una sotto, eliminerò la prima di sopra; range attuale archivio: A3:BE302.

Orbene, su questo foglio ho inserito le mie ultime ricerche che vanno dalla colonna BG3:QW302.
Avrei necessità di una macro; scansionare e colorare ruota per ruota e nel range menzionato che ripeto sarà sempre di 300 estrazioni, tutte quelle situazioni laddove si riscontrassero da un minimo due a un max ovviamente di cinque numeri.

Nella fattispecie abbiamo:

Colonne Archivio………......A3:BE302
COLORARE……… BG 3:DI302
COLORARE……… DW3:FY302
COLORARE……… GM3:IO302
COLORARE……… JC3:LE302
COLORARE……… LS3:NU302
COLORARE……… OI3:QK302

In quest’ultimo range i numeri sono ancora provvisori.

Per lo scopo, ho utilizzato le formule di AnthonY che, come già detto precedentemente, oltre a ricavarmi in quantità i numeri usciti mi permette anche altre ricerche.
I numeri sottoposti alla ricerca sono inseriti in:

DK310:DQ320
GA310:GG320
IQ310:IX320
LI310:LN320
NY310:OE320
QO310:QO320

La necessità della macro, risiede nel fatto che questi numeri sono soggetti a cambiamenti e quindi ci vorrebbe molto tempo per colorarli manualmente.
Inoltre, se volessimo completare con un fiore all’occhiello tale macro, nel foglio 1 potremmo conteggiare quanti ambi, terni, quaterne e cinquine sono usciti per ogni ruota.
Nel foglio1 attuale ho messo solamente i dati del primo blocco (Bari – Nazionale / cinquine Ambo-Terno-Quat-Cinq).

I colori potrebbero essere come quelli che vedi in questo blocco finito:

Ambi = grigio
Terni = verde
Quaterne = azzurro
Cinquine = arancione

Il tutto sarebbe veramente un grande lavoro. :neutral:

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

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Formula Excel":


Chi c’è in linea

Visitano il forum: Ricky0185 e 56 ospiti