Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

MACRO (forse complessa)

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

MACRO (forse complessa)

Postdi Lucio Peruggini » 06/04/13 16:43

Ciao a tutti
Avrei uno dei miei soliti quesiti ma temo che, questa volta, sia un pochino complicato. Non per capacità che è indiscussa, ma non so se realizzabile vista la complessità del caso.

Sto lavorando ancora sui numeri “Spia” e sempre più in profondità. Spiego la funzione che vorrei ottenere con una macro poiché (non metto la mano sul fuoco), non credo si possa ottenere quanto chiedo con delle formule.

Range B7:F50.000

Nella riga 1 B:P ho inserito 15 numeri dei quali e a rotazione, uno fa da spia e altri 14 formano 91 coppie (R7:S97).
Partendo dal primo numero “4” B1, la macro deve cercare quante volte è uscito questo numero “Spia 4” nel range su menzionato e, nelle colonne G,H (stessa riga di uscita della spia), segnare ST in col. “G” oppure AT che troveremo alla fine; se il numero spia è uscito ma non sono ancora usciti i due numeri “aggregati” dopo l’evento “spia”.

I numeri da cercare (uno dei due aggregati) il primo che s’incontra, sono quelli che formano le 91 coppie a partire da “R7” in poi.

A questo punto entra subentra la seconda parte della ricerca stessa:

Ottenuti i ritardi nella colonna “H” (evento spia), il totale sarà marcato in “T6”.
Mentre in U-V-W 7 avremo:

U= I tre storici Max della colonna “H”.
V= La somma di questi tre storici.
W= Eventi totali “T6 / Somma” dei tre ritardi Max.

In sintesi, da ogni numero spia che ovviamente comprende 91 coppie numeriche, si estrapoleranno alla fine, una o due o tre coppie migliori; cioè con la percentuale più alta.
Avremo, dunque, 15 numeri Spia X 91 coppie; pari a 1.365 eventi totali.
Non è necessario calcolare tutto insieme:

Fatto il primo numero, prendo i risultati migliori e li segno a parte.
Poi faccio ripartire la macro con un altro numero spia e segno anche questi risultati fino a completamento dei 15.

Quest’operazione andrebbe fatta per ogni ruota che inserirò con fogli separati.

In colonna “H” ho inserito manualmente 55 eventi <spia 4> con ritardi annessi.

Penso che questa volta l’impegno sia veramente grande ma confido nella bravura e disponibilità che avete sempre dimostrato. Se ci sono perplessità sono a disposizione.
Come sempre, anche se non sarà presa in considerazione, un grazie di cuore e buona Domenica.

Allego file.
https://dl.dropbox.com/u/18220462/FILE/ ... REGATI.zip

Come va il tuo “non fumo” Flash? Spero benone :!: Ciao
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Sponsor
 

Re: MACRO (forse complessa)

Postdi Flash30005 » 08/04/13 01:12

Amo non lasciare in sospeso i miei lavori ma la vita ha un termine mentre i quesiti di questo genere no!!! :D

Il mio "non fumo" va benone (se non altro ho risparmiato, ad oggi, 230 euro) ;)

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: MACRO (forse complessa)

Postdi Lucio Peruggini » 08/04/13 09:37

Ciao Flash,
"ho pagato poco ma ho afferrato anche poco".

A ogni modo sono contento per te che hai smesso con il fumo, ottima scelta!
Oltre al portafoglio hai guadagnato in salute che è più importante!

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

Re: MACRO (forse complessa)

Postdi Lucio Peruggini » 12/04/13 22:12

Spero questa volta si possa fare io proprio, no ci riesco. Sarebbe di un’utilità grandiosa.
Ho lavorato una settimana per trovare e mettere insieme questi numeri (Spia e loro aggregati).
Quanto si vede al momento nel file allegato sono gli eventi attuali di 14.480 storici per due aggregati e, 14.445 per tre. Con uno storico Max. per due aggr. uguale a 41; e 30 per tre aggr.
Si noterà che sono veramente pochi ma forse se ne aggiungerà qualcuno. Mantenerli aggiornati, è piuttosto snervante; se ne perdo qualcuno per strada il lavoro diventa nullo!

