Persone diverse inseriscono i dati in modi diversi. Quando inserisci informazioni in una cella, Excel cerca di capire quale tipo di informazioni stai inserendo. Se inserisci un numero come 08242020, Excel presume che tu stia inserendo un valore numerico e lo tratta di conseguenza. Cosa succede se il numero inserito è effettivamente una data, senza separatori? Excel può capire cosa stai inserendo?
Sfortunatamente, Excel non può. Come mai? Perché non gli hai dato alcuna indicazione che questa dovrebbe essere una data. Se non puoi modificare le tue abitudini di immissione in modo che vengano inseriti anche i separatori, allora avrai bisogno di una soluzione alternativa per convertire le informazioni inserite in un valore di data effettivo.
Il tuo primo pensiero potrebbe essere quello di utilizzare un formato personalizzato per visualizzare le informazioni. Considera il seguente formato personalizzato:
##"/"##"/"####
Questo formato visualizzerebbe il numero 14082023 come 14/08/2023. L’unico problema è che cambia solo la visualizzazione del numero: se vuoi usare la data come una vera data di Excel, non puoi farlo perché non hai convertito il valore in qualcosa che Excel riconosce come data.
Se i valori immessi sono molto coerenti nel loro formato e se sono stati immessi come testo invece che come valori numerici, allora c’è un modo semplice per convertirli in date. Per molto coerenti, intendo che l’input ha utilizzato sempre due cifre per il giorno, due per il mese e quattro per l’anno. Inoltre, le celle contenenti i valori devono essere formattate come testo. In questo caso, puoi seguire questi passaggi:
- Seleziona la colonna delle date.
- Assicurati che non ci sia nulla nella colonna appena a destra delle date.
- Scegli Testo in colonne dalla scheda Dati della barra multifunzione nel gruppo Strumenti dati. Excel visualizza la procedura guidata Converti testo in colonne.
- Seleziona l’opzione Larghezza fissa, quindi fai clic su Avanti.
- Fai di nuovo clic su Avanti.
- Nell’area Formato dati per colonna scegli Data.
- Seleziona l’intervallo nella casella Destinazione, quindi nel foglio di lavoro fai clic sulla cella appena a destra del primo valore selezionato nel passaggio 1.
- Fai clic su Fine.
Se tutto è andato bene, Excel dovrebbe aver analizzato i valori di testo come date e puoi eliminare la colonna originale. Se ciò non ha funzionato, significa che i valori originali non sono stati formattati come testo o che non sono state utilizzate otto cifre per inserire tutte le date.
Un’altra possibile soluzione consiste nell’utilizzare una formula per convertire i valori immessi in date effettive. La seguente è una di queste formule:
=DATA(DESTRA(A2;4);SINISTRA(DESTRA(A2;6);2);SINISTRA(A2;SE(LUNGHEZZA(A2) = 8;2;1)))
Questa formula presuppone che la data inserita (quella senza separatori) sia nella cella A2. La formula funzionerà con date a sette o otto cifre.
Se preferisci le funzioni personalizzate, puoi crearne una in VBA che esamini i dati immessi, li converta in un formato data/ora e quindi restituisca il risultato. La seguente funzione è molto versatile a questo riguardo; funzionerà sia con i formati di data americani che europei:
Questo contenuto è riservato agli abbonati
Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.
Se sei già abbonato Accedi per sbloccare il contenuto!
In caso contrario abbonati qui! L'abbonamento è conveniente.
E puoi interromperlo in ogni momento e in completa autonomia.
(puoi renderti conto di quanti siano i contenuti riservati
raggiungendo questa pagina)
Questa funzione presuppone che i dati che le vengono passati siano un valore numerico, come accadrebbe normalmente quando si immettono date senza separatori.
L’inserimento della data [d]dmmyyyy / [m]mddyyyy direttamente nella cella è a mio avviso però il modo più rapido e semplice. Questo può essere fatto con una macro evento. Ne ho sviluppata una per inserire date senza separatori nella colonna A che è molto comune. La macro converte il tuo inserimento in un numero seriale di Excel.
La macro è fatta per le date europee perché è così che è configurato il mio sistema. È semplice cambiarlo per le date degli Stati Uniti. Basta scambiare le funzioni MID e LEFT nella funzione DateSerial e cambiare [d]dmmyyyy in [m]mddyyyy.
Questo contenuto è riservato agli abbonati
Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.
Se sei già abbonato Accedi per sbloccare il contenuto!
In caso contrario abbonati qui! L'abbonamento è conveniente.
E puoi interromperlo in ogni momento e in completa autonomia.
(puoi renderti conto di quanti siano i contenuti riservati
raggiungendo questa pagina)
Come puoi vedere, ci sono una serie di soluzioni alternative, ma nessuna di esse è così semplice come inserire i separatori quando si inseriscono le date. Se addestrare te stesso o il personale che si occupa dell’immissione dei dati a farlo è difficile, potresti prendere in considerazione l’impostazione di alcune regole di convalida dei dati per le celle di input. Queste regole possono verificare che tu stia inserendo le informazioni utilizzando un formato specifico (come una data con separatori) e fermarti se non lo stai facendo.