Risultati da 1 a 12 di 12

Discussione: Ritardo attuale di un numero



  1. #1
    L'avatar di ferposso61
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    genova
    Età
    56
    Messaggi
    28
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    4

    Ritardo attuale di un numero

    :235:Buon giorno a tutti, sono ferposso61ho bisogno del vostro aiuto per creare una formula dinamica per calcolare
    il Ritardo Attuale di un numero ed anche il ritardo massimo. (Vedi allegato). Come non vorrei la pappa pronta preferisco
    dei suggerimenti, io ho già fatto qualcosa non so si sbaglio. Grazie per il vostro aiuto Buona Giornata.
    File Allegati File Allegati
    Ultima modifica fatta da:Canapone; 24/01/16 alle 19:41

  2. #2

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4024
    Versione Office
    2013
    Likes ricevuti
    1229
    Likes dati
    923
    Ciao,
    per come vuoi ottenere i risultati (intendo la disposizione dei dati), l' unica formula che mi è "riuscita" è quella per il "Ritardo attuale" ed è abbastanza lunga...
    E' matriciale, quindi da confermare con CTRL+MAIUSC+INVIO.

    Darti dei consigli piuttosto che scriverti direttamente la formula sarebbe troppo lungo, quindi ti dico direttamente cosa ho usato.

    Per il "Ritardo attuale" immagino che ti riferisca all'ultimo ritardo rispetto alla data attuale.....o almeno così ho interpretato.
    Nella cella M2 (da copiare poi in basso) :

    =MAX(($H$2:$H$175<=OGGI())*($A$2:$A$175<>"")*RIF.RIGA($H$2:$H$175))-MAX((($A$2:$A$175=$K2)+($B$2:$B$175=$K2)+($C$2:$C$175=$K2)+($D$2:$D$175=$K2)+($E$2:$E$175=$K2)+($F$2:$F$175=$K2))*RIF.RIGA($A$2:$A$175)*($A$2:$A$175<>""))

    Per il ritardo massimo devo ancora riuscirci....

    In alternativa, nel file in allegato c'è un secondo foglio "VBA" dove cliccando sul pulsante "Calcola Ritardi" ti riempirà le colonne M e N (credo che i risultati siano esatti).
    Il codice utilizzato:

    Codice: 
    Option Explicit
    
    
    Sub Ritardo()
    Dim uRiga As Long, RitAttuale As Long, RitMax As Long, i As Long, x As Integer
    Dim Verifica As Integer
    
    
    Application.ScreenUpdating = False
    uRiga = Range("A" & Rows.Count).End(xlUp).Row
    Range("M2:N91").ClearContents
    For x = 2 To 91
        For i = 2 To uRiga
            Verifica = Application.WorksheetFunction.CountIf(Range("A" & i & ":F" & i), Range("K" & x).Value)
            If Verifica = 0 Then
                RitAttuale = RitAttuale + 1
                If RitAttuale > RitMax Then
                    RitMax = RitAttuale
                End If
            Else
                If RitAttuale > RitMax Then
                    RitMax = RitAttuale
                End If
                RitAttuale = 0
            End If
        Next i
        Range("M" & x).Value = RitAttuale
        Range("N" & x).Value = RitMax
        RitAttuale = 0
        RitMax = 0
    Next x
    Application.ScreenUpdating = True
    End Sub

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  3. #3
    L'avatar di ferposso61
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    genova
    Età
    56
    Messaggi
    28
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    4
    Grazie mille Cromagno sei un vero genio complementi.

  4. #4

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4024
    Versione Office
    2013
    Likes ricevuti
    1229
    Likes dati
    923
    Citazione Originariamente Scritto da ferposso61 Visualizza Messaggio
    Grazie mille Cromagno sei un vero genio complementi.
    Io aspetto i veri maestri per capire come fare (con le formule) per il "Ritardo massimo" :288:

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  5. #5
    L'avatar di ninai
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Barcellona P.G.
    Età
    55
    Messaggi
    1683
    Versione Office
    2010 PC
    Likes ricevuti
    896
    Likes dati
    185
    ciao
    al momento sono fuori gioco.
    Prendendo in prestito il file di cromagno, se ho capito il quesito, la sua formul apotrebbe essere surrogata con:

    =CONTA.NUMERI(A:A)-PICCOLO(SE($A$2:$F$167=$K2;RIF.RIGA($H$1:$H$166));L2)

    con tale procedura, parametrando diversamente il K di PICCOLO(), credo si possa ottenere il massimo ritardo, ma al momento non ho possibilità di provare

    una bozza potrebbe essere:
    =max(PICCOLO(SE($A$2:$F$167=$K2;RIF.RIGA($A$1:$A$166));RIF.RIGA($A$2:A8))-PICCOLO(SE($A$2:$F$167=$K$2;RIF.RIGA($A$1:$A$166));RIF.RIGA($A$1:A7)))

    questo esempio si riferisce al primo numero (1).La formla è da completare, parametrando in K, ma gari con INDIRETTO() e la frequenza del numero da indagare.
    Vedete se riuscite a completare voi la mia idea , casomai intervengo dopo
    "So che spiegare il proprio problema, in modo comprensibile, richiede un certo impegno ed è un lavoro "palloso", ma qualcuno lo deve pur fare ....., indovina chi?" (Cit. "Scossa")

  6. #6

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7165
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2065
    Likes dati
    1304
    Parteciperei volentieri ma nel gioco dell'enalotto sono negato, non ho idea cosa significhi "ritardo massimo" :256:
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  7. #7

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4024
    Versione Office
    2013
    Likes ricevuti
    1229
    Likes dati
    923
    Ciao ninai,
    sono arrivato a questa formula (da mettere nella cella N2 e copiare in basso):

    =MAX(FREQUENZA(SE(($A$2:$A$175=$K2)+($B$2:$B$175=$K2)+($C$2:$C$175=$K2)+($D$2:$D$175=$K2)+($E$2:$E$175=$K2)+($F$2:$F$175=$K2);;RIF.RIGA($A$2:$A$175));SE((($A$2:$A$175<>$K2)*($B$2:$B$175<>$K2)*($C$2:$C$175<>$K2)*($D$2:$D$175<>$K2)*($E$2:$E$175<>$K2)*($F$2:$F$175<>$K2));;RIF.RIGA($A$2:$A$175))))

    I risulti sono uguali a quelli ottenuti col VBA...... tranne che per il ritardo massimo del numero 4.
    Non capisco il perchè :118: :292:

    Vabbè...domani è un altro giorno :288:

    [EDIT]
    Come non detto, i risultati sono sbagliati per diversi numeri.

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  8. #8

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4024
    Versione Office
    2013
    Likes ricevuti
    1229
    Likes dati
    923
    Citazione Originariamente Scritto da ges Visualizza Messaggio
    Parteciperei volentieri ma nel gioco dell'enalotto sono negato, non ho idea cosa significhi "ritardo massimo" :256:
    Ciao ges,
    per ritardo massimo si dovrebbe considerare l'intera serie di dati.
    Se per esempio il numero 46 non esce da 50 giorni, la volta prima non usciva da 12 giorni, la volta prima ancora da 86 giorni (etc....), il ritardo massimo in questo caso sarà 86 giorni.

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  9. #9
    L'avatar di ninai
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Barcellona P.G.
    Età
    55
    Messaggi
    1683
    Versione Office
    2010 PC
    Likes ricevuti
    896
    Likes dati
    185
    prova questa:
    =MAX(PICCOLO(SE($A$2:$F$167=$K2;RIF.RIGA($A$1:$A$166));RIF.RIGA(INDIRETTO("2:"&L2)))-PICCOLO(SE($A$2:$F$167=$K2;RIF.RIGA($A$1:$A$166));RIF.RIGA(INDIRETTO("1:"&L2-1)))-1;CONTA.NUMERI(A:A)-PICCOLO(SE($A$2:$F$167=$K2;RIF.RIGA($H$1:$H$166));L2))
    "So che spiegare il proprio problema, in modo comprensibile, richiede un certo impegno ed è un lavoro "palloso", ma qualcuno lo deve pur fare ....., indovina chi?" (Cit. "Scossa")

  10. #10

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4024
    Versione Office
    2013
    Likes ricevuti
    1229
    Likes dati
    923
    Citazione Originariamente Scritto da ninai Visualizza Messaggio
    prova questa:
    =MAX(PICCOLO(SE($A$2:$F$167=$K2;RIF.RIGA($A$1:$A$166));RIF.RIGA(INDIRETTO("2:"&L2)))-PICCOLO(SE($A$2:$F$167=$K2;RIF.RIGA($A$1:$A$166));RIF.RIGA(INDIRETTO("1:"&L2-1)))-1;CONTA.NUMERI(A:A)-PICCOLO(SE($A$2:$F$167=$K2;RIF.RIGA($H$1:$H$166));L2))
    Ciao,
    anche questa mi dà 8 risultati differenti rispetto al VBA.
    A questo punto mi sa che bisogna verificare se i risultati del VBA sono corretti.....:256:

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  11. #11
    L'avatar di ninai
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Barcellona P.G.
    Età
    55
    Messaggi
    1683
    Versione Office
    2010 PC
    Likes ricevuti
    896
    Likes dati
    185
    hai ragione, la mia formula non conteggiava il primo ritardo e qualora questo era il maggiore il risultato non combaciava, adesso sembra a posto:
    =MAX(PICCOLO(SE($A$2:$F$167=$K2;RIF.RIGA($H$1:$H$166));1)-1;PICCOLO(SE($A$2:$F$167=$K2;RIF.RIGA($A$1:$A$166));RIF.RIGA(INDIRETTO("2:"&L2)))-PICCOLO(SE($A$2:$F$167=$K2;RIF.RIGA($A$1:$A$166));RIF.RIGA(INDIRETTO("1:"&L2-1)))-1;CONTA.NUMERI(A:A)-PICCOLO(SE($A$2:$F$167=$K2;RIF.RIGA($H$1:$H$166));L2))
    "So che spiegare il proprio problema, in modo comprensibile, richiede un certo impegno ed è un lavoro "palloso", ma qualcuno lo deve pur fare ....., indovina chi?" (Cit. "Scossa")

  12. I seguenti 2 utenti hanno dato un "Like" a ninai per questo post:


  13. #12

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4024
    Versione Office
    2013
    Likes ricevuti
    1229
    Likes dati
    923
    Citazione Originariamente Scritto da ninai Visualizza Messaggio
    hai ragione, la mia formula non conteggiava il primo ritardo e qualora questo era il maggiore il risultato non combaciava, adesso sembra a posto:
    =MAX(PICCOLO(SE($A$2:$F$167=$K2;RIF.RIGA($H$1:$H$166));1)-1;PICCOLO(SE($A$2:$F$167=$K2;RIF.RIGA($A$1:$A$166));RIF.RIGA(INDIRETTO("2:"&L2)))-PICCOLO(SE($A$2:$F$167=$K2;RIF.RIGA($A$1:$A$166));RIF.RIGA(INDIRETTO("1:"&L2-1)))-1;CONTA.NUMERI(A:A)-PICCOLO(SE($A$2:$F$167=$K2;RIF.RIGA($H$1:$H$166));L2))
    Perfetta ninai :87:_

    Sapevo che ci voleva il tuo "zampino" per risolvere...
    Quindi posso anche affermare che i risultati del VBA erano corretti.

    Thanks ninai :246:

    [EDIT]
    Per completezza allego il file con le soluzioni con formule e VBA....

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

Discussioni Simili

  1. ordinare in ordine crescente 90 numeri in base al loro ritardo
    Di vince nel forum Domande su Excel in generale
    Risposte: 11
    Ultimo Messaggio: 24/07/16, 17:12
  2. Copiare i dati da un foglio all'altro con un ritardo temporale
    Di scienziatone nel forum Domande su Excel VBA e MACRO
    Risposte: 8
    Ultimo Messaggio: 09/07/16, 18:38
  3. Numero max colonne
    Di FrancoPasto nel forum Domande su Excel in generale
    Risposte: 4
    Ultimo Messaggio: 17/05/16, 10:12
  4. Numero e il x % di Numero
    Di M4x1m1l14n nel forum Domande su Excel in generale
    Risposte: 2
    Ultimo Messaggio: 17/02/16, 21:25
  5. Con leggero ritardo
    Di Andrea_Ra nel forum Pausa caffè (Off-Topic)
    Risposte: 1
    Ultimo Messaggio: 06/01/16, 21:46

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •