Sommario
L'esercitazione mostra come utilizzare la funzione TEXTJOIN per unire il testo in Excel con esempi pratici.
Fino a poco tempo fa, i metodi prevalenti per unire i contenuti delle celle in Excel erano due: l'operatore di concatenazione e la funzione CONCATENA. Con l'introduzione di TEXTJOIN, sembra che sia apparsa un'alternativa più potente, che consente di unire il testo in modo più flessibile, includendo qualsiasi delimitatore nel mezzo. Ma in realtà, c'è molto di più!
Funzione TEXTJOIN di Excel
TEXTJOIN in Excel unisce stringhe di testo provenienti da più celle o intervalli e separa i valori combinati con qualsiasi delimitatore specificato dall'utente. Può ignorare o includere le celle vuote nel risultato.
La funzione è disponibile in Excel per Office 365, Excel 2021 ed Excel 2019.
La sintassi della funzione TEXTJOIN è la seguente:
TEXTJOIN(delimitatore, ignore_empty, testo1, [testo2], ...)Dove:
- Delimitatore (obbligatorio) - è un separatore tra ogni valore di testo che si combina. Di solito, viene fornito come una stringa di testo racchiusa tra doppi apici o come un riferimento a una cella contenente una stringa di testo. Un numero fornito come delimitatore viene trattato come testo.
- Ignora_vuoto (obbligatorio) - Determina se ignorare o meno le celle vuote:
- VERO - ignora le celle vuote.
- FALSO - include le celle vuote nella stringa risultante.
- Testo1 (obbligatorio) - primo valore da unire. Può essere fornito come una stringa di testo, un riferimento a una cella contenente una stringa o un array di stringhe come un intervallo di celle.
- Testo2 , ... (opzionale) - valori di testo aggiuntivi da unire. Sono ammessi al massimo 252 argomenti di testo, tra cui testo1 .
Ad esempio, combiniamo le parti di indirizzo delle celle B2, C2 e D2 in un'unica cella, separando i valori con una virgola e uno spazio:
Con la funzione CONCATENA, è necessario specificare ogni cella singolarmente e inserire un delimitatore (", ") dopo ogni riferimento, il che potrebbe essere fastidioso quando si unisce il contenuto di molte celle:
=CONCATENA(A2, ", ", B2, ", ", C2)
Con Excel TEXTJOIN, si specifica il delimitatore solo una volta nel primo argomento e si fornisce un intervallo di celle per il terzo argomento:
=TEXTJOIN(", ", TRUE, A2:C2)
TEXTJOIN in Excel - 6 cose da ricordare
Per utilizzare efficacemente TEXTJOIN nei fogli di lavoro, è necessario tenere presenti alcuni punti importanti:
- TEXTJOIN è una nuova funzione, disponibile solo in Excel 2019 - Excel 365. Nelle versioni precedenti di Excel, utilizzare invece la funzione CONCATENA o l'operatore "&".
- Nelle nuove versioni di Excel, è possibile utilizzare anche la funzione CONCAT per concatenare i valori di celle e intervalli separati, ma senza opzioni per i delimitatori o le celle vuote.
- Qualsiasi numero fornito a TEXTJOIN per l'opzione delimitatore o testo viene convertito in testo.
- Se delimitatore non è specificato o è una stringa vuota (""), i valori di testo vengono concatenati senza alcun delimitatore.
- La funzione può gestire fino a 252 argomenti di testo.
- La stringa risultante può contenere un massimo di 32.767 caratteri, che è il limite di cella di Excel. Se questo limite viene superato, una formula TEXTJOIN restituisce l'errore #VALORE!
Come unire il testo in Excel - esempi di formule
Per comprendere meglio tutti i vantaggi di TEXTJOIN, vediamo come utilizzare la funzione in scenari reali.
Convertire la colonna in un elenco separato da virgole
Quando si desidera concatenare un elenco verticale separando i valori con una virgola, un punto e virgola o qualsiasi altro delimitatore, TEXTJOIN è la funzione giusta da utilizzare.
Per questo esempio, concateneremo le vittorie e le sconfitte di ogni squadra dalla tabella sottostante. Questo può essere fatto con le seguenti formule, che differiscono solo per l'intervallo di celle che vengono unite.
Per la squadra 1:
=TEXTJOIN(",", FALSE, B2:B6)
Per la squadra 2:
=TEXTJOIN(",", FALSE, C2:C6)
E così via.
In tutte le formule vengono utilizzati i seguenti argomenti:
- Delimitatore - una virgola (",").
- Ignora_vuoto è impostato su FALSE per includere le celle vuote, perché è necessario mostrare quali partite non sono state giocate.
Si otterranno così quattro elenchi separati da virgole che rappresentano le vittorie e le sconfitte di ogni squadra in forma compatta:
Unire celle con delimitatori diversi
Nel caso in cui sia necessario separare i valori combinati con delimitatori diversi, è possibile fornire diversi delimitatori come una costante della matrice o inserire ogni delimitatore in una cella separata e utilizzare un riferimento all'intervallo per il parametro delimitatore argomento.
Supponiamo di voler unire celle contenenti parti di nomi diversi e di ottenere il risultato in questo formato: Cognome , Nome Nome medio .
Come si può notare, il Cognome e il Nome sono separati da una virgola e da uno spazio (", "), mentre il Nome e il Medio solo da uno spazio (" "). Quindi, includiamo questi due delimitatori in una costante di array {", "," "} e otteniamo la seguente formula:
=TEXTJOIN({", "," "}, TRUE, A2:C2)
Dove A2:C2 sono i nomi delle parti da combinare.
In alternativa, è possibile digitare i delimitatori senza virgolette in alcune celle vuote (ad esempio, una virgola e uno spazio in F3 e uno spazio in G3) e utilizzare l'intervallo $F$3:$G$3 (fare attenzione ai riferimenti assoluti alle celle) per l'opzione delimitatore argomento:
=TEXTJOIN($F$3:$G$3, TRUE, A2:C2)
Utilizzando questo approccio generale, è possibile unire i contenuti delle celle in varie forme.
Ad esempio, se si vuole il risultato nella cartella Nome Iniziale centrale Cognome quindi utilizzare la funzione SINISTRA per estrarre il primo carattere (l'iniziale) dalla cella C2. Per quanto riguarda i delimitatori, inseriamo uno spazio (" ") tra il nome e l'iniziale centrale; un punto e uno spazio (". ") tra l'iniziale e il cognome:
=TEXTJOIN({" ","."}, TRUE, B2, LEFT(C2,1), A2)
Unire testo e date in Excel
In un caso specifico, quando si uniscono testo e date, fornire direttamente le date a una formula TEXTJOIN non funziona. Come si ricorderà, Excel memorizza le date come numeri di serie, quindi la formula restituirà un numero che rappresenta la data, come mostrato nella schermata seguente:
=TEXTJOIN(" ", TRUE, A2:B2)
Per risolvere questo problema, è necessario convertire la data in una stringa di testo prima di unirla. A questo punto è utile la funzione TESTO con il codice di formato desiderato ("mm/gg/aaaa" nel nostro caso):
=TEXTJOIN(" ", TRUE, A2, TEXT(B2, "mm/dd/yyyy"))
Unire il testo con le interruzioni di riga
Se si desidera unire il testo in Excel in modo che ogni valore inizi su una nuova riga, utilizzare CHAR(10) come delimitatore (dove 10 è un carattere di capovolgimento).
Ad esempio, per combinare il testo delle celle A2 e B2 separando i valori con un'interruzione di riga, la formula da utilizzare è questa:
=TEXTJOIN(CHAR(10), TRUE, A2:B2)
Suggerimento: per visualizzare i risultati su più righe, come mostrato nella schermata precedente, assicurarsi che la funzione A capo del testo sia attivata.
TEXTJOIN IF per unire il testo con le condizioni
Grazie alla capacità di Excel TEXTJOIN di gestire array di stringhe, può essere utilizzato anche per unire in modo condizionato il contenuto di due o più celle. Per farlo, utilizzare la funzione IF per valutare un intervallo di celle e restituire un array di valori che soddisfano la condizione alla funzione testo1 argomento di TEXTJOIN.
Dalla tabella mostrata nella schermata sottostante, si supponga di voler recuperare un elenco di Squadra 1 Per ottenere questo risultato, inserire la seguente istruzione IF nel file testo1 argomento:
IF($B$2:$B$9=1, $A$2:$A$9, "")
In parole povere, la formula di cui sopra dice: se la colonna B è uguale a 1, restituire un valore della colonna A nella stessa riga; altrimenti restituire una stringa vuota.
La formula completa per Squadra 1 assume questa forma:
=TEXTJOIN(", ", TRUE, IF($B$2:$B$9=1, $A$2:$A$9, ""))
In modo simile, si può ottenere un elenco separato da virgole dei membri di Squadra 2:
=TEXTJOIN(", ", TRUE, IF($B$2:$B$9=2, $A$2:$A$9, ""))
Nota: grazie alla funzione Array dinamici disponibile in Excel 365 e 2021, questa formula funziona come una formula normale, come mostrato nella schermata precedente. In Excel 2019, è necessario inserirla come una formula array tradizionale premendo la scorciatoia Ctrl + Maiusc + Invio.
Cerca e restituisce più corrispondenze in un elenco separato da virgole
Come probabilmente sapete, la funzione VLOOKUP di Excel può restituire solo la prima corrispondenza trovata, ma cosa succede se avete bisogno di ottenere tutte le corrispondenze per uno specifico ID, SKU o altro?
Per visualizzare i risultati in celle separate, utilizzare una delle formule descritte in Come fare un VLOOKUP di più valori in Excel.
Per cercare e restituire tutti i valori corrispondenti in una singola cella come elenco separato da virgole, utilizzare la formula TEXTJOIN IF.
Per vedere come funziona in pratica, recuperiamo un elenco di prodotti acquistati da un determinato venditore dalla tabella di esempio qui sotto. Questo può essere fatto facilmente con la seguente formula:
=TEXTJOIN(", ", TRUE, IF($A$2:$A$12=D2, $B$2:$B$12, ""))
Dove A2:A12 sono nomi di venditori, B2:B12 sono prodotti e D2 è il venditore di interesse.
La formula di cui sopra va in E2 e porta tutte le corrispondenze per il venditore di destinazione in D2 (Adam). Grazie all'uso intelligente dei riferimenti di cella relativi (per il venditore di destinazione) e assoluti (per i nomi dei venditori e dei prodotti), la formula copia correttamente nelle celle sottostanti e funziona bene anche per gli altri due venditori:
Nota: come nell'esempio precedente, questa formula funziona come formula normale in Excel 365 e 2021 e come formula CSE (Ctrl + Maiusc + Invio) in Excel 2019.
La logica della formula è esattamente la stessa dell'esempio precedente:
L'istruzione IF confronta ogni nome in A2:A12 con il nome di destinazione in D2 (Adam nel nostro caso):
IF($A$2:$A$12=D2, $B$2:$B$12, "")
Se il test logico ha esito VERO (cioè il nome in D2 corrisponde al nome nella colonna A), la formula restituisce un prodotto della colonna B; altrimenti viene restituita una stringa vuota (""). Il risultato di IF è la seguente matrice:
{"";"";"Bananas";"Apples";"";"";"";"Oranges";"";"Lemons";""}
La matrice viene inviata alla funzione TEXTJOIN come elemento testo1 E poiché TEXTJOIN è configurato per separare i valori con una virgola e uno spazio (", "), il risultato finale è questa stringa:
Banane, mele, arance, limoni
Excel TEXTJOIN non funziona
Quando la formula TEXTJOIN produce un errore, è molto probabile che si tratti di uno dei seguenti:
- L'errore #NAME? si verifica quando TEXTJOIN viene utilizzato in una versione precedente di Excel in cui questa funzione non è supportata (prima della 2019) o quando il nome della funzione è scritto in modo errato.
- L'errore #VALORE! si verifica se la stringa risultante supera i 32.767 caratteri.
- L'errore #VALORE! può verificarsi anche se Excel non riconosce il delimitatore come testo, ad esempio se si fornisce un carattere non stampabile come CHAR(0).
Ecco come utilizzare la funzione TEXTJOIN in Excel. Vi ringrazio per la lettura e spero di vedervi sul nostro blog la prossima settimana!
Download disponibili
Esempi di formula TEXTJOIN di Excel