All’interno ci sono due fogli; e ogni ruota ha cinque numeri spia con aggregati annessi.

Vorrei segnare con asterisco nella colonna “H” quando uno dei due numeri della colonna “E” range (E10:E50) corrisponde a uno dei cinque usciti della riga due “C:G” per la ruota di Bari “E1” e di conseguenza per le altre nove ruote.

Ho inserito tre numeri fittizi nella riga due per Ba che ho colorato affinché si possa capire bene.

In pratica e prendendo come esempio il primo numero colorato che è il 40 riga 5, esso deve corrispondere per avere (*) ai seguenti requisiti:

Colonna “A” = stessa ruota cella E1.
Colonna “B” = stesso numero spia riga 5.
Colonna “E” = uno dei due numeri che sia uguale a uno dei cinque della riga due e quindi appartenenti alla ruota marcata in E1

Infine, quando esce in riga 2 un nuovo evento spia (numero della riga 5) questo, andrebbe aggiunto alla fine della colonna “C” con almeno la ruota di appartenenza, colonna “B”; gli altri dati l’inserisco manualmente.

Nota: se troppo complicato o per altre ragioni non è fattibile, quantomeno se può essere soddisfatto solamente quest’ultimo quesito:
Marcare in colonna “B e C” (alla fine), il nuovo evento spia uscito nella riga due. Per me sarebbe già un grandissimo aiuto.

Probabilmente più complicato a spiegare che avere il file davanti.
Buona serata

https://dl.dropboxusercontent.com/u/182 ... LI%20.xlsx

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

Re: MACRO (forse complessa)

Postdi Lucio Peruggini » 14/04/13 00:49

Nota: se troppo complicato o per altre ragioni non è fattibile, quantomeno se può essere soddisfatto solamente quest’ultimo quesito:
Marcare in colonna “B e C” (alla fine), il nuovo evento spia uscito nella riga due. Per me sarebbe già un grandissimo aiuto.


Questo quesito l'ho risolto diversamente da quanto proposto, con (formattazione condizionale); per il primo (*) proprio non ci riesco!
Grazie comunque, anche se non verrà risolto.
Buona Domenica
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: MACRO (forse complessa)

Postdi Flash30005 » 14/04/13 12:03

Mi passa la fantasia di metterci mano in quanto dovresti specificare che cosa ti occorre veramente
inoltre dici
Lucio Peruggini ha scritto:Colonna “A” = stessa ruota cella E1.
Colonna “B” = stesso numero spia riga 5.
Colonna “E” = uno dei due numeri che sia uguale a uno dei cinque della riga due e quindi appartenenti alla ruota marcata in E1


Quando in colonna A ci sono i concorsi
in B le ruote
etc
etc

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: MACRO (forse complessa)

Postdi Lucio Peruggini » 14/04/13 15:17

Cia Flash, non posso darti torto forse ho complicato più del dovuto.

Vorrei collocare l’asterisco in colonna “H” quando l’esito della colonna “E” <uno dei due numeri> corrisponde a uno dei cinque della riga 2, ultima estrazione inserita. Ovviamente, devono anche corrispondere sia la ruota (colonna B), sia il numero spia (colonna C); che a loro volta appartengono a:
Colonna “B” ( E1; J1; O1; T1; Y1; AD1; AI1; AN1; AS1; AX1 ).
Colonna “C” ( i cinque numeri spia per ogni ruota) riga 5.

Insomma: devo avere un riscontro con asterisco se uno dei due numeri aggregati (colonna E) sia uscito o no.

Non saprei proprio come spiegarlo diversamente, grazie.
Ciao
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: MACRO (forse complessa)

Postdi Flash30005 » 14/04/13 18:36

Questa macro spartana dovrebbe risolvere il quesito
Codice: Seleziona tutto
Sub Compila()
Range("H10:H100").ClearContents
For CC = 3 To 50 Step 5
CRuota = Cells(1, CC + 2).Value
N1A = Cells(2, CC).Value
N2A = Cells(2, CC + 1).Value
N3A = Cells(2, CC + 2).Value
N4A = Cells(2, CC + 3).Value
N5A = Cells(2, CC + 4).Value
N1S = Cells(5, CC).Value
N2S = Cells(5, CC + 1).Value
N3S = Cells(5, CC + 2).Value
N4S = Cells(5, CC + 3).Value
N5S = Cells(5, CC + 4).Value
UR1 = Range("A" & Rows.Count).End(xlUp).Row
For RR1 = 10 To UR1
If UCase(Range("B" & RR1).Value) = CRuota And (Range("C" & RR1).Value = N1S Or Range("C" & RR1).Value = N2S Or Range("C" & RR1).Value = N3S Or Range("C" & RR1).Value = N4S Or Range("C" & RR1).Value = N5S) Then
MioN1 = Val(Left(Range("E" & RR1).Value, 2))
MioN2 = Val(Right(Range("E" & RR1).Value, 2))
If MioN1 = N1A Or MioN1 = N2A Or MioN1 = N3A Or MioN1 = N4A Or MioN1 = N5A Or MioN2 = N1A Or MioN2 = N2A Or MioN2 = N3A Or MioN2 = N4A Or MioN2 = N5A Then
Range("H" & RR1).Value = "*"
End If
End If
Next RR1
Next CC
End Sub


Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: MACRO (forse complessa)

Postdi Lucio Peruggini » 14/04/13 20:20

Sarà anche "spartana" però fa quello che mi serviva. GRAZIE MOLTE, Flash.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: MACRO (forse complessa)

Postdi Lucio Peruggini » 14/04/13 20:37

Scusami Flash, forse sono stato poco espansivo.
Dire "GRAZIE" è poco rispetto al tempo che impiegavo nel cercare questi dati (facilmente nel perderli) ma soprattutto la facilità con la quale ora li vedo.

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

Re: MACRO (forse complessa)

Postdi Flash30005 » 14/04/13 22:21

Se quella macro va bene allora modificata in questo modo la puoi usare per il secondo foglio (Attuali3)
Codice: Seleziona tutto
Sub CompilaA3()
Sheets("Attuali3").Select
Range("H10:H100").ClearContents
For CC = 3 To 50 Step 5
CRuota = Cells(1, CC + 2).Value
N1A = Cells(2, CC).Value
N2A = Cells(2, CC + 1).Value
N3A = Cells(2, CC + 2).Value
N4A = Cells(2, CC + 3).Value
N5A = Cells(2, CC + 4).Value
N1S = Cells(5, CC).Value
N2S = Cells(5, CC + 1).Value
N3S = Cells(5, CC + 2).Value
N4S = Cells(5, CC + 3).Value
N5S = Cells(5, CC + 4).Value
UR1 = Range("A" & Rows.Count).End(xlUp).Row
For RR1 = 10 To UR1
If UCase(Range("B" & RR1).Value) = CRuota And (Range("C" & RR1).Value = N1S Or Range("C" & RR1).Value = N2S Or Range("C" & RR1).Value = N3S Or Range("C" & RR1).Value = N4S Or Range("C" & RR1).Value = N5S) Then
MioN1 = Val(Left(Range("E" & RR1).Value, 2))
MioN2 = Val(Mid(Range("E" & RR1).Value, 4, 2))
MioN3 = Val(Right(Range("E" & RR1).Value, 2))
If MioN1 = N1A Or MioN1 = N2A Or MioN1 = N3A Or MioN1 = N4A Or MioN1 = N5A Or MioN2 = N1A Or MioN2 = N2A Or MioN2 = N3A Or MioN2 = N4A Or MioN2 = N5A Or MioN3 = N1A Or MioN3 = N2A Or MioN3 = N3A Or MioN3 = N4A Or MioN3 = N5A Then
Range("H" & RR1).Value = "*"
End If
End If
Next RR1
Next CC
End Sub


Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: MACRO (forse complessa)

