Alcuni dei dati con cui lavori in Excel possono iniziare come output da sistemi di grandi dimensioni nel tuo ufficio. A volte i formati di data utilizzati dai grandi sistemi possono essere completamente fraintesi da Excel. Ad esempio, l’output può fornire date nel formato yyyydddtttt, dove yyyy è l’anno, ddd è il giorno ordinale dell’anno (da 1 a 366) e tttt è l’ora basata su un orologio a 24 ore. A prima vista, potresti non sapere come convertire una data del genere in qualcosa che Excel può utilizzare.

Ci sono molti modi in cui una soluzione potrebbe essere affrontata. Forse la formula migliore, tuttavia, è la seguente:

=DATE(LEFT(A1,4),1,1)+MID(A1,5,3)-1+TIME(MID(A1,8,2),RIGHT(A1,2),0)

Questa formula calcola prima il numero di serie della data per il 1 ° gennaio dell’anno specificato, quindi aggiunge il numero corretto di giorni a quella data.

La formula calcola quindi il momento giusto in base a quanto fornito.

Quando viene richiamata una formula come questa, il risultato è un numero seriale di data.

Ciò significa che la cella deve ancora essere formattata per visualizzare un formato di data.

Questo approccio funzionerà perfettamente, a condizione che le informazioni con cui inizi abbiano un senso. Ad esempio, otterrai sempre il risultato atteso se ddd è davvero compreso tra 1 e 366, o se tttt è una rappresentazione dell’ora di 24 ore correttamente formattata. Se prevedi che i dati originali potrebbero essere fuori limite, la soluzione migliore è creare una funzione personalizzata (utilizzando una macro) che distruggerà i dati originali e controllerà i valori forniti per ciascuna porzione.

Se i dati non rientrano nei limiti, la funzione potrebbe restituire un valore di errore che verrebbe facilmente rilevato all’interno del foglio di lavoro.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (2524) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: