Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Da dati ogni 10 minuti a dati ogni 30 minuti

Ultimo Aggiornamento: 07/09/2018 13:52
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 [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."
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... [SM=x423028]
me la dimentico sempre! [SM=x423053]
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)
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 16:01. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com