| | Post: 10 | Registrato il: 26/09/2018
| Città: MILANO | Età: 32 | Utente Junior | 2016 | | OFFLINE | |
|
03/10/2018 14:46 | |
Ciao a tutti!
Ho un file excel con tutta una serie di orari (oltre mille righe) e vorrei mantenere solamente le ore pari.
Le caselle sono in questo formato:
1/9/2018 00.34.12
1/9/2018 00.41.20
1/9/2018 00.57.10
1/9/2018 01.16.45
1/9/2018 01.29.20
1/9/2018 02.20.10
e vorrei ottenere una cosa del genere, mantenendo solo le ore pari.
1/9/2018 00.00.00
1/9/2018 02.00.00
1/9/2018 04.00.00
1/9/2018 06.00.00
Come potrei fare? Grazie :)
|
|
| | Post: 3.949 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | ONLINE |
|
03/10/2018 14:52 | |
Allega il file con i dati.
Alfredo |
| | Post: 11 | Registrato il: 26/09/2018
| Città: MILANO | Età: 32 | Utente Junior | 2016 | | OFFLINE | |
|
03/10/2018 14:56 | |
alfrimpa, 10/3/2018 2:52 PM:
Allega il file con i dati.
Eccolo. Grazie |
| | Post: 1.725 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Veteran | 365 | | OFFLINE |
|
03/10/2018 15:17 | |
ciao
=SE.ERRORE(INDICE($A$2:$A$3000;AGGREGA(15;6;RIF.RIGA($1:$3000)/(RESTO(ORA($A$2:$A$3000);2)=0);RIF.RIGA(A1)));"")
da tirare in giù |
| | Post: 13 | Registrato il: 26/09/2018
| Città: MILANO | Età: 32 | Utente Junior | 2016 | | OFFLINE | |
|
03/10/2018 15:32 | |
federico460, 10/3/2018 3:17 PM:
ciao
=SE.ERRORE(INDICE($A$2:$A$3000;AGGREGA(15;6;RIF.RIGA($1:$3000)/(RESTO(ORA($A$2:$A$3000);2)=0);RIF.RIGA(A1)));"")
da tirare in giù
Ciao Federico, innanzitutto grazie per l'aiuto.
Mi sono spiegato male. Vorrei creare una nuova matrice in cui riportare solamente il primo orario pari (di tutti i vari orari, eliminando i duplicati successivi) e non tenendo conto di tutte le altre righe.
Grazie davvero :)
|
| | Post: 3.950 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | ONLINE |
|
03/10/2018 17:06 | |
Marco riesci a mostrare un esempio del risultato che vorresti ottenere?
Alfredo |
| | Post: 3.133 | Registrato il: 03/04/2013
| Utente Master | Excel 2000 - 2013 | | OFFLINE | |
|
03/10/2018 17:07 | |
Buona sera a Tutti. @ marcoxt92; vediamo se ho interpretato correttamente la tua richiesta: - nell'immagine allegata dovrebbero essere esclusi dall'elenco tutti i valori indicati in "Rosso" ? - nel qual caso, potrei utilizzare un Codice VBA? Giuseppe
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 2.090 | Registrato il: 21/03/2008
| Città: LOCATE VARESINO | Età: 76 | Utente Veteran | 2007 / 13 | | OFFLINE | |
|
03/10/2018 17:59 | |
ciao
codice in vba da inserire nel foglio
Sub elimona_0rario_dispari()
Dim i As Long
For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
If Hour(Cells(i, 1)) Mod 2 + Minute(Cells(i, 1)) + Second(Cells(i, 1)) <> 0 Then
Rows(i).Delete
End If
Next i
End Sub
Ciao da locate
excel 2007 / 13 |
| | Post: 14 | Registrato il: 26/09/2018
| Città: MILANO | Età: 32 | Utente Junior | 2016 | | OFFLINE | |
|
03/10/2018 19:02 | |
Grazie di cuore a tutti per aver risposto.
@Giuseppe: la mia intenzione è tenere gli orari pari, ovvero il contrario di quello che hai detto, ma vedo che locatevaresino ha creato il codice vba ed ha colto in pieno la mia richiesta!
@locatevaresino: grazie mille per avermi riportato il codice vba. Potresti spiegarmi qual'è il ragionamento con cui lavora questo codice?
Grazie ragazzi, mi state facendo scoprire un mondo! Fino ad ora usavo excel con le semplici funzioni, ma l'uso del vba può aiutare davvero parecchio. Sono alle prime armi con il virtual basic, ma spero davvero di poterlo masticare decentemente il prima possibile :) |
| | Post: 3.134 | Registrato il: 03/04/2013
| Utente Master | Excel 2000 - 2013 | | OFFLINE | |
|
03/10/2018 20:32 | |
Buona sera Marco. @ GiuseppeMN, scrive:
... nell'immagine allegata dovrebbero essere esclusi dall'elenco tutti i valori indicati in "Rosso" ?
non vorrei insistere ma se escludi tutti i valori indicati in Rosso rimangono solo i valori in Nero: 01.09.2018 23.00.00 02.09.2018 00.00.00 02.09.2018 02.00.00 02.09.2018 03.00.00 02.09.2018 04.00.00 02.09.2018 05.00.00 e mi sembra siano proprio le Date con orari con Minuti e Secondi uguali a 0 (zero) o mi sbaglio? A margine di quanto sopra per ottenere ciò che si chiede si potrebbe pensare alla Funzione "Formattazione condizionale" e la Funzione "Filtro" ma questa, molto probabilmente è un'altra storia. Tanto è dovuto per maggior chiarezza per gli altri Utenti di Forum. Giuseppe [Modificato da GiuseppeMN 03/10/2018 20:34]
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 15 | Registrato il: 26/09/2018
| Città: MILANO | Età: 32 | Utente Junior | 2016 | | OFFLINE | |
|
03/10/2018 21:59 | |
GiuseppeMN, 10/3/2018 8:32 PM:
Buona sera Marco. @ GiuseppeMN, scrive:
... nell'immagine allegata dovrebbero essere esclusi dall'elenco tutti i valori indicati in "Rosso" ?
non vorrei insistere ma se escludi tutti i valori indicati in Rosso rimangono solo i valori in Nero: 01.09.2018 23.00.00 02.09.2018 00.00.00 02.09.2018 02.00.00 02.09.2018 03.00.00 02.09.2018 04.00.00 02.09.2018 05.00.00 e mi sembra siano proprio le Date con orari con Minuti e Secondi uguali a 0 (zero) o mi sbaglio? A margine di quanto sopra per ottenere ciò che si chiede si potrebbe pensare alla Funzione "Formattazione condizionale" e la Funzione "Filtro" ma questa, molto probabilmente è un'altra storia. Tanto è dovuto per maggior chiarezza per gli altri Utenti di Forum. Giuseppe
Ciao Giuseppe. Devono essere esclusi tutti gli orari dispari (quelli evidenziati in rosso).01.09.2018 23.00.0002.09.2018 00.00.0002.09.2018 02.00.0002.09.2018 03.00.0002.09.2018 04.00.0002.09.2018 05.00.00
Ho visto che può essere fatto anche con la funzione filtro che hai detto, grazie del consiglio |
| | Post: 3.135 | Registrato il: 03/04/2013
| Utente Master | Excel 2000 - 2013 | | OFFLINE | |
|
03/10/2018 22:34 | |
Buona sera, Marco; grazie della precisazione, in ogni caso il Codice VBA di @locatevaresino, che saluto, è adeguato per ottenere quello che chiedi. A disposizione. Buona serata. Giuseppe
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 2.091 | Registrato il: 21/03/2008
| Città: LOCATE VARESINO | Età: 76 | Utente Veteran | 2007 / 13 | | OFFLINE | |
|
03/10/2018 23:42 | |
ciao
tento di spiegarti la sub()
Sub elimona_0rario_dispari()
Dim i As Long
'Dichiaro una variabile Long , numerica intero
For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
'Ciclo for del quale per il nostro lavoro bisogna sempre incominciare 'dalla fine Cells(Rows.Count, 1).End(xlUp).Row
'E arrivare alla cella 2 con un valore di Step -1 , passo 1
If Hour(Cells(i, 1)) Mod 2 + Minute(Cells(i, 1)) + Second(Cells(i, 1)) <> 0 Then
'Funzione se() calcolo che tutto deve essere ad un valore di somma = 0>
'Mod e uguale a restro() in excel quindi prendo l’ora della cella e 'la divido per 2 e se il resto
'E’ 0 sommato ai minuti i quali devono essere a valore 0 e i secondi 'a valore 0 mi danno un valore
'< > da 0 elimino la riga , se il risultato della somma e’ 0 salto
Rows(i).Delete
End If
Next i
End Sub
Ciao da locate
excel 2007 / 13 |
|
|