=TESTO.PRECEDENTE(A2;" ") restituisce tutto ciò che sta prima del primo spazio, quindi Ana Silva dà Ana, e =TESTO.SUCCESSIVO(A2;" ") restituisce tutto ciò che sta dopo, Silva. In inglese le due funzioni si chiamano TEXTBEFORE e TEXTAFTER, ed è così che le mostra la tabella; puoi scrivere le formule anche in italiano, con il punto e virgola. Copia entrambe le formule verso il basso e ogni nome completo viene diviso in due colonne.
| A | B | C | |
|---|---|---|---|
| 1 | Full name | First | Last |
| 2 | Ana Silva | Ana | Silva |
| 3 | Ben Okafor | Ben | Okafor |
| 4 | Chen Wu | Chen | Wu |
| 5 | Dara Kelly | Dara | Kelly |
| 6 | Eli Novak | Eli | Novak |
=TESTO.PRECEDENTE(A2;" ")Cambia un nome nella colonna A e le due colonne lo seguono. TESTO.PRECEDENTE, TESTO.SUCCESSIVO e DIVIDI.TESTO richiedono Microsoft 365 o Excel 2024. Per Excel 2021 e precedenti, la versione con SINISTRA e TROVA è più in basso.
DIVIDI.TESTO: dividere una cella in colonne
=DIVIDI.TESTO(A2;" ") (in inglese TEXTSPLIT) taglia il testo a ogni spazio ed espande ogni pezzo nella propria cella. Una sola formula riempie tante colonne quanti sono i pezzi:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Text | ||||
| 2 | Ana Maria Silva | Ana | Maria | Silva | |
| 3 | Paris, Lyon, Nice | Paris | Lyon | Nice |
=DIVIDI.TESTO(A2;" ")- Il delimitatore può avere più di un carattere:
", "divide a una virgola seguita da uno spazio, quindi i pezzi non hanno uno spazio iniziale. - Lascia spazio per il risultato. Se una cella a destra non è vuota, la formula mostra invece #ESPANSIONE! (in inglese #SPILL!; la tabella mostra i nomi inglesi degli errori).
- I pezzi sono sempre testo, cifre comprese, quindi SOMMA li salta. Metti due segni meno davanti,
=--DIVIDI.TESTO(A2;","), quando ti servono numeri.
Il terzo argomento è un delimitatore di riga. Con entrambi, DIVIDI.TESTO costruisce una piccola tabella da una cella: le virgole separano le colonne e i punti e virgola le righe.
| A | B | |
|---|---|---|
| 1 | Teams | |
| 2 | Ana,Red;Ben,Blue;Chen,Green | |
| 3 | ||
| 4 | Ana | Red |
| 5 | Ben | Blue |
| 6 | Chen | Green |
=DIVIDI.TESTO(A2;",";";")Altre due forme che funzionano in Excel, mostrate qui come testo:
=TEXTSPLIT(A2,,", ") one piece per row: the column delimiter is left out
=TEXTSPLIT(A2,{";",","}) several delimiters in braces: splits at ; or ,
La prima trasforma excel, formulas, text in una colonna di tre celle, ed è così che un elenco scritto in una cella diventa una serie di righe. La seconda trasforma red;green,blue in red, green, blue. In Excel italiano la prima è =DIVIDI.TESTO(A2;;", "); la seconda, con le parentesi graffe, resta in forma inglese, perché i separatori dentro le graffe dipendono dalle impostazioni internazionali.
Secondi nomi e "Cognome, Nome"
TESTO.SUCCESSIVO(A2;" ") restituisce tutto ciò che sta dopo il primo spazio, quindi per Ana Maria Silva restituisce Maria Silva. Per avere l'ultima parola, conta dalla fine con un numero di istanza -1. Per nomi scritti come Silva, Ana, dividi invece alla virgola e allo spazio:
| A | B | C | |
|---|---|---|---|
| 1 | Full name | First | Last |
| 2 | Ana Maria Silva | Ana | Silva |
| 3 | Ben Okafor | Ben | Okafor |
| 4 | Chen Li Wu | Chen | Wu |
| 5 | Cher | Cher | |
| 6 | |||
| 7 | Last, First | First | Last |
| 8 | Silva, Ana | Ana | Silva |
=TESTO.SUCCESSIVO(A2;" ";-1)Quando il delimitatore manca, TESTO.PRECEDENTE e TESTO.SUCCESSIVO restituiscono #N/D (in inglese #N/A), e un nome di una sola parola come Cher non ha spazi. La riga 5 usa il sesto argomento, il valore da restituire al suo posto: =TESTO.PRECEDENTE(A5;" ";;;;A5) restituisce il nome intero e TESTO.SUCCESSIVO(...;"") restituisce una cella vuota.
| A | B | C | |
|---|---|---|---|
| 1 | User | Domain | |
| 2 | ana.silva@coddy.tech | ana.silva |
Tocca a te: In C2, restituisci il dominio dell'indirizzo email in A2: tutto ciò che sta dopo la @.
Separare i nomi nelle versioni vecchie di Excel
Senza TESTO.PRECEDENTE e TESTO.SUCCESSIVO, trova la posizione dello spazio con TROVA e taglia attorno a essa con SINISTRA, STRINGA.ESTRAI e DESTRA:
| A | B | C | |
|---|---|---|---|
| 1 | Full name | First | Last |
| 2 | Ana Silva | Ana | Silva |
| 3 | Ben Okafor | Ben | Okafor |
| 4 | Chen Wu | Chen | Wu |
=SINISTRA(A2;TROVA(" ";A2)-1)TROVA(" ";A2)è la posizione dello spazio: 4 inAna Silva.SINISTRA(A2;4-1)prende i 3 caratteri prima di esso.STRINGA.ESTRAI(A2;4+1;100)prende fino a 100 caratteri a partire da dopo lo spazio. 100 significa solo "più di qualsiasi nome";=DESTRA(A2;LUNGHEZZA(A2)-TROVA(" ";A2))dà lo stesso risultato con una lunghezza esatta.
Queste formule restituiscono #VALORE! (in inglese #VALUE!) quando non c'è nessuno spazio. Racchiudile in SE.ERRORE, =SE.ERRORE(SINISTRA(A2;TROVA(" ";A2)-1);A2), per restituire invece l'intera cella.
| A | B | |
|---|---|---|
| 1 | Code | Prefix |
| 2 | KT-1043-BLUE |
Tocca a te: Restituisci in B2 la parte del codice prodotto prima del primo trattino, usando SINISTRA e TROVA.
Testo in colonne e Riempimento rapido
Per dividere una colonna una volta sola, senza formule:
- Seleziona la colonna dei nomi completi. Assicurati che le colonne alla sua destra siano vuote, perché Testo in colonne le sovrascrive.
- Dati > Testo in colonne.
- Scegli Delimitato, fai clic su Avanti, spunta Spazio (oppure Virgola, o scrivi un altro carattere in Altro), fai clic su Avanti.
- Il primo pezzo sostituisce i nomi completi. Per tenerli, imposta Destinazione sulla cella vuota alla loro destra, poi fai clic su Fine.
Riempimento rapido è più veloce per uno schema: scrivi Ana accanto ad Ana Silva, premi Invio, poi Ctrl+E oppure Dati > Riempimento rapido, ed Excel riempie i nomi delle altre righe. Entrambi gli strumenti scrivono valori fissi. Se in seguito i nomi cambiano, la divisione non si aggiorna; una formula sì.
Domande frequenti
Come si separano nome e cognome in Excel?
Con un nome come Ana Silva in A2, =TESTO.PRECEDENTE(A2;" ") dà Ana e =TESTO.SUCCESSIVO(A2;" ";-1) dà Silva, anche quando c'è un secondo nome. In Excel 2021 e precedenti usa =SINISTRA(A2;TROVA(" ";A2)-1) per il nome.
Quali versioni di Excel hanno DIVIDI.TESTO?
DIVIDI.TESTO, TESTO.PRECEDENTE e TESTO.SUCCESSIVO sono in Microsoft 365, Excel per il Web ed Excel 2024. Excel 2021 e precedenti mostrano #NOME?; lì usa SINISTRA, STRINGA.ESTRAI, DESTRA e TROVA, oppure Dati > Testo in colonne.
Come divido una cella in base a una virgola in Excel?
=DIVIDI.TESTO(A2;", ") espande ogni pezzo nella propria colonna. Per mettere i pezzi in righe, lascia vuoto il delimitatore di colonna: =DIVIDI.TESTO(A2;;", ").
Perché TESTO.PRECEDENTE restituisce #N/D?
Il delimitatore non è nella cella, per esempio un nome singolo senza spazio. Indica un valore per quel caso nel sesto argomento: =TESTO.PRECEDENTE(A2;" ";;;;A2) restituisce l'intera cella quando non c'è nessuno spazio.