| | Post: 23 | Registrato il: 22/04/2012
| Città: TORINO | Età: 62 | Utente Junior | Excel 2013 | | OFFLINE | |
|
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) |
|
| | Post: 148 | Registrato il: 11/03/2014
| Città: CASTELLETTO SOPRA TICINO | Età: 57 | Utente Junior | Excel 2016 | | OFFLINE | |
|
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 |
| | Post: 663 | Registrato il: 02/08/2015
| Utente Senior | Excel 2013 | | OFFLINE |
|
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 [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." |
| | Post: 23 | Registrato il: 22/04/2012
| Città: TORINO | Età: 62 | Utente Junior | Excel 2013 | | OFFLINE | |
|
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) |
| | Post: 149 | Registrato il: 11/03/2014
| Città: CASTELLETTO SOPRA TICINO | Età: 57 | Utente Junior | Excel 2016 | | OFFLINE | |
|
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...
me la dimentico sempre! |
| | Post: 24 | Registrato il: 22/04/2012
| Città: TORINO | Età: 62 | Utente Junior | Excel 2013 | | OFFLINE | |
|
07/09/2018 13:52 | |
... ok, ricevuto
ri-grazie
(uso Excel 2019) |
|
|