
Quando importi date da file CSV, database o altre applicazioni, Excel potrebbe archiviarle come testo anziché come valori di data effettivi. Ciò può causare problemi con l'ordinamento cronologico, i filtri per data e i calcoli, anche quando le date sembrano corrette.
Puoi convertire il testo in data in Excel usando Testo a colonne, le formule, Power Query o l'automazione con C#. L'approccio migliore dipende dal formato della data di origine e dal fatto che tu stia eseguendo una conversione una tantum o gestendo un flusso di lavoro ricorrente.
Scegli il metodo di conversione da testo a data corretto
Prima di iniziare, scegli il metodo che meglio si adatta ai tuoi dati di origine e alle tue esigenze di conversione.
| La tua situazione | Metodo consigliato |
|---|---|
Una colonna di date come testo in un formato coerente, ad esempio 15/01/2026
|
Usa Testo a colonne e seleziona l'ordine della data corretto, ad esempio DMY. Visualizza i passaggi |
Date come testo riconoscibili, ad esempio 15-Jan-2026
|
Usa DATEVALUE per convertire il testo in un valore di data di Excel. Visualizza i passaggi |
Date in un formato fisso o personalizzato, ad esempio 20260115
|
Usa DATE con le funzioni di testo come LEFT, MID e RIGHT per estrarre i componenti della data. Visualizza le formule |
| Date importate usando una convenzione regionale diversa | In Power Query, usa Cambia tipo > Usando impostazioni locali. Visualizza i passaggi |
| Date che devono essere convertite in flussi di lavoro Excel automatizzati | Usa C# per analizzare le date come testo e scrivere valori di data di Excel effettivi. Visualizza il codice |
Non sei sicuro che le tue date siano archiviate come testo? Per impostazione predefinita, il testo è solitamente allineato a sinistra in Excel, mentre i valori di data effettivi sono allineati a destra. Tuttavia, il solo allineamento non è un indicatore affidabile. Per verificare, inserisci =ISNUMBER(A2) in una cella vuota. Excel archivia le date riconosciute come numeri, quindi FALSE indica che la cella non è numerica. Se contiene una stringa simile a una data, è archiviata come testo. TRUE significa che il valore è numerico, ma di per sé non prova che rappresenti la data prevista.
Se hai bisogno dell'operazione opposta, consulta la nostra guida su formattare le date come testo in Excel.
Metodo 1: Convertire testo in data usando Testo a colonne
Usa questo metodo quando: vuoi convertire un'intera colonna di date come testo senza formule, in particolare quando le date seguono un ordine coerente giorno-mese-anno o mese-giorno-anno.
Sebbene sia comunemente usata per dividere il testo in colonne separate, la funzionalità Testo a colonne di Excel può anche convertire le date archiviate come testo in valori di data di Excel effettivi.
Guida passo passo
-
Seleziona le celle che contengono le date come testo in una colonna.
-
Vai a Dati > Testo a colonne nel gruppo Strumenti dati.

-
Nella procedura guidata Converti testo in colonne, seleziona Delimitato e fai clic su Avanti.
-
Cancella eventuali delimitatori che dividerebbero le date e controlla l'Anteprima dati per assicurarti che ogni data rimanga in un'unica colonna. Quindi fai clic su Avanti.
-
In Formato dati colonna, seleziona Data.
-
Scegli l'ordine della data che corrisponde al testo originale:
-
DMY: per date come
15/01/2026. -
MDY: per date come
01/15/2026. -
YMD: per date come
2026/01/15.

-
DMY: per date come
-
Controlla il campo Destinazione. Per impostazione predefinita, Excel riscrive le date convertite nella colonna originale. Per conservare le date come testo originali, inserisci o seleziona la cella iniziale di un intervallo di destinazione vuoto, quindi fai clic su Fine.
Excel converte le stringhe di testo riconosciute in valori di data numerici. Per modificare la modalità di visualizzazione delle date, seleziona le celle convertite, premi Ctrl + 1 e scegli il formato data preferito nella scheda Numero.

Importante: seleziona l'ordine della data corretto
Le impostazioni DMY, MDY e YMD descrivono l'ordine dei componenti nel testo di origine, non come vuoi che le date vengano visualizzate in seguito.
Ad esempio, il testo 04/05/2026 può essere interpretato in modo diverso a seconda dell'ordine della data selezionato:
| Ordine data selezionato | Data interpretata |
|---|---|
| DMY (Giorno/Mese/Anno) | 4 maggio 2026 |
| MDY (Mese/Giorno/Anno) | 5 aprile 2026 |
Entrambe le interpretazioni sono date valide, quindi Excel potrebbe non segnalare un errore se selezioni l'ordine sbagliato. Scegli sempre l'ordine della data usato nei dati di origine e controlla alcuni valori convertiti prima di elaborare set di dati importanti.
Oltre alla conversione delle date, puoi anche usare Testo a colonne per dividere il contenuto di una cella in più colonne, ad esempio separando nomi, indirizzi o altri dati combinati.
Metodo 2: Convertire testo in data usando DATEVALUE
Usa questo metodo quando: le date di origine sono stringhe di testo che Excel è in grado di riconoscere e vuoi convertirle usando formule mantenendo i dati originali invariati.
La funzione DATEVALUE converte le date come testo in numeri seriali di data di Excel, che possono poi essere formattati e usati nei calcoli delle date. A differenza di Testo a colonne, che esegue una conversione una tantum, DATEVALUE usa formule che possono essere ricalcolate quando i valori di origine cambiano.
Guida passo passo
Supponiamo che la cella A2 contenga 15-Jan-2026, archiviato come testo anziché come data di Excel effettiva.
-
Seleziona una cella vuota accanto alla data originale, ad esempio B2, e assicurati che il suo formato numerico sia Generale.
-
Inserisci la seguente formula:
=DATEVALUE(A2) -
Premi Invio. Nel sistema di data predefinito di Excel (1900), la formula restituisce
46037, che rappresenta il 15 gennaio 2026. -
Trascina il quadratino di riempimento verso il basso per convertire le restanti date come testo.
-
Seleziona le celle convertite e premi Ctrl + 1 per aprire la finestra di dialogo Formato celle.
-
Nella scheda Numero, seleziona Data, scegli il formato data preferito e fai clic su OK.

Limitazione: DATEVALUE si basa sulle regole di riconoscimento delle date di Excel, che possono variare in base alle impostazioni locali. Potrebbe restituire #VALUE! per stringhe di data non supportate o interpretare in modo errato date ambigue. Per formati come YYYYMMDD, usa invece la funzione DATE con le funzioni di estrazione del testo.
Sostituisci le date come testo con valori di data permanenti
Le celle convertite contengono ancora formule. Se vuoi sostituire le date come testo originali con valori di data permanenti:
- Verifica che le date convertite corrispondano alle date previste.
- Seleziona e copia le celle delle date convertite.
- Seleziona la prima cella dell'intervallo di date originale.
- Vai a Home > Incolla > Incolla speciale, seleziona Valori e fai clic su OK.
- Applica un formato numerico Data alle celle di destinazione, se necessario.
- Controlla le date incollate, quindi elimina la colonna temporanea delle formule.
Nota: dopo aver sostituito le date come testo originali, le formule DATEVALUE temporanee potrebbero restituire #VALUE! perché le loro celle di origine ora contengono date numeriche. Ciò non influisce sui valori già incollati nella colonna originale.
Puoi usare la stessa tecnica per rimuovere le formule in Excel mantenendo i valori calcolati.
Metodo 3: Convertire YYYYMMDD e formati di testo personalizzati in data
Usa questo metodo quando: le tue date sono archiviate come stringhe di otto cifre, codici numerici o testo in formato fisso che DATEVALUE non riesce a interpretare in modo affidabile.
Ad esempio, potresti ricevere date come 20260115 o 2026.01.15 da un sistema ERP o da un database. Invece di affidarti al riconoscimento automatico delle date di Excel, puoi usare LEFT, MID e RIGHT per estrarre l'anno, il mese e il giorno, quindi combinarli con la funzione DATE per creare un valore di data di Excel.
Convertire YYYYMMDD in data
Supponiamo che la cella A2 contenga 20260115, archiviato come testo o come numero di otto cifre anziché come numero seriale di data di Excel.
-
Seleziona una cella vuota accanto al valore originale, ad esempio B2.
-
Inserisci la seguente formula:
=DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2)) -
Premi Invio. La formula crea una data di Excel che rappresenta il 15 gennaio 2026.
-
Se i valori rimanenti seguono lo stesso formato YYYYMMDD, trascina il quadratino di riempimento verso il basso per convertirli.
-
Seleziona le celle convertite, premi Ctrl + 1 e applica il formato data preferito.
La formula funziona estraendo i singoli componenti della data:
-
LEFT(A2,4)estrae l'anno:2026. -
MID(A2,5,2)estrae il mese:01. -
RIGHT(A2,2)estrae il giorno:15. -
DATE()combina questi componenti in un valore di data numerico di Excel.
Se applichi il formato numerico personalizzato yyyy-mm-dd, la data convertita viene visualizzata come 2026-01-15.
Convertire altre stringhe di data in formato fisso
Puoi modificare la formula per gestire diversi schemi di data, inclusi i valori con separatori.
Le formule seguenti presuppongono che le date di origine siano in A2:A6, nell'ordine mostrato. Ogni formula fa riferimento alla cella corrispondente nella colonna A. Modifica i riferimenti di cella se i tuoi dati si trovano altrove.
| Valore originale | Formato di input | Formula |
|---|---|---|
| 20260115 | YYYYMMDD | =DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2)) |
| 15012026 | DDMMYYYY | =DATE(RIGHT(A3,4),MID(A3,3,2),LEFT(A3,2)) |
| 01152026 | MMDDYYYY | =DATE(RIGHT(A4,4),LEFT(A4,2),MID(A4,3,2)) |
| 2026-01-15 | YYYY-MM-DD | =DATE(LEFT(A5,4),MID(A5,6,2),RIGHT(A5,2)) |
| 2026.01.15 | YYYY.MM.DD | =DATE(LEFT(A6,4),MID(A6,6,2),RIGHT(A6,2)) |

