Non è raro caricare informazioni da altri programmi in Excel.

Ad esempio, potresti avere dati generati da un altro programma e desideri analizzare quei dati in Excel. Quando si importano dati in Excel, l’assegnazione dei tipi di dati corretti alle informazioni è abbastanza buona e può persino analizzare e convertire alcuni dati.

Quando si tratta di date e orari, tuttavia, non tutti i programmi parlano in un modo comprensibile da Excel. Ad esempio, se l’altro programma memorizza le date nel formato “Mon Jan 10 14:33:03 2011”, Excel non sarà in grado di analizzare la data e sarà necessario eseguire la conversione in un altro modo.

Fortunatamente, la maggior parte dei programmi genera la data e l’ora in un formato che segue uno schema. Supponendo, ad esempio, che “Mon Jan 10 14:33:03 2001” rappresenti il ​​formato seguito da tutte le date, puoi eseguire la conversione utilizzando una semplice formula:

=DATEVALUE(MID(A1,9,2)&MID(A1,5,3)&RIGHT(A1,4)) + TIMEVALUE(MID(A1,12,8))

Questa formula presuppone che il formato data / ora esterno sia nella cella A1.

Formatta semplicemente il risultato della formula utilizzando uno dei formati data / ora di Excel e non avrai problemi.

Se preferisci, puoi utilizzare la funzione Testo in colonne per suddividere il formato data / ora estraneo nelle sue parti integranti:

  1. Assicurati che ci siano quattro colonne vuote a destra della data / ora.

Qui è dove Excel inserirà le varie parti della data / ora.

  1. Scegli tutte le celle che contengono le date / ore straniere.

  2. Scegli Testo in colonne dal menu Dati. Excel avvia la Conversione guidata testo in colonne. (Vedi figura 1.)

  3. Assicurati che Delimitato sia selezionato, quindi fai clic su Avanti. Excel visualizza il secondo passaggio della procedura guidata.

  4. Assicurati che la casella di controllo Spazio sia selezionata.

  5. Fare clic su Fine.

Le date e le ore sono ora separate in cinque singole colonne. È ora possibile utilizzare una formula per rimettere insieme una data / ora valida. Ad esempio, supponendo che la versione esplosa della data / ora sia nelle celle A1: E1, potresti usare quanto segue:

=(C1&B1&E1)+D2

Ancora una volta, formatta il risultato utilizzando un formato data / ora e sei pronto.

Se preferisci usare una macro per eseguire la conversione, la seguente macro passerà attraverso tutte le celle selezionate ed eseguirà la conversione:

Sub ConvDate()

Dim c As Range          For Each c In Selection.Cells         c = DateValue(Mid(c, 5, 6) & ", " _           & Mid(c, 21, 4)) + TimeValue(Mid(c, 12, 8))

c.NumberFormat = "dd MMMM yyyy h:mm:ss"

Next c End Sub

La macro converte la stringa di testo in una data / ora accettabile (utilizzando DateValue) e quindi formatta la cella per visualizzare la proprietà value.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

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

Questo suggerimento (3014) 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: