Previous page | 1 | Next page
Facebook  

Da dati ogni 10 minuti a dati ogni 30 minuti

Last Update: 9/7/2018 1:52 PM
Author
Print | Email Notification    
Post: 23
Registered in: 4/22/2012
Location: TORINO
Age: 58
Junior User
Excel 2013
OFFLINE
9/7/2018 10:31 AM
 
Modify
 
Delete
 
Quote

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 2013)
Macro in Workbook cancella datidati9/8/2019 10:20 PM by LadyExcel85
Problema modi- dati tramite combobox + inserimento dati cella tramite textbox con valutadati9/4/2019 9:49 AM by Dandelion87
Cuori Rubati: Presentazione e Dati TecniciForumdati8/23/2019 11:13 PM by veu
Post: 148
Registered in: 3/11/2014
Location: CASTELLETTO SOPRA TICINO
Age: 52
Junior User
Excel 2016
OFFLINE
9/7/2018 12:25 PM
 
Modify
 
Delete
 
Quote

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
Registered in: 8/2/2015
Senior User
Excel 2013
OFFLINE
9/7/2018 12:30 PM
 
Modify
 
Delete
 
Quote

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]
[Edited by cromagno 9/7/2018 12:31 PM]
Post: 23
Registered in: 4/22/2012
Location: TORINO
Age: 58
Junior User
Excel 2013
OFFLINE
9/7/2018 12:43 PM
 
Modify
 
Delete
 
Quote

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 2013)
Post: 149
Registered in: 3/11/2014
Location: CASTELLETTO SOPRA TICINO
Age: 52
Junior User
Excel 2016
OFFLINE
9/7/2018 1:46 PM
 
Modify
 
Delete
 
Quote

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
Registered in: 4/22/2012
Location: TORINO
Age: 58
Junior User
Excel 2013
OFFLINE
9/7/2018 1:52 PM
 
Modify
 
Delete
 
Quote

... ok, ricevuto
ri-grazie
(uso Excel 2013)
Admin Thread: | Close | Move | Delete | Modify | Email Notification Previous page | 1 | Next page
New Thread
 | 
Reply
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Home Forum | Bacheca | Album | Users | Search | Log In | Register | Admin
Tutti gli orari sono GMT+01:00. Adesso sono le 11:10 PM. : Printable | Mobile | Regolamento | Privacy
FreeForumZone [v.5.0.0] - Copyright © 2000-2019 FFZ srl - www.freeforumzone.com