Formula Excel: Dividi una frase in parole
In Excel, come noto, lo strumento **Testo in colonne** permette di suddividere una frase in celle utilizzando un delimitatore. Tuttavia, in alcuni casi può essere preferibile ricorrere a una formula per ottenere lo stesso risultato. Questa guida presenta una formula matriciale appositamente progettata per gestire questa operazione.
Formula generica:
| =MID(« »&$TXT&« », SMALL(IF(ISERROR(SEARCH(MID(« »&$TXT&« », ROW($1:$99), 1), « »)), «», ROW($1:$99)+1), COLUMN(A1)), SMALL(IF(ISERROR(SEARCH(MID(« »&$TXT&« », ROW($1:$99), 1), « »)), «», ROW($1:$99)), COLUMN(A1)+1)-SMALL(IF(ISERROR(SEARCH(MID(« »&$TXT&« », ROW($1:$99), 1), « »)), «», ROW($1:$99)), COLUMN(A1))-1) |
Argomenti
| Number: the sentence or text string you want to split to words in separated cells. |
Funzionamento della formula
Considerando la cella B3 come esempio, è possibile utilizzare la seguente formula:
| =MID(« »&$B3&« », SMALL(IF(ISERROR(SEARCH(MID(« »&$B3&« », ROW($1:$99), 1), « »)), «», ROW($1:$99)+1), COLUMN(A1)), SMALL(IF(ISERROR(SEARCH(MID(« »&$B3&« », ROW($1:$99), 1), « »)), «», ROW($1:$99)), COLUMN(A1)+1)-SMALL(IF(ISERROR(SEARCH(MID(« »&$B3&« », ROW($1:$99), 1), « »)), «», ROW($1:$99)), COLUMN(A1))-1) |
Premere Maiusc + Ctrl + Invio per estrarre la prima parola, quindi trascinare la maniglia di riempimento verso destra finché non sono state estratte tutte le parole.

