Corso
La funzione CONCAT() in Excel ti permette di unire testo, numeri o contenuti di celle in un'unica cella, aiutandoti a ripulire i dati e ridurre l'inserimento manuale. Come vedrai, torna molto utile quando stai assemblando nomi, indirizzi o etichette personalizzate di qualche tipo.
Facciamo un giro delle basi della funzione, vediamola in azione e confrontiamola con strumenti affini di Excel. Dritta: è la sostituta della più datata funzione CONCATENATE(), ma è anche messa in ombra da una funzione ancora più flessibile chiamata TEXTJOIN(), di cui ho scritto anche un articolo.
Scopo e basi di CONCAT()
È utile chiarire innanzitutto cosa fa esattamente CONCAT() e quando vorresti usarla.
CONCAT(), come forse già sai, sta per “concatenate”, ovvero collegare in catena. In Excel, significa combinare il contenuto di due o più celle (o valori) in uno solo. Per esempio, potresti avere nome e cognome in colonne separate, ma volere entrambi in una singola colonna per una mailing list.
Come accennato nell'introduzione, è la sostituta moderna della vecchia funzione CONCATENATE(). CONCAT() è migliore di CONCATENATE() perché, per cominciare, è più breve da digitare e, cosa ancora più importante, offre più flessibilità e ti consente di unire intervalli oltre che singole celle.
=CONCAT(text1, [text2], ...)
Ogni argomento è un riferimento di cella, intervallo o valore di testo che vuoi combinare. text1 è obbligatorio, mentre text2 e gli elementi aggiuntivi sono facoltativi, motivo per cui sono indicati tra parentesi quadre.
CONCAT() nei fogli di lavoro di tutti i giorni
Ora che abbiamo chiarito cosa fa CONCAT(), vediamo come gestisce scenari reali e comuni.
Unire nome e cognome in un'unica cella
Supponiamo che tu gestisca un elenco contatti con i nomi nella colonna A e i cognomi nella colonna B. Questo è il caso d'uso più comune. Per unirli in un'unica cella (con uno spazio in mezzo), useresti:
=CONCAT(A2, " ", B2)

Questa formula unisce il contenuto della cella A2, un carattere spazio e il contenuto di B2. Trascina la formula verso il basso nella colonna per comporre l'elenco completo. Potresti anche separare con una virgola, così: =CONCAT(A2, ",", B2)
Unire gli elementi di un indirizzo
Ogni paese gestisce gli indirizzi in modo diverso ma quasi sempre si estendono su più colonne, come numero civico, via, città. Con CONCAT() puoi combinarli per le etichette postali o semplicemente per tenere i record più ordinati.
=CONCAT(A2, " ", B2, ", ", C2)

Unire un intervallo di celle
Uno dei vantaggi di CONCAT() rispetto alla vecchia CONCATENATE() è la possibilità di unire interi intervalli. Voglio mostrartelo perché illustra un punto di forza di CONCAT() rispetto a CONCATENATE(). Ad esempio, per combinare i valori nelle celle da A2 a E2, usa:
=CONCAT(A2:E2)

Excel unirà i contenuti in ordine, senza separatori per impostazione predefinita. In questo caso, l'output sembra un po' strano perché gli elementi si susseguono senza spazi. Quindi sto mostrando sia un punto di forza di CONCAT() rispetto a CONCATENATE() (la seconda qui non funziona affatto) sia una sua debolezza rispetto a TEXTJOIN(), che può aggiungere facilmente spazi: tra poco ne parlo.
Limitazioni di CONCAT()
È importante ora affrontare alcune particolarità e limitazioni di CONCAT(). Voglio aiutarti a evitare frustrazioni comuni e a decidere meglio quando usare la funzione.
Per prima cosa, CONCAT() non aggiunge automaticamente separatori (come spazi o virgole) tra elementi o valori delle celle. Se i tuoi dati provengono da più colonne e vuoi un risultato leggibile, devi inserire tu i separatori come negli esempi che ho mostrato.
Inoltre, CONCAT() ignora le celle vuote senza avviso. Se provi a unire un intervallo in cui alcune celle sono vuote, il risultato può sembrare strano, nel senso che parole o valori potrebbero correre uno dietro l'altro.
Inoltre, CONCAT() non supporta delimitatori tra tutti gli elementi di un intervallo. Intendo che, per esempio, se provi a unire A2:E2 e vuoi inserire virgole tra ciascun valore, CONCAT() da sola non ci riesce. È come nell'ultimo esempio della frutta, dove mela, banana e gli altri si sono fusi insieme.
Infine, CONCAT() produce solo risultati testuali, anche se includi numeri. Se ti serve un output numerico, non è la funzione da usare.
CONCAT() vs. TEXTJOIN() e CONCATENATE()
Più volte ho menzionato altre funzioni di Excel come TEXTJOIN() e CONCATENATE(). Facciamo chiarezza sui loro ruoli.
Usare TEXTJOIN() per separatori personalizzati
TEXTJOIN() è la soluzione quando vuoi unire valori e inserire automaticamente un delimitatore (come una virgola o uno spazio) tra gli elementi, e questo funziona anche unendo intervalli. La sintassi è questa:
Per esempio, per unire tutti i valori in A2:E2, separati da virgole e saltando i vuoti, puoi usare:
=TEXTJOIN(", ", TRUE, A2:E2)

