Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Formula

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

Postdi Lucio Peruggini » 10/05/11 21:54

http://screenshotuploader.com/s/58Z6mWOuvnb

https://rapidshare.com/files/461796995/Cartel1.xlsx


Buona serata
Dovrei marcare in colonna (G) con un asterisco i ritardi della colonna (F) a partire dal Num. “0” in poi di ogni ruota. Quante sono le volte, (quindi 1,2,3,4,5,6….) che il ritardo precedente viene superato da un ritardo maggiore.
Come da esempio in excel e foto, si evince a partire dalla seconda riga F2 = 4 che detto ritardo viene superato da quello immediatamente dopo con un ritardo 8 e subito dopo da un ritardo 9, poi ne salta due che sono inferiori al precedente che è più alto e quindi alla riga 7, poi 8, aumentano di nuovo. Orbene, vorrei evidenziare questi eventi con asterisco.
Finito il Numero 1, si passerà al num. 2 con il medesimo procedimento. Qui ho volutamente accorciato questi eventi ma, le righe in questione sono sempre più o meno 230.000.
In linea di massima ogni numero, dall’uno al novanta, contiene 2300 righe e ogni numero abbraccia per così dire, le dieci ruote.

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

Sponsor
 

Re: Formula

Postdi Lucio Peruggini » 10/05/11 22:51

Lucio Peruggini ha scritto:http://screenshotuploader.com/s/58Z6mWOuvnb

https://rapidshare.com/files/461796995/Cartel1.xlsx


Buona serata
Dovrei marcare in colonna (G) con un asterisco i ritardi della colonna (F) a partire dal Num. “0” in poi di ogni ruota. Quante sono le volte, (quindi 1,2,3,4,5,6….) che il ritardo precedente viene superato da un ritardo maggiore.
Come da esempio in excel e foto, si evince a partire dalla seconda riga F2 = 4 che detto ritardo viene superato da quello immediatamente dopo con un ritardo 8 e subito dopo da un ritardo 9, poi ne salta due che sono inferiori al precedente che è più alto e quindi alla riga 7, poi 8, aumentano di nuovo. Orbene, vorrei evidenziare questi eventi con asterisco.
Finito il Numero 1, si passerà al num. 2 con il medesimo procedimento. Qui ho volutamente accorciato questi eventi ma, le righe in questione sono sempre più o meno 230.000.
In linea di massima ogni numero, dall’uno al novanta, contiene 2300 righe e ogni numero abbraccia per così dire, le dieci ruote.

Grazie, Lucio


Dimenticavo la fase finale che probabilmente implica una macro. Cone da quest'altra foto sarebbe il massimo se potessimo scrivre nelle colonne (H:L)

Ruota - Numero - Negativi - Totali - Negativi diviso totali

http://screenshotuploader.com/s/q2lJiGgmFX
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula

Postdi Avatar3 » 11/05/11 02:31

Prova questa macro e fai sapere

Codice: Seleziona tutto
Sub Compila()
UR1 = Worksheets("foglio1").Range("A" & Rows.Count).End(xlUp).Row
Range("G2:L" & UR1).ClearContents
Ruota = ""
Conta = 1
ContaX = 0
For RR = 2 To UR1
    If Ruota <> Range("B" & RR).Value Then
        Ruota = Range("B" & RR).Value
        Num = Range("C" & RR).Value
        If Range("G" & RR).Text = 0 Then
            Conta = 1
            ContaX = 0
        End If
        Range("G" & RR).Value = 0
        Rit = Range("F" & RR).Value
        If Range("G" & RR - 1).Text <> 0 And RR <> 2 Then
            Range("H" & RR - 1).Value = Range("B" & RR - 1).Value
            Range("I" & RR - 1).Value = Range("C" & RR - 1).Value
            Range("J" & RR - 1).Value = ContaX
            Range("K" & RR - 1).Value = Conta
            Range("L" & RR - 1).Value = Int(ContaX * 100 / Conta + 0.5)
        End If
    Else
        If Rit < Range("F" & RR).Value Then
            Range("G" & RR).Value = "*"
            ContaX = ContaX + 1
            Rit = Range("F" & RR).Value
        End If
        Conta = Conta + 1
    End If
Next RR
End Sub


ciao
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

Postdi Lucio Peruggini » 11/05/11 11:33

Ciao Avatar, la macro va benissimo solo che da parte mia c'è stato un errore di impostazione nella colonna (B); chiedo scusa.

In realtà, questa colonna contiene in ordine A - Z quindi una ruota per volta Ba, Ca, Fi, Ge, Mi, Na, Nz, Pa, Ro, To, Ve; i numeri da 1 a 90 laddove a ogni numero va assegnata la stringa finale. Al cambio di ogni numero dunque, si riparte da "0" per poi arrivare ad un altra ruota fino in fondo.

Allego foto e ovviamente grazie per l'aiuto.

http://screenshotuploader.com/s/qmcGRKwCzs6
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula

Postdi Avatar3 » 11/05/11 13:24

Prova questa

Codice: Seleziona tutto
Sub Compila()
UR1 = Worksheets("foglio1").Range("A" & Rows.Count).End(xlUp).Row
Range("G2:L" & UR1).ClearContents
Ruota = ""
Conta = 1
ContaX = 0
Num = 0
For RR = 2 To UR1
    If Num <> Range("C" & RR).Value Or Ruota <> Range("B" & RR).Value Then
        Ruota = Range("B" & RR).Value
        Num = Range("C" & RR).Value
        Range("G" & RR).Value = 0
        Rit = Range("F" & RR).Value
        If Range("G" & RR - 1).Text <> 0 And RR <> 2 Then
            Range("H" & RR - 1).Value = Range("B" & RR - 1).Value
            Range("I" & RR - 1).Value = Range("C" & RR - 1).Value
            Range("J" & RR - 1).Value = ContaX
            Range("K" & RR - 1).Value = Conta
            Range("L" & RR - 1).Value = Int(ContaX * 100 / Conta + 0.5)
            If Range("G" & RR).Text = 0 Then
                Conta = 1
                ContaX = 0
            End If
        End If
    Else
        If Rit < Range("F" & RR).Value Then
            Range("G" & RR).Value = "*"
            ContaX = ContaX + 1
            Rit = Range("F" & RR).Value
        End If
        Conta = Conta + 1
    End If
Next RR
End Sub


Però non mi è chiaro se gli eventi totali (col "K") sono per variazione di ruota (Col "B") o per variazione di numero (Col "C")

Ciao
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

Postdi Lucio Peruggini » 11/05/11 16:32

Grazie Avatar è perfetto! La colonna (K) è in relazione al numero.
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 "Formula":


Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti