Vai al contenuto principale

Excel TEXTJOIN(): unisci testo in Excel

Combina i valori delle celle in modo fluido con TEXTJOIN(). Gestisci delimitatori, salta i vuoti e semplifica l’assemblaggio dei dati in Excel.
· 6 min leggi

Scopri con l'IA

Creare testo ben formattato dai dati di Excel è un’esigenza comune, ma concatenare valori può diventare un pasticcio. La funzione TEXTJOIN() di Excel offre una soluzione semplice, permettendoti di riunire intervalli di testo usando un delimitatore e persino di saltare le celle vuote. 

In questo articolo passerò in rassegna le basi di TEXTJOIN(), vedrò come si confronta con funzioni simili come CONCAT() e CONCATENATE() e affronterò scenari pratici in cui brilla. Man mano sosterrò l’uso di TEXTJOIN() perché credo che oggi sia lo strumento migliore per combinare testo, e penso che alla fine dell’articolo sarai d’accordo anche tu.

Come funziona TEXTJOIN() in Excel

Chiaramo prima di tutto cosa fa davvero TEXTJOIN() e perché la sua sintassi è molto più flessibile rispetto a ciò che c’era prima.

In sostanza, TEXTJOIN() ti consente di unire valori di testo da più celle, inserendo un delimitatore (come una virgola, uno spazio o un punto e virgola) tra di essi. A differenza degli approcci più vecchi, può elaborare un intero intervallo in una volta, e puoi decidere se ignorare i vuoti.

Ecco la sintassi:

=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)
  • delimiter: I caratteri che vuoi tra ogni porzione di testo (spesso una virgola, uno spazio, ecc.).

  • ignore_empty: TRUE per saltare le celle vuote, FALSE per includerle

  • text1, [text2], …: Le celle, gli intervalli o i valori che vuoi combinare

Per esempio, supponi di avere valori in A1, A2 e A3. Vuoi unirli, separati da virgole, saltando i vuoti:

=TEXTJOIN(",", TRUE, A1:C1)

TEXTJOIN di Excel mentre salta i vuoti

Se A2 è vuota, otterrai solo i valori di A1 e A3, separati da una virgola.

Perché è importante? Altre funzioni (penso a CONCATENATE()) ti obbligano a elencare ogni cella separatamente e non saltano i vuoti. TEXTJOIN() è più breve da digitare e molto più facile da mantenere.

TEXTJOIN() vs. CONCATENATE() vs. CONCAT()

Ora che abbiamo visto le basi di TEXTJOIN(), vale la pena confrontarla direttamente con le funzioni di testo più datate di Excel. Se hai usato CONCATENATE() o CONCAT(), potresti chiederti perché cambiare.

  • TEXTJOIN(): Ti permette di specificare un delimitatore e di saltare facilmente i vuoti. Accetta intervalli.

  • CONCAT(): Unisce intervalli o singole celle di testo, ma non puoi specificare un delimitatore. Non salta i vuoti.

  • CONCATENATE(): L’opzione più vecchia. Ti costringe a specificare ogni cella una per una. Nessun campo delimitatore, nessun supporto per intervalli.

Per esempio, uniamo i valori in B1, B2 e B3 con un punto e virgola tra ciascuno. Ecco come appaiono le diverse funzioni:

=TEXTJOIN(";", TRUE, A1:C1)

TEXTJOIN di Excel con un punto e virgola

=CONCAT(B1:D1)

TEXTJOIN di Excel vs CONCAT

=CONCATENATE(B1, C1, D1)

TEXTJOIN di Excel vs CONCATENATE

Nota come TEXTJOIN() sia l’unica che ti permette di scegliere un delimitatore senza complicazioni extra. Con CONCAT() o CONCATENATE(), se vuoi dei delimitatori, dovresti aggiungerli manualmente:

=B1 & ";" & C1 & ";" & D1

aggiungere manualmente i delimitatori

Inoltre, e forse altrettanto importante, a seconda di come sono strutturati i tuoi dati, se una cella è vuota, TEXTJOIN() può saltarla per te. CONCATENATE() e CONCAT() includeranno il vuoto.

Gestire delimitatori e celle vuote

Lasciami parlare un po’ di questi due punti dolenti ricorrenti: aggiungere delimitatori coerenti e ignorare le celle vuote.

Delimitatori personalizzati

Probabilmente vuoi delimitatori diversi a seconda dei casi. Potresti volere virgole, pipe, nuovi righi o anche altri tipi di caratteri come separatori.

Per unire con una barra verticale, usa questo:

=TEXTJOIN("|", TRUE, D1:G1)

TEXTJOIN di Excel con una barra verticale

Puoi anche fare cose più particolari. Qui uso come separatore spazio-trattino-spazio:

=TEXTJOIN(" - ", TRUE, D1:G1)

TEXTJOIN di Excel con trattini

Potresti persino usare CHAR(10) per un a capo, anche se dovrai attivare Testo a capo nella formattazione della cella per vedere l’effetto.

Saltare i vuoti

Una delle cose più frustranti nell’assemblare dati è gestire i vuoti. TEXTJOIN() ti dà il controllo. Imposta l’argomento ignore_empty su TRUE e i vuoti verranno esclusi del tutto.

=TEXTJOIN(", ", TRUE, E1:G1)

TEXTJOIN di Excel che salta i vuoti

Risultato: “Red, Blue”. La cella vuota (F2) viene ignorata, quindi non ottieni una virgola in più.

Se imposti ignore_empty su FALSE:

=TEXTJOIN(", ", FALSE, E1:G1)

TEXTJOIN di Excel dimenticando di saltare i vuoti

