4 modi per formattare le date come testo in Excel: manuale e automatizzato

2026-11-04 02:12:01 Jack Du
AI Summarize:
ChatGPT
ChatGPT ✓
Claude ✓
Grok ✓
Perplexity ✓
Quick
Quick
Concise overview
Highlights
Key takeaways
Detailed
Structured explanation
Brief
One sentence summary
Summarize |

Convert Dates to Text in Excel

In Excel, una data può sembrare perfetta e comportarsi comunque diversamente quando la copi in un'altra applicazione. Potresti vedere 2026-01-01 in un foglio di lavoro, per poi ottenere un numero quando la combini con del testo o ne modifichi il formato della cella.

Ciò accade perché Excel memorizza le date come numeri. Il loro aspetto dipende dal formato numerico applicato alla cella.

Quando hai bisogno di una specifica stringa di data per un report, un modello di importazione o un altro sistema, convertire la data in testo ti dà il controllo sul risultato.

Questa guida illustra quattro approcci, dall'inserimento manuale di una singola data alla conversione di un'intera colonna con Python.

Prima di iniziare: formattazione delle date vs. conversione in testo

Modificare l'aspetto di una data non ne cambia il tipo sottostante.

Ad esempio, applicare il formato personalizzato yyyy-mm-dd fa apparire una data come 2026-01-01, ma Excel memorizza comunque un valore di data numerico. Convertirla in testo produce la stringa effettiva 2026-01-01. La funzione TEXT di Excel esegue questa conversione applicando un formato specificato.

Azione Aspetto Valore sottostante
Applica un formato data personalizzato 2026-01-01 Valore di data numerico
Converti la data in testo 2026-01-01 Stringa di testo

Per gli esempi seguenti, immagina un foglio di lavoro degli ordini con queste colonne:

Data ordine ID ordine Cliente Prodotto Quantità
2026-01-01 ORD-1003 Harbor Logistics SSD portatile 1 TB 2
2026-01-09 ORD-1004 Summit Education Hub USB-C 8
2026-02-14 ORD-1005 Bluebird Trading Webcam 4

Le date sono nella colonna A, con un'intestazione nella riga 1.

Conserva una copia della cartella di lavoro originale prima di provare metodi che sostituiscono i valori esistenti. Mantenere le date originali è utile se in seguito hai bisogno di eseguire calcoli sulle date.

Metodo 1: inserire le date come testo con un apostrofo