Postdi Lucio Peruggini » 14/04/13 23:21

Grazie Flash, l'avevo già fatto!
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: MACRO (forse complessa)

Postdi Lucio Peruggini » 16/04/13 22:21

https://dl.dropboxusercontent.com/u/182 ... NTA.SE.PNG

Ciao Flash o chiunque mi dia la dritta giusta.
Mi sono arenato nella formula descritta nell'immagine allegata.

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

Re: MACRO (forse complessa)

Postdi Flash30005 » 17/04/13 09:24

In C4 inserisci questa formula
Codice: Seleziona tutto
=SE(MATR.SOMMA.PRODOTTO(--($B$10:$B$100=$E$1);--($C$10:$C$100=C5))>0;CONTA.SE($C$10:$C$100;C5);"")

La copi fino a G4
Poi dovrai adattarla alle altre testate delle ruote ($E$1 diviene $J$1, etc etc)

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: MACRO (forse complessa)

Postdi Lucio Peruggini » 17/04/13 15:26

https://dl.dropboxusercontent.com/u/182 ... LI%20.xlsm

Ciao Flash, allego nuovo file (solo con gli attuali) e altri dati molto interessanti che riguardano questa statistica sui "Numeri Spia e loro aggregati".

Grazie come sempre per l'aiuto senza del quale non avrei potuto ottenere quanto ho messo insieme.

Probabilmente vi è un errore nella formula; mi dà risultati non veritieri su alcune ruote e quindi "numeri spia".

Nel file allegato, noterai la ruota di Napoli e quella di Palermo con il numero spia 87 che viene riportato 3 volte.

In realtà, su Napoli è presente una volta; su Palermo due volte; riga 4.
Non riesco a capire dov'è l'inghippo.

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

Re: MACRO (forse complessa)

Postdi Flash30005 » 17/04/13 18:44

Si è un errore nella formula infatti la formula è più semplice
Codice: Seleziona tutto
=MATR.SOMMA.PRODOTTO(--($B$10:$B$40=$E$1);--($C$10:$C$40=C5))

da inserire in C4 copiare fino a G
poi sostituire come hai fatto prima

ciao

P.s. se non vuoi vedere lo zero applica la condizione
=Se(Formula>0;Formula;"")
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: MACRO (forse complessa)

Postdi Lucio Peruggini » 17/04/13 22:38

OK! ORA E' GIUSTO.
Però mi hai messo in difficoltà: dove inserisco questo - =Se(Formula>0;Formula;"") per non avere gli zeri?

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

Re: MACRO (forse complessa)

Postdi Flash30005 » 17/04/13 23:17

Traducendo
=Se(Formula>0;Formula;"")
ottieni questo (in C4):
Codice: Seleziona tutto
=SE(MATR.SOMMA.PRODOTTO(--($B$10:$B$40=$E$1);--($C$10:$C$40=C5))>0;MATR.SOMMA.PRODOTTO(--($B$10:$B$40=$E$1);--($C$10:$C$40=C5));"")


ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: MACRO (forse complessa)

Postdi Lucio Peruggini » 17/04/13 23:55

Ciao Flash
Anche se per me rimarrà complicato, qualcosa in più ho afferrato.
Grazie per la traduzione in formula concreta!

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


Torna a Applicazioni Office Windows


Topic correlati a "MACRO (forse complessa)":


Chi c’è in linea

Visitano il forum: Nessuno e 17 ospiti