Queste formule presuppongono che i valori di origine seguano lo schema specificato, con ciascun componente della data in una posizione fissa. Ad esempio, la formula YYYY-MM-DD prevede un anno di quattro cifre seguito da valori di mese e giorno di due cifre.
Attenzione agli zeri iniziali e alle date non valide
Quando si convertono stringhe di data in formato fisso, due problemi meritano particolare attenzione.
1. Gli zeri iniziali potrebbero andare persi durante l'importazione.
Se 01152026 (MMDDYYYY) viene importato come numero, Excel rimuove lo zero iniziale e lo archivia come 1152026. La formula a posizioni fisse non può più estrarre correttamente i componenti.
Se sai che i valori originali seguono uno schema MMDDYYYY di otto cifre, puoi ripristinare lo zero mancante in una colonna di supporto.
Ad esempio, inserisci la seguente formula in B2:
=TEXT(A2,"00000000")
Questa converte 1152026 nella stringa di testo di otto caratteri 01152026.
Puoi quindi usare il valore ripristinato in B2 per costruire una data in C2:
=DATE(RIGHT(B2,4),LEFT(B2,2),MID(B2,3,2))
Questo approccio presuppone che il valore numerico originale rappresenti una data MMDDYYYY con uno zero iniziale omesso. Per le importazioni future, archiviare la colonna di origine come testo aiuta a preservare gli zeri iniziali fin dall'inizio.
2. La funzione DATE può correggere componenti di data non validi.
La funzione DATE non restituisce sempre un errore quando il mese o il giorno forniti sono al di fuori dell'intervallo previsto.
Ad esempio:
=DATE(2026,2,30)
Questa restituisce il 2 marzo 2026, perché febbraio 2026 ha solo 28 giorni.
Pertanto, una formula che produce una data di Excel valida non significa necessariamente che la stringa di data originale fosse valida.
Per un valore di origine YYYYMMDD di otto cifre in A2 e la relativa data convertita in B2, puoi verificare se la conversione ha preservato i componenti della data originale:
=AND(LEN(A2&"")=8,TEXT(B2,"yyyymmdd")=A2&"")
- TRUE: l'origine contiene otto caratteri e la data convertita corrisponde all'anno, al mese e al giorno originali.
- FALSE: la lunghezza dell'origine o i componenti della data non corrispondono e devono essere verificati.
Questo controllo presuppone che A2 contenga un valore YYYYMMDD e B2 contenga una data di Excel calcolata correttamente. Se B2 contiene un errore, anche la formula di convalida potrebbe restituire un errore.
Nota: se una cella contiene già un numero seriale di data di Excel, come 46037, devi solo applicare un formato numerico data. Un valore di otto cifre come 20260115, tuttavia, deve prima essere interpretato come anno, mese e giorno.
Metodo 4: Convertire date importate come testo usando Power Query
Usa questo metodo quando: lavori regolarmente con date importate come testo in Excel, soprattutto da file CSV o sistemi che usano convenzioni regionali di data diverse.
Power Query ti consente di convertire le date come testo usando impostazioni locali specifiche e salva i passaggi di trasformazione per gli aggiornamenti futuri.
Ad esempio, un file di origine del Regno Unito potrebbe contenere date come 15/01/2026, mentre il tuo computer usa le impostazioni locali degli Stati Uniti. Convertire direttamente la colonna in Data potrebbe generare errori perché l'ordine della data non corrisponde. L'opzione Usando impostazioni locali di Power Query ti consente di specificare come devono essere interpretate le date di origine.
Guida passo passo
-
Apri i tuoi dati in Power Query:
- Per i dati già presenti in un foglio di lavoro Excel: seleziona una cella nel set di dati e vai a Dati > Da tabella/Intervallo.
- Per i file CSV: vai a Dati > Recupera dati > Da file > Da testo/CSV, seleziona il tuo file e fai clic su Trasforma dati nell'anteprima di importazione.
-
Se richiesto durante il caricamento dei dati del foglio di lavoro, conferma l'intervallo della tabella e le impostazioni delle intestazioni per aprire l'Editor di Power Query.
-
Controlla il riquadro Passaggi applicati. Se un passaggio automatico Tipo modificato ha già interpretato le date in modo errato, rimuovi o modifica quel passaggio per ripristinare i valori di testo originali prima di applicare le impostazioni locali corrette.
-
Seleziona la colonna contenente le date come testo, fai clic con il pulsante destro del mouse sulla sua intestazione e scegli Cambia tipo > Usando impostazioni locali.
-
Nella finestra di dialogo Cambia tipo con impostazioni locali, seleziona:
- Tipo di dati: Data
- Impostazioni locali: Inglese (Regno Unito), per date GG/MM/AAAA.