Per poche date inserite manualmente, aggiungi un apostrofo (') prima della data:

'2026-01-01

Premi Invio, e la cella mostra:

2026-01-01

L'apostrofo indica a Excel di trattare l'inserimento come testo. Non compare come parte del contenuto visualizzato nella cella. Microsoft documenta questo approccio come modo per impedire la conversione automatica delle date.

Puoi digitare la rappresentazione esatta di cui hai bisogno:

Cosa digiti Cosa mostra la cella
'2026-01-01 2026-01-01
'01/09/2026 01/09/2026
'20260101 20260101

Ideale per: inserire un piccolo numero di stringhe di data in un modello.

Questo metodo è rapido, ma richiede inserimento o modifica manuale. Per una colonna esistente contenente centinaia di date, usa uno dei seguenti approcci.

Metodo 2: convertire le date in testo con la funzione TEXT

La funzione TEXT è l'opzione del foglio di lavoro più flessibile quando vuoi controllare il formato di output.

Supponi che A2 contenga una data Excel valida. Inserisci questa formula in una cella vuota:

=TEXT(A2,"yyyy-mm-dd")

La formula restituisce una stringa di testo come:

2026-01-01

Convert Dates to Text with the TEXT Function

Poi trascina la maniglia di riempimento verso il basso per convertire le date rimanenti. TEXT prende il valore originale e applica il codice di formato fornito.

Scegliere un formato data

Modifica il secondo argomento per produrre una diversa rappresentazione della data:

Formula Risultato di esempio
=TEXT(A2,"yyyy-mm-dd") 2026-01-01
=TEXT(A2,"mm/dd/yyyy") 01/01/2026
=TEXT(A2,"dd/mm/yyyy") 01/01/2026
=TEXT(A2,"yyyymmdd") 20260101

Usare mm e dd mantiene gli zeri iniziali, il che è utile quando un altro sistema si aspetta un valore a lunghezza fissa.

Se la colonna di origine contiene celle vuote, usa:

=IF(A2="","",TEXT(A2,"yyyy-mm-dd"))

In questo modo il risultato rimane vuoto quando la cella di origine è vuota.

Sostituire le formule con testo statico

Il risultato della formula rimane collegato alla data originale. Se hai bisogno di valori di testo indipendenti:

  1. Seleziona le celle contenenti le formule TEXT.
  2. Premi Ctrl+C.
  3. Fai clic con il pulsante destro sulla cella di destinazione.
  4. Scegli Incolla speciale → Valori.

Le celle incollate ora contengono le stringhe risultanti anziché le formule. Se sostituisci la colonna delle date originali, completa questo passaggio prima di eliminare i dati di origine.

Ideale per: convertire date esistenti in un formato preciso mantenendo il processo visibile nel foglio di lavoro.

Metodo 3: convertire le date in testo usando Testo in colonne

Nonostante il nome, Testo in colonne può essere usato senza dividere una colonna. Il passaggio finale della procedura guidata consente di scegliere Testo come tipo di output. La community di supporto Microsoft include questo flusso di lavoro per convertire le date in testo.

Per provarlo con il foglio di lavoro degli ordini:

  1. Seleziona le celle delle date nella colonna A, escludendo l'intestazione.
  2. Apri Dati → Testo in colonne.
  3. Seleziona Delimitato , quindi fai clic su Avanti.
  4. Deseleziona tutte le caselle dei delimitatori in modo che le date rimangano in una colonna.
  5. Fai di nuovo clic su Avanti.
  6. In Formato dati colonna, seleziona Testo.
  7. Imposta Destinazione su una colonna vuota, ad esempio $H$2.
  8. Fai clic su Fine.

Usare una colonna di destinazione vuota ti consente di confrontare il risultato con le date di origine prima di sostituire qualsiasi cosa.

Convert Dates to Text Using Text to Columns

La limitazione principale è il controllo del formato. Testo in colonne non fornisce una stringa di formato come yyyy-mm-dd. La rappresentazione della data risultante può dipendere dalle impostazioni regionali della data, quindi controlla l'output invece di presumere che preservi un formato di cella personalizzato.

Se la destinazione deve contenere esattamente 20260101 o 2026-01-01, la funzione TEXT ti offre una regola di conversione più esplicita.

Ideale per: una conversione una tantum quando vuoi testo statico senza inserire formule.

Metodo 4: automatizzare la conversione da data a testo con Python

I passaggi manuali funzionano bene per attività occasionali. Uno script diventa utile quando la stessa conversione deve essere eseguita ripetutamente come parte di un processo di reportistica o esportazione.

Spire.XLS for Python può leggere, modificare e salvare cartelle di lavoro Excel senza richiedere l'installazione di Microsoft Excel. In questo esempio, legge le date dalla colonna A e le sostituisce con stringhe di testo formattate.

Installare Spire.XLS for Python

Installa il pacchetto dal terminale:

pip install Spire.XLS

Convertire una colonna di date in testo

Il codice seguente elabora la colonna A nel primo foglio di lavoro , a partire dalla riga 2 per saltare l'intestazione:

from spire.xls import Workbook, FileFormat

# 1. Load the workbook
workbook = Workbook()
workbook.LoadFromFile("Excel_Date.xlsx")

# 2. Get the first worksheet
sheet = workbook.Worksheets.get_Item(0)

# 3. Loop through column A
last_row = sheet.Columns[0].LastRow

for i in range(2, last_row + 1):
    cell = sheet.Range.get_Item(i, 1)

    # Read the cell as a date object
    date_value = cell.DateTimeValue

    # Convert the date to a formatted string
    text_date = date_value.ToString("yyyy-MM-dd")

    # Set the cell format to Text, then write the string
    cell.NumberFormat = "@"
    cell.Text = text_date

# 4. Save the output workbook
workbook.SaveToFile(
    "FormattedDates.xlsx",
    FileFormat.Version2016
)
workbook.Dispose()

Posiziona Excel_Date.xlsx nella directory di lavoro dello script oppure sostituisci il nome file di input con il suo percorso completo.

Questo esempio presuppone che ogni cella elaborata contenga una data valida. Per una colonna contenente celle vuote, note o valori non validi, aggiungi una convalida prima di leggere DateTimeValue.

Lo screenshot seguente confronta i valori di data originali con le stringhe di testo generate dallo script Python:

Convert Dates to Text Using Python

Comprendere i passaggi chiave

Tre operazioni eseguono la conversione:

date_value = cell.DateTimeValue

Questa legge il valore di data dalla cella di origine.

text_date = date_value.ToString("yyyy-MM-dd")

Questa produce la stringa desiderata. Il formato usa MM maiuscolo per il mese.

cell.NumberFormat = "@"
cell.Text = text_date

Queste righe impostano la cella in formato testo e scrivono la stringa formattata. Scrivere la stringa è essenziale: cambiare solo il formato numerico non esegue la stessa conversione.

Lo script salva una cartella di lavoro di output separata, lasciando il file di input disponibile per il confronto. Elabora una colonna in un foglio di lavoro; la stessa logica può essere successivamente inserita in cicli su fogli di lavoro o file per un'automazione più ampia.

Ideale per: conversioni ripetibili che rientrano in un flusso di lavoro Python.

Quale metodo scegliere?

Scegli in base a come arrivano i dati e con quale frequenza devi elaborarli.

Metodo Uso ideale Controllo del formato Output
Apostrofo Poche date inserite manualmente Testo esatto digitato Testo statico
Funzione TEXT Date esistenti che richiedono un formato specifico Codice di formato esplicito Risultato della formula; facoltativamente incollato come valori
Testo in colonne Conversione una tantum senza formule Limitato Testo statico
Python Conversione ripetuta in uno script Stringa di formato esplicita Testo scritto nella cartella di lavoro di output

Per il lavoro quotidiano sui fogli di lavoro, TEXT è di solito il punto di partenza più solido perché la regola di conversione è facile da vedere e modificare.

Usa un apostrofo quando inserisci pochi valori, Testo in colonne per una conversione rapida di cui hai verificato il formato di output e Python quando l'attività deve diventare un processo ripetibile.

Domande frequenti

Perché cambiando il formato di una cella data in Testo viene mostrato un numero?

Excel memorizza le date come valori numerici. Cambiare il formato della cella in Testo non trasforma quel valore in una stringa di data formattata.

Usa TEXT(A2,"yyyy-mm-dd") per generare la stringa desiderata.

Come posso verificare se una data convertita è realmente testo?

Usa la funzione ISTEXT:

=ISTEXT(A2)

Restituisce TRUE quando A2 contiene testo e FALSE quando contiene un valore di data numerico. Questo è più affidabile che giudicare dall'aspetto della cella.

Posso ancora calcolare con le date dopo averle convertite in testo?

Le stringhe di testo non si comportano in modo coerente come le date native nei calcoli. Alcune formule possono interpretare stringhe riconoscibili, ma tale interpretazione può dipendere dal loro formato e dalle impostazioni regionali.

Mantieni la colonna delle date originali se devi calcolare intervalli, raggruppare record per mese o eseguire altre operazioni sulle date.

Come posso mantenere gli zeri iniziali nel testo della data?

Usa componenti mese e giorno a due cifre. Ad esempio:

=TEXT(A2,"yyyy-mm-dd")

Nell'esempio Python, usa:

date_value.ToString("yyyy-MM-dd")

Entrambi producono un valore come 2026-01-09, preservando gli zeri nel mese e nel giorno.

Vedi anche