Come vedi, TEXTJOIN() è un ottimo approccio per elenchi, indirizzi o qualsiasi situazione in cui servono separatori coerenti e l'intervallo è troppo lungo per usare praticamente CONCAT(). TEXTJOIN() gestisce anche bene la cella vuota che ho lasciato nell'esempio.
Puoi vedere quanto diventerebbe macchinosa CONCAT() in un caso del genere:
=CONCAT(A1, ", ", B1, ", ", C1, ", ", D1, ", ", E1)
Capire CONCATENATE() (e perché è superata)
CONCATENATE() era la funzione originale di Excel per unire testo. Il suo principale limite è che non accetta intervalli. Ogni cella o valore deve essere elencato singolarmente.
In altre parole, questo funziona:
=CONCAT(A1:E1)
Ma questo restituisce un errore:
=CONCATENATE(A1:E1) # this doesn’t work
Nei flussi di lavoro moderni è meglio usare CONCAT() o TEXTJOIN(). In sintesi:
-
Usa
CONCAT()per unire in modo semplice celle o intervalli quando non ti serve un separatore personalizzato. -
Usa
TEXTJOIN()per unire con delimitatori automatici e personalizzabili. -
Evita
CONCATENATE()nei nuovi file; è incluso solo per compatibilità.
Consigli e trucchi
Ora che sai quando usare CONCAT(), vediamo qualche consiglio pratico per usarla in modo efficiente nel lavoro quotidiano.
Inserire costanti e formattazione
Puoi combinare riferimenti di cella con testo o simboli fissi. Per esempio, per aggiungere "ID-" prima del numero dipendente in A2:
=CONCAT("ID-", A2)
Questa tecnica aiuta a standardizzare formati o etichette all'interno del foglio.
Gestire numeri e date
CONCAT() tratta numeri e date come testo. Se vuoi controllare la formattazione, usa la funzione TEXT() all'interno della formula. Per esempio, per unire un nome e una data formattata:
=CONCAT(A2, " hired on ", TEXT(B2, "mmmm d, yyyy"))

Questo garantisce che l'output rispetti lo stile desiderato, sia che tu stia preparando un report sia una stampa unione.
Conclusione
Come abbiamo visto, la funzione CONCAT() offre un modo semplice per unire testo, numeri e intervalli in Excel, facendoti risparmiare tempo se gestisci elenchi, report o pulizia dati di routine, che fanno parte della descrizione del lavoro di qualsiasi data specialist, data analyst o data scientist.
Ho citato altre funzioni nel corso dell'articolo. Per restare aggiornato, esplora il nostro corso Advanced Excel Functions e scopri tante cose interessanti su Excel, come le funzionalità di array dinamici e i metodi per l'automazione.

Sono uno scrittore e editor di data science, con contributi a articoli di ricerca su riviste scientifiche. Sono particolarmente interessato ad algebra lineare, statistica, R e affini. Inoltre, gioco anche parecchio a scacchi!
Domande frequenti
Perché CONCAT() non inserisce automaticamente spazi o virgole tra gli elementi?
La funzione CONCAT() in Excel non aggiunge alcun separatore—come spazi, virgole o slash—tra i valori per impostazione predefinita. Se vuoi risultati leggibili, devi aggiungere manualmente i separatori nella formula. Ad esempio, per inserire uno spazio tra nome e cognome, scriveresti: =CONCAT(A2, " ", B2)
Cosa succede quando CONCAT() incontra celle vuote?
Quando CONCAT() unisce un intervallo o un elenco di celle, ignora silenziosamente le celle vuote. Questo a volte può produrre risultati insoliti in cui i valori sembrano “fondersi”. Se è un problema, valuta di usare logica condizionale o la funzione TEXTJOIN(), che offre più controllo sulla gestione dei vuoti.
Posso usare CONCAT() per combinare un intervallo con virgole tra i valori?
No, CONCAT() da sola non può inserire separatori tra gli elementi in un intervallo come A2:E2. Se vuoi virgole (o qualsiasi delimitatore) tra quei valori, usa invece TEXTJOIN(). Per esempio: =TEXTJOIN(", ", TRUE, A2:E2) Questo unisce l'intervallo e inserisce automaticamente le virgole, saltando le celle vuote se imposti il secondo argomento su TRUE.
Perché CONCAT() restituisce testo anche quando unisco numeri?
La funzione CONCAT() restituisce sempre una stringa di testo, anche se includi numeri. Se devi mantenere una certa formattazione numerica o controllare l'aspetto di date o numeri, devi incapsularli nella funzione TEXT(). Per esempio: =CONCAT("Hired on ", TEXT(B2, "mm/dd/yyyy"))
Quando dovrei usare CONCAT(), TEXTJOIN() o CONCATENATE()?
- Usa
**CONCAT()**per unioni semplici di celle o intervalli quando non ti servono separatori automatici. -
Usa
**TEXTJOIN()**quando vuoi inserire un delimitatore tra gli elementi (come virgole o spazi) e saltare le celle vuote. -
Evita
**CONCATENATE()**nei nuovi file: è stata sostituita daCONCAT()e non supporta gli intervalli.


