Il problema dei 3 corpi: Attraverso continenti e decadi, cinque amici geniali fanno scoperte sconvolgenti mentre le leggi della scienza si sgretolano ed emerge una minaccia esistenziale. Vieni a parlarne su TopManga.

Excel Forum Per condividere esperienze su Microsoft Excel

Da dati ogni 10 minuti a dati ogni 30 minuti

  • Messaggi
  • OFFLINE
    guidoexcel
    Post: 23
    Registrato il: 22/04/2012
    Città: TORINO
    Età: 62
    Utente Junior
    Excel 2013
    00 07/09/2018 10:31
    Ciao a tutti,

    chiedo aiuto per un problema di cui non riesco a trovare una soluzione, anche perché conosco poco o niente le funzioni macro.
    Il problema è il seguente:

    da una matrice composta da due colonne (di cui la colonna 1 contiene dati nel formato data e ora "gg/mm/aa hh:mm" 1 riga ogni 10 minuti e la colonna 2 contiene un valore numerico) io dovrei estrarre un'altra matrice composta dalle stesse colonne ma contenente solamente le righe corrispondenti alle ore intere e alle mezze ore, cioè ogni 30 minuti.
    allego un breve file dati di esempio

    qualcuno potrebbe aiutarmi?
    Grazie in anticipo

    (uso Excel 2013 su Win7 professional)
    (uso Excel 2019)
  • OFFLINE
    Konki66
    Post: 148
    Registrato il: 11/03/2014
    Città: CASTELLETTO SOPRA TICINO
    Età: 57
    Utente Junior
    Excel 2016
    00 07/09/2018 12:25
    Ciao Guido

    no riesco ad eliminare la colonna di appoggio, ci riproverò, comunque

    colonna di appoggio (basandomi sul tuo file) io l'ho posizionata in D
    in D2 inserisci questa formula
    =SE(O(MINUTO(A2)=0;MINUTO(A2)=30);VERO;FALSO)

    in F2 prima colonna della nuova matrice
    =SE.ERRORE(INDICE(Foglio1!A$2:A$73;PICCOLO(SE($D$2:$D$73;RIF.RIGA($A$2:$A$73)-1);RIGHE($A$2:$A2)));"")
    in G2 la seconda colonna della matrice
    =SE.ERRORE(INDICE(Foglio1!B$2:B$73;PICCOLO(SE($D$2:$D$73;RIF.RIGA($A$2:$A$73)-1);RIGHE($A$2:$A2)));"")

    Queste ultime due da confermare come matriciali CTRL+MAIUSC+INVIO
    Devi poi copiare il formato data corretto alla prima colonna

    Saluti
    Marco
  • OFFLINE
    cromagno
    Post: 663
    Registrato il: 02/08/2015
    Utente Senior
    Excel 2013
    00 07/09/2018 12:30
    Ciao,
    in cella D2 (da copiare poi a destra ed in basso):
    =SE.ERRORE(INDICE(A$2:A$73;AGGREGA(15;6;(RIF.RIGA($A$2:$A$73)-1)/(RESTO(MINUTO($A$2:$A$73);30)=0);RIF.RIGA(A1)));"")

    Ciao
    Tore

    [EDIT]
    @konki66
    non avevo notato lo tua risposta [SM=g27811]
    [Modificato da cromagno 07/09/2018 12:31]


    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
  • OFFLINE
    guidoexcel
    Post: 23
    Registrato il: 22/04/2012
    Città: TORINO
    Età: 62
    Utente Junior
    Excel 2013
    00 07/09/2018 12:43
    Grazie Marco, le funzioni logiche le utilizzo da tempo ma non le avevo mai applicate a celle con campi data. non si finisce mai di imparare...

    ho seguito il tuo consiglio e funziona, ho poi semplificato la procedura (forse da neofita...) utilizzando solo la formula della colonna D (spostata nella colonna C) e poi dandogli un ordina->ordinamento personalizzato->ordina per colonna D->ordina dal più grande al più piccolo. Facendo così la procedura restituisce una matrice con tutti i valori VERO, ordinati per data e ora, poi tutti i valori FALSO. io cancello poi i record con i valori FALSO e il problema è risolto.

    Grazie ancora a Marco, a Tore e al forum!
    (uso Excel 2019)
  • OFFLINE
    Konki66
    Post: 149
    Registrato il: 11/03/2014
    Città: CASTELLETTO SOPRA TICINO
    Età: 57
    Utente Junior
    Excel 2016
    00 07/09/2018 13:46
    Ciao Guido, grazie per il riscontro

    Se usi le formule, di Tore o le mie, eviti di rielaborare il file e ottieni subito la matrice voluta.

    Per Tore: ciao e grazie di avermi rispoverato l'utilizzo della funzione aggrega... [SM=x423028]
    me la dimentico sempre! [SM=x423053]
  • OFFLINE
    guidoexcel
    Post: 24
    Registrato il: 22/04/2012
    Città: TORINO
    Età: 62
    Utente Junior
    Excel 2013
    00 07/09/2018 13:52
    ... ok, ricevuto
    ri-grazie
    (uso Excel 2019)