Ora il risultato è: “Red, , Blue”. Quella virgola in più salta all’occhio (e di solito non è ciò che vuoi). Per esperienza, TRUE è di solito la scelta migliore.

Tutto questo può sembrare una piccola differenza, ma una volta che prendi la mano con questa funzione, risparmierai tempo sulle pulizie successive.

Creare elenchi e etichette dinamici

Ora che hai visto le basi, esploriamo i modi in cui TEXTJOIN() può risolvere problemi. Mi concentrerò su due scenari che probabilmente incontrerai: creare riepiloghi dinamici e assemblare etichette da dati variabili.

Creare riepiloghi da input utente

Supponi di raccogliere risposte a un sondaggio in cui gli utenti rispondono Sì/No a un set di domande facoltative. Solo alcuni risponderanno, quindi i risultati sono distribuiti da F1 a J1. 

Se vuoi elencare solo le domande a cui hanno risposto “Yes”, puoi usare TEXTJOIN() in combinazione con IF() e FILTER() (con array dinamici nelle versioni più recenti di Excel).

Supponi che G1:G5 contenga il testo delle domande, F1:F5 le corrispondenti risposte Yes/No:

=TEXTJOIN(", ", TRUE, FILTER(F2:J2, F1:J1="Yes"))

TEXTJOIN di Excel combinato con FILTER

Ora la tua cella di output elenca solo le domande a cui l’utente ha risposto “Yes”, separate da virgole.

Se non hai gli array dinamici, puoi creare una colonna di supporto che restituisca il testo della domanda solo se la risposta è Yes, quindi unire quell’intervallo di supporto con TEXTJOIN().

Creare etichette personalizzate da dati variabili

Immagina di preparare etichette di spedizione partendo da una tabella in cui alcuni campi (come “Apartment” o “Suite”) a volte sono vuoti. Vuoi unire i componenti dell’indirizzo in una riga unica.

Se il tuo indirizzo è in H1 (“123 Main St”), H2 (“Apt 4B” o vuoto), H3 (“Springfield”), H4 (“IL”), H5 (“62704”), useresti:

=TEXTJOIN(", ", TRUE, H1:L1)

TEXTJOIN di Excel con flessibilità per celle vuote

Se H2 è vuota, l’output resta pulito (niente doppie virgole!) perché TEXTJOIN() salta la cella vuota.

Questi sono esempi comuni, ma la stessa logica vale ovunque tu stia unendo dati con campi facoltativi o inclusioni condizionali.

Altre cose da considerare

Per quanto comoda sia TEXTJOIN(), ci sono alcune piccole note:

Usare più intervalli con TEXTJOIN()

Una cosa da sapere su TEXTJOIN() è come gestisce più intervalli. Puoi passare più di un intervallo anche se non sono adiacenti, purché li elenchi separatamente:

=TEXTJOIN(", ", TRUE, B1:D1, B2:D2)

TEXTJOIN di Excel con intervallo non contiguo

Questo funziona benissimo. Excel combinerà i valori di entrambi gli intervalli e li unirà. Ricorda solo: non puoi scriverli come un singolo array tipo (A1:A3,C1:C3). Devi elencare ogni intervallo come argomento a sé.

Funzioni annidate e array dinamici

Se usi TEXTJOIN() come parte di una formula con array dinamici (ad esempio con UNIQUE() o FILTER()), ricorda che il tuo delimitatore e l’argomento ignore_empty devono restare valori singoli. Usare array lì restituirà un errore #VALUE!.

Delimitatori e formattazione finale

A volte non vuoi alcun delimitatore (vuoi solo accorpare tutto il testo). Imposta il delimitatore su "" (cioè una stringa vuota):

=TEXTJOIN("", TRUE, A1:C1)

TEXTJOIN di Excel senza delimitatore

Tieni solo presente: se salti il delimitatore, perdi il principale vantaggio della funzione rispetto a CONCAT().

Se vuoi creare elenchi da usare fuori da Excel (come caricamenti CSV), fai attenzione a spazi extra, a capo inattesi o alla codifica dei caratteri (soprattutto se usi simboli o Unicode).

Funzioni correlate e tecniche avanzate

Man mano che prendi confidenza con TEXTJOIN(), potresti chiederti come si integra con altre funzioni “dinamiche” di Excel. Spesso, combinarla con UNIQUE(), FILTER() o SORT() la rende ancora più potente.

Per esempio, diciamo che vuoi unire tutte le categorie di prodotto uniche da un elenco:

=TEXTJOIN(", ", TRUE, UNIQUE(TRANSPOSE(A1:E1)))

Nota: UNIQUE() è orientata alle colonne per impostazione predefinita in Excel. Poiché stavo lavorando con una riga, ho dovuto usare anche TRANSPOSE().

Oppure, vuoi solo quelle che soddisfano una certa condizione:

=TEXTJOIN(", ", TRUE, FILTER(A1:C1, A2:C2="Active"))

Entrambi gli esempi mostrano come TEXTJOIN() possa riassumere o riportare dati senza colonne di supporto o filtri manuali.

Conclusione

Se stai ancora usando CONCATENATE() o concatenando celle manualmente, passare a TEXTJOIN() ti farà risparmiare tempo. (Promesso!)

Aggiungo anche che imparare TEXTJOIN() ti abitua a pensare per intervalli. È un modo di ragionare che ripaga quando usi le funzioni con array dinamici di Excel e altri approcci più moderni. Segui il nostro corso Advanced Excel Functions per continuare a imparare.

Josef Waples

Autore

Josef Waples

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! 

Argomenti

Correlato