Spiegazione
Funzione MID estrae una sottostringa da una stringa di testo in base alla posizione iniziale specificata e al numero di caratteri.
Funzione ROW restituisce il numero di riga; in questo caso è configurata per restituire un array da 1 a 99.
Quindi la formula STRINGA.ESTRAI(« »&$B2&« »; RIGA($1:$99); 1)
=MID(" Class A Grade 3 Lily Core", {1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20; 21; 22; 23; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33; 34; 35; 36; 37; 38; 39; 40; 41; 42; 43; 44; 45; 46; 47; 48; 49; 50; 51; 52; 53; 54; 55; 56; 57; 58; 59; 60; 61; 62; 63; 64; 65; 66; 67; 68; 69; 70; 71; 72; 73; 74; 75; 76; 77; 78; 79; 80; 81; 82; 83; 84; 85; 86; 87; 88; 89; 90; 91; 92; 93; 94; 95; 96; 97; 98; 99}, 1)
={« »;«C»;«l»;«a»;«s»;«s»;« »;«A»;« »;«G»;«r»;«a»;«d»;«e»;« »;"3";« »;«L»;«i»;«l»;«y»;« »;«C»;«o»;«r»;«e»;« »;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;
«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»;«»}
Funzione SEARCH restituisce la posizione di un carattere o di un testo specifico all'interno di una stringa. Se la stringa non viene trovata, la funzione restituisce un errore.
La formula TROVA(STRINGA.ESTRAI(« »&$B3&« »; RIGA($1:$99); 1); « »)
={1;#VALORE!;#VALORE!;#VALORE!;#VALORE!;#VALORE!;1;#VALORE!;1;#VALORE!;#VALORE!;
#VALORE!;#VALORE!;#VALORE!;1;#VALORE!;1;#VALORE!;#VALORE!;#VALORE!;#VALORE!;1;
#VALORE!;#VALORE!;#VALORE!;#VALORE!;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
1;1;1;1;1}
La funzione ISERROR restituisce VERO se il valore è un errore.
Quindi la formula VAL.ERRORE(TROVA(STRINGA.ESTRAI(« »&$B3&« »; RIGA($1:$99); 1); « »))
={FALSO;VERO;VERO;VERO;VERO;VERO;FALSO;VERO;FALSO;VERO;VERO;VERO;VERO;
VERO;FALSO;VERO;FALSO;VERO;VERO;VERO;VERO;FALSO;VERO;VERO;VERO;VERO;
FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;
FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;
FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;
FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;
FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;
FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;
FALSO}
Funzione IF verifica una condizione specifica. In questo caso, presenta tre argomenti: il primo deve essere un'espressione logica; se tale espressione è “VERO”, viene visualizzato il secondo argomento, mentre se è “FALSO”, viene visualizzato il terzo.
La formula SE(VAL.ERRORE(TROVA(STRINGA.ESTRAI(« »&$B3&« »; RIGA($1:$99); 1); « »)); «»; RIGA($1:$99))
={1;«»;«»;«»;«»;«»;7;«»;9;«»;«»;«»;«»;«»;15;«»;17;«»;«»;«»;«»;22;«»;«»;«»;«»;27;28;29;30;31;32;33;34;35;
36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59;60;61;62;63;
64;65;66;67;68;69;70;71;72;73;74;75;76;77;78;79;80;81;82;83;84;85;86;87;88;89;90;91;92;
93;94;95;96;97;98;99}
La funzione SMALL restituisce quindi il valore più piccolo nell'array.
Funzione COLUMN restituisce il numero della colonna in cui è inserita la formula oppure il numero di colonna di un riferimento specificato.
Quindi
PICCOLO(SE(VAL.ERRORE(TROVA(STRINGA.ESTRAI(« »&$B3&« »; RIGA($1:$99); 1); « »)); «»; RIGA($1:$99)); COLONNA(A1))
={1}
Quindi la formula
PICCOLO(SE(VAL.ERRORE(TROVA(STRINGA.ESTRAI(« »&$B3&« »; RIGA($1:$99); 1); « »)); «»; RIGA($1:$99)); COLONNA(A1)+1)- PICCOLO(SE(VAL.ERRORE(TROVA(STRINGA.ESTRAI(« »&$B3&« »; RIGA($1:$99); 1); « »)); «»; RIGA($1:$99)); COLONNA(A1))
={7-1}
={6}
Quindi la formula
STRINGA.ESTRAI(« »&$B3&« »; PICCOLO(SE(VAL.ERRORE(TROVA(STRINGA.ESTRAI(« »&$B3&« »; RIGA($1:$99); 1); « »)); «»; RIGA($1:$99)+1); COLONNA(A1)); PICCOLO(SE(VAL.ERRORE(TROVA(STRINGA.ESTRAI(« »&$B3&« »; RIGA($1:$99); 1); « »)); «»; RIGA($1:$99)); COLONNA(A1)+1)-PICCOLO(SE(VAL.ERRORE(TROVA(STRINGA.ESTRAI(« »&$B3&« »; RIGA($1:$99); 1); « »)); «»; RIGA($1:$99)); COLONNA(A1))-1)
=MID(« »&$B3&« »,2,6-1)
={Class}
File di esempio
Fare clic per scaricare il file di esempio
Formule correlate
- Estrai da destra fino a un carattere
Scopri la formula per estrarre il testo dal lato destro di una stringa fino al carattere specificato. - Riduci il testo a N parole
Qui trovi la formula per estrarre le prime N parole da una stringa di testo. - Aggiungi zeri iniziali per fissare la lunghezza
Questa guida ti offre formule efficaci per aggiungere zeri iniziali e uniformare la lunghezza del testo. - Separa dollari e centesimi
Dividi facilmente dollari e centesimi in due colonne con formule semplici ed efficaci in Excel.
Funzioni correlate
- Funzione STRINGA.ESTRAI
Estrae una porzione di testo da un valore di cella in base alla posizione e alla lunghezza indicate. - Funzione COLONNA
Restituisce il numero della colonna in cui si trova la formula oppure il numero di colonna di un riferimento specificato. - Funzione RIGA
Restituisce il numero della riga. - Funzione TROVA
Individua la posizione di un carattere specifico o di una sottostringa all'interno di una stringa di testo. - Funzione SE
Verifica una condizione specificata.
I Migliori Strumenti per la Produttività in Office
Kutools per Excel – Aiuta te a distinguerti dalla folla
Kutools per Excel Vanta oltre 300 funzionalità,assicurandoti che ciò di cui hai bisogno sia sempre a portata di clic...
Office Tab – Abilita la lettura e la modifica a schede in Microsoft Office (incluso Excel)
- Passa tra decine di documenti aperti in un secondo!
- Riduci centinaia di clic del mouse ogni giorno e dì addio al “mouse hand”.
- Aumenta la tua produttività del 50 % visualizzando e modificando più documenti contemporaneamente.
- Porta l’efficienza delle schede in Office (incluso Excel), proprio come in Chrome, Edge e Firefox.