Analisi di formati di data non standard (Microsoft Excel)
Bill deve affrontare la sfida di importare dati in Excel che erano stati originariamente creati in altre applicazioni. Il problema è che i dati contengono molte date, ma sono in un formato che Excel non comprende. Ad esempio, le date possono essere nel formato 01.15.11 o 1.15.2011, nessuna delle quali viene considerata come una data da Excel. Bill vuole sapere come convertire le date non standard in un formato di data comprensibile da Excel.
Se le date sono nello stesso formato di sequenza che utilizzi nelle impostazioni regionali, la conversione è un gioco da ragazzi. Ad esempio, se le impostazioni internazionali utilizzano il formato della data MDY (mese seguito dal giorno seguito dall’anno) e la data che stai importando è nello stesso formato, puoi semplicemente selezionare le celle e sostituire i punti con una barra. Quando Excel cambia dal 1.15.2011 al 15/1/2011, analizza automaticamente il risultato come una data.
Se il formato che stai importando non corrisponde alle tue impostazioni regionali, devi mescolare la data nello stesso formato. Ad esempio, se la data che stai importando è 01.10.11 (10 gennaio 2011) e il tuo sistema la interpreta come 1 ottobre 2011, il modo più semplice è separare la data in singoli componenti e quindi rimetterli a posto insieme. Segui questi passaggi generali:
-
Inserisci tre colonne vuote a destra della colonna della data.
-
Seleziona le celle che contengono le date non standard.
-
Utilizzando la procedura guidata Testo in colonne (Dati | Testo in colonne) scegliere i dati delimitati e utilizzare un punto come delimitatore. Al termine della procedura guidata, ti ritroverai con tre colonne contenenti il mese, il giorno e l’anno.
-
Nella colonna vuota rimanente, inserisci una formula come la seguente:
-
Copia la formula in altre celle accanto alle date.
-
Seleziona le celle contenenti le formule appena create, quindi premi Ctrl + C.
-
Usa Incolla speciale per convertire le formule in risultati. (Selezionare l’opzione Valori quando si usa Incolla speciale.)
-
Elimina le tre colonne che contengono le date separate e mantieni la colonna che contiene le date finali.
Un’altra soluzione è utilizzare semplicemente una macro per eseguire la conversione. Quella che segue è una funzione definita dall’utente che accetta la data non standard e la converte in un valore di data formattato correttamente. La macro cambia anche la posizione del mese e del giorno, come nella tecnica Text to Columns.
Public Function Convert_Date(A As String) As Date Dim K As Long Dim K1 As Long Dim K2 As Long K = Len(A) K1 = InStr(1, A, ".") K2 = InStr(K1 + 1, A, ".") Convert_Date = DateSerial(Val(Mid(A, K2 + 1, _ K - K2 + 1)), Val(Mid(A, K1 + 1, K2 - K1)), _ Val(Mid(A, 1, K1 - 1))) End Function
_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 (3191) 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: