Excel Forum Per condividere esperienze su Microsoft Excel

l8 ritardatari

  • Messaggi
  • OFFLINE
    essento
    Post: 4
    Registrato il: 10/11/2009
    Città: ACQUAVIVA DELLE FONTI
    Età: 48
    Utente Junior
    Office 365 ProPlus
    00 17/05/2021 04:17
    [RISOLTO] l8 ritardatari
    Salve
    sto provando a compilare, per il gioco del LOTTO, una ricerca storica dei ritardatari dalla tabella A:F e avrei bisogno di un aiuto a correggere, o riformulare, una formula che mi rilascia il ritardo di un numero nel suo storico.
    Precisamente la formula matricale, copiata prima nelle celle adiacenti e poi in quelle sottostanti, mi funziona fino alla fine tranne che per il primo ritardo (preciso che la formula le calcola a ritroso dall'ultima estrazione alla prima ed è segnato con "1° rit." l'ultimo ritardo).
    Nel file di esempio che ho allegato, nella cella BL7 dovrei avere un valore di 11 riferito al 48° ritardo del numero 1 invece di #NUM!. Come anche per il numero 2 nella cella AZ8 dovrebbe rilasciare il valore di 4.
    Come potrei correggere la formula?
    Ringrazio anticipatamente per l'eventuale aiuto.
    Un saluto al forum.
    Ivan
    [Modificato da essento 17/05/2021 21:05]
  • ONLINE
    by sal
    Post: 6.362
    Registrato il: 14/11/2004
    Utente Master
    Office 2019
    10 17/05/2021 09:28
    Ciao eccoti un mio file fatto tempo fa, molto facile da usare, nella colonna A ci sono le impostazioni la prima cosa stabilisci il numero di estrazioni da considerare se metti 1 com'è adesso inizia dalla prima estrazione, insomma ci sono i numeri di inizio e fine se lasci in bianco cede tutte le estrazioni dopo scegli la ruota e si avviano le macro.

    ti inserisce le estrazioni della ruota e ti calcola i ritardi storici ed attuali i numeri da 1 a 90, cliccando sulle intestazioni ti ordina l'elenco con 0zero ascendente con 1 discendente poi con la E aggiorni le estrazioni nuove uscite.

    Ciao By Sal (8-D
    se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
  • OFFLINE
    federico460
    Post: 2.252
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Veteran
    365
    10 17/05/2021 09:42
    ciao
    bel file BySal

    Essento
    non ti rende l'ultimo numero perchè non riesce a fare la sottrazione
    visto che nella prima riga non c'è il numero 1
    prova a scrivere 1 sulla prima riga e vedi che ti rende 11

    prova così da tirare a destra e in basso
    =SE.ERRORE(GRANDE(SE($B$2:$F$1000=$O7;RIF.RIGA($A$2:$A$1000)-1);RIF.COLONNA(A2));1)-SE.ERRORE(GRANDE(SE($B$2:$F$1000=$O7;RIF.RIGA($A$2:$A$1000)-1);RIF.COLONNA(B2));1)

    [Modificato da federico460 17/05/2021 10:04]
  • OFFLINE
    DANILOFIORINI
    Post: 1.063
    Registrato il: 15/01/2016
    Città: ROMA
    Età: 51
    Utente Veteran
    2016
    20 17/05/2021 09:45
    Ciao
    Intanto hai il calcolo delle formule in manuale....lo devi mettere i automatico

    Poi non mi tornano i risultati che ottieni uno su tutti al sesto ritardo ottieni 34 Ma il dato corretto sarebbe 1 in quanto il numero cercato sta in riga 586 e 587
    Quindi prova cosi
    In Q7 da trascinare a destra

    =AGGREGA(14;6;RIF.RIGA($2:$1000)-1/($B$2:$F$1000=$O$7);RIF.COLONNA(A$1))-AGGREGA(14;6;RIF.RIGA($2:$1000)-1/($B$2:$F$1000=$O$7);RIF.COLONNA(A$1)+1)

    Se non dovesse essere risolutivo spiega meglio come arrivi al risultato
  • OFFLINE
    essento
    Post: 4
    Registrato il: 10/11/2009
    Città: ACQUAVIVA DELLE FONTI
    Età: 48
    Utente Junior
    Office 365 ProPlus
    00 17/05/2021 20:51
    Re:
    by sal, 17/05/2021 09:28:

    Ciao eccoti un mio file fatto tempo fa, molto facile da usare, nella colonna A ci sono le impostazioni la prima cosa stabilisci il numero di estrazioni da considerare se metti 1 com'è adesso inizia dalla prima estrazione, insomma ci sono i numeri di inizio e fine se lasci in bianco cede tutte le estrazioni dopo scegli la ruota e si avviano le macro.

    ti inserisce le estrazioni della ruota e ti calcola i ritardi storici ed attuali i numeri da 1 a 90, cliccando sulle intestazioni ti ordina l'elenco con 0zero ascendente con 1 discendente poi con la E aggiorni le estrazioni nuove uscite.


    Ciao BySal, grazie, lo metto sicuramente in archivio come altri tuoi esempi da cui prendo spesso spunti dato che ti seguo da tempo. Ma sto cercando di avere sotto occhio tutti i numeri per ruota; il file di esempio che ho allegato e molto alleggerito, infatti completo ha tutti i 90 numeri, fino a 500 ritardi preventivi, una scheda dedicata al report e lo storico aggiornato ovviamente all'ultima.
    In seguito, con una PowerQuery di cui sto seguendo dei videocorsi, unirò e filtrerò tutte le ruote dei 10 file.
    Mi trovo in un ospedale e per passare il tempo e tenere in forma la mente mi diverto con i fogli excel anche se mi rendo conto che sviluppo i miei fogli in maniera "terra-terra" ma ...Salirò....Salirò !!!
    Grazie per il tuo immancabile contributo Sal.
    ---------

    federico460, 17/05/2021 09:42:

    Essento
    non ti rende l'ultimo numero perchè non riesce a fare la sottrazione
    visto che nella prima riga non c'è il numero 1
    prova a scrivere 1 sulla prima riga e vedi che ti rende 11

    prova così da tirare a destra e in basso
    =SE.ERRORE(GRANDE(SE($B$2:$F$1000=$O7;RIF.RIGA($A$2:$A$1000)-1);RIF.COLONNA(A2));1)-SE.ERRORE(GRANDE(SE($B$2:$F$1000=$O7;RIF.RIGA($A$2:$A$1000)-1);RIF.COLONNA(B2));1)


    Ciao Federico460, ho testato la tua formula... perfetta!
    Grazie al tuo aiuto ho anche capito l'errore che ho commesso, devo dire che non è farina del mio sacco in quanto ho adattato la formula di un altro utente ma non ne venivo a capo. In più con il tuo aiuto si è eliminato #NUM!
    ---------

    DANILOFIORINI, 17/05/2021 09:45:

    Ciao
    Intanto hai il calcolo delle formule in manuale....lo devi mettere i automatico

    Poi non mi tornano i risultati che ottieni uno su tutti al sesto ritardo ottieni 34 Ma il dato corretto sarebbe 1 in quanto il numero cercato sta in riga 586 e 587
    Quindi prova cosi
    In Q7 da trascinare a destra

    =AGGREGA(14;6;RIF.RIGA($2:$1000)-1/($B$2:$F$1000=$O$7);RIF.COLONNA(A$1))-AGGREGA(14;6;RIF.RIGA($2:$1000)-1/($B$2:$F$1000=$O$7);RIF.COLONNA(A$1)+1)

    Se non dovesse essere risolutivo spiega meglio come arrivi al risultato


    Ciao DANILOFIORINI,
    Grazie anche a te per la gradita risposta, ora ho 2 funzioni in più da studiare meglio: SE.ERRORE e AGGREGA.
    Ho impostato il calcolo manuale nel mio foglio completo perché data la troppa elementarità con cui sviluppo i fogli ci mette troppo tempo a eseguirlo, quindi mi avvalgo del tasto F9 e ricalcolo tutto solo prima di salvare e chiudere.
    Si, effettivamente il sesto ritardo è sbagliato, mea culpa, errore nel riferimento colonna da RIF.COLONNA(I2) a RIF.COLONNA(G2).
    ---------

    La soluzione ideale l'ho ritrovata con la funzione SE.ERRORE di federico460 in quanto ho notato che è più snella nelle 90 righe da calcolare e non rilascia in caso di errore #NUM!

    Vi ringrazio calorosamente e di sicuro mi farò risentire per porre altri "excel-dilemmi"
    Ciao Sal
    Ciao Federico
    Ciao Danilo
    ByIvan;)

    P.S.: come si imposta [RISOLTO] ?
    [Modificato da essento 17/05/2021 23:34]
  • 15MediaObject5,0045 4