-
Fai clic su OK. Controlla le date convertite nell'anteprima per confermare che il giorno e il mese siano stati interpretati correttamente.
-
Vai a Home > Chiudi e carica per caricare i dati convertiti in Excel. Per impostazione predefinita, Power Query carica i risultati in un nuovo foglio di lavoro, lasciando invariati i dati di origine originali.
Per date in stile statunitense MM/GG/AAAA, scegli invece Inglese (Stati Uniti).
Una volta configurata la query, puoi usare Dati > Aggiorna tutto quando i dati di origine cambiano. Power Query riapplica i passaggi di trasformazione salvati, rendendo questo approccio utile per report mensili e importazioni di dati ricorrenti.
Nota: se una colonna contiene formati di data diversi, potrebbe essere necessario standardizzare i valori o applicare trasformazioni separate prima di convertirli.
Metodo 5: Convertire automaticamente testo in data in Excel con C#
Usa questo metodo quando: devi automatizzare la conversione da testo a data durante importazioni di dati, generazione di report o elaborazione back-end.
Invece di aprire ogni cartella di lavoro in Excel, puoi usare C# per leggere le date come testo, analizzarle secondo un formato specificato e salvare i valori convertiti come date di Excel effettive.
Installa la libreria necessaria
Questo esempio usa Free Spire.XLS for .NET per leggere e modificare cartelle di lavoro Excel senza richiedere l'installazione di Microsoft Excel.
Installa la libreria tramite NuGet:
Install-Package FreeSpire.XLS
Nota sull'edizione gratuita: durante la lettura o scrittura di file .xls legacy, l'edizione gratuita è limitata a 5 fogli di lavoro per cartella di lavoro e 200 righe per foglio di lavoro. Questi limiti non si applicano ai file .xlsx quando si usa Free Spire.XLS v7.8 o versione successiva.
Convertire date come testo in valori di data effettivi in C#
Supponiamo che orders.xlsx contenga una colonna Order Date (colonna B) nel primo foglio di lavoro, con i seguenti valori archiviati come testo:
| Order ID | Order Date |
|---|---|
| ORD-1001 | 15/01/2026 |
| ORD-1002 | 20/01/2026 |
| ORD-1003 | 03/02/2026 |
Il seguente esempio C# converte queste stringhe GG/MM/AAAA in date di Excel effettive e applica il formato di visualizzazione AAAA-MM-GG.
using System;
using System.Globalization;
using Spire.Xls;
class Program
{
static void Main()
{
Workbook workbook = new Workbook();
workbook.LoadFromFile("orders.xlsx");
// Get the first worksheet
Worksheet sheet = workbook.Worksheets[0];
// Convert text dates in column B (skip the first header row)
for (int row = 2; row <= sheet.LastDataRow; row++)
{
CellRange cell = sheet.Range[row, 2];
string text = (cell.Text ?? string.Empty).Trim();
if (string.IsNullOrEmpty(text))
continue;
// Parse dates using the expected DD/MM/YYYY format
if (DateTime.TryParseExact(
text,
"dd/MM/yyyy",
CultureInfo.InvariantCulture,
DateTimeStyles.None,
out DateTime date))
{
cell.DateTimeValue = date;
cell.NumberFormat = "yyyy-mm-dd";
}
else
{
Console.WriteLine($"Skipped B{row}: {text}");
}
}
workbook.SaveToFile(
"orders_converted.xlsx",
ExcelVersion.Version2016);
workbook.Dispose();
}
}
Il codice elabora le date come testo nella colonna B usando DateTime.TryParseExact(), scrive le date analizzate con successo come valori di data di Excel e salva il risultato in orders_converted.xlsx.
Le celle vuote e le stringhe di data non valide vengono lasciate invariate, con i valori non riconosciuti segnalati nella console. Per gestire altri formati di data, modifica la stringa di formato (ad esempio MM/dd/yyyy o yyyyMMdd).

Per ulteriori opzioni di visualizzazione, consulta come impostare i formati numerici in Excel usando C#.
Problemi comuni di conversione da testo a data e soluzioni
Se le tue date come testo non vengono convertite correttamente, usa la seguente tabella per identificare cause e soluzioni comuni.
| Problema | Causa probabile | Come risolvere |
|---|---|---|
DATEVALUE restituisce #VALUE!
|
Excel non riesce a riconoscere la stringa di data oppure questa contiene spazi aggiuntivi o caratteri nascosti | Controlla il formato di origine e le impostazioni locali. Per gli spazi aggiuntivi ordinari, prova =DATEVALUE(TRIM(A2)). |
| Le date vengono convertite con giorno e mese errati | L'ordine della data è stato interpretato in modo errato | Usa Testo a colonne con l'impostazione DMY/MDY corretta oppure Power Query con le impostazioni locali appropriate. |
Le date convertite mostrano numeri come 46037
|
Le celle contengono numeri seriali di data ma non sono formattate come date | Seleziona le celle, premi Ctrl + 1 e applica un formato numerico Data. |
Date come 2026.01.15 non vengono riconosciute |
Excel non riesce a interpretare automaticamente il formato di origine | Usa una formula DATE a posizioni fisse oppure standardizza il formato di origine prima della conversione. |
| Alcune righe vengono convertite mentre altre no | La colonna contiene formati misti, date non valide o caratteri nascosti | Ispeziona le righe non riuscite e applica la regola di conversione appropriata. |
Rimuovere gli spazi nascosti dalle date come testo
Le date copiate da siti web o altre applicazioni potrebbero contenere spazi unificatori che la funzione TRIM() di Excel non riesce a rimuovere. Per gestire questi caratteri, usa:
=DATEVALUE(TRIM(SUBSTITUTE(A2,CHAR(160)," ")))
Questa formula sostituisce gli spazi unificatori con spazi ordinari, rimuove la spaziatura in eccesso e converte il testo ripulito in una data di Excel. Richiede comunque un formato di data che Excel sia in grado di riconoscere.
Conclusione
Per conversioni occasionali da testo a data, Testo a colonne di Excel e formule di data come DATEVALUE e DATE offrono soluzioni pratiche. Power Query è utile per importazioni di dati ricorrenti, mentre C# fornisce un approccio automatizzato per l'elaborazione di cartelle di lavoro Excel.
Qualunque metodo tu scelga, verifica che i valori convertiti siano date di Excel valide e rappresentino il giorno e il mese corretti prima di usarli in calcoli o report.