Formula Excel: Dividi la frase in parole
In Excel, come sappiamo, il comando 'Testo in colonne' può dividere una frase in celle basandosi su un delimitatore. Ma a volte potresti voler utilizzare una formula per risolvere il problema. In questo tutorial viene fornita una formula matriciale che può gestire questa operazione.
Formula generica:
=MID(" "&$TXT&" ", SMALL(SE(ISERROR(SEARCH(MID(" "&$TXT&" ", RIF.RIGA($1:$99), 1), " ")), "", RIF.RIGA($1:$99)+1), COLONNA(A1)), SMALL(SE(ISERROR(SEARCH(MID(" "&$TXT&" ", RIF.RIGA($1:$99), 1), " ")), "", RIF.RIGA($1:$99)), COLONNA(A1)+1)-SMALL(SE(ISERROR(SEARCH(MID(" "&$TXT&" ", RIF.RIGA($1:$99), 1), " ")), "", RIF.RIGA($1:$99)), COLONNA(A1))-1) |
Argomenti
Numero: la frase o stringa di testo che desideri dividere in parole in celle separate. |
Come funziona questa formula
Prendiamo come esempio la cella B3, puoi usare la seguente formula:
=MID(" "&$B3&" ", SMALL(SE(ISERROR(SEARCH(MID(" "&$B3&" ", RIF.RIGA($1:$99), 1), " ")), "", RIF.RIGA($1:$99)+1), COLONNA(A1)), SMALL(SE(ISERROR(SEARCH(MID(" "&$B3&" ", RIF.RIGA($1:$99), 1), " ")), "", RIF.RIGA($1:$99)), COLONNA(A1)+1)-SMALL(SE(ISERROR(SEARCH(MID(" "&$B3&" ", RIF.RIGA($1:$99), 1), " ")), "", RIF.RIGA($1:$99)), COLONNA(A1))-1) |
Premere Shift + Ctrl + Enter per estrarre la prima parola, quindi trascinare la maniglia di riempimento verso destra fino a quando tutte le parole non sono estratte.
Spiegazione
La funzione MID estrae una sottostringa da una stringa di testo in base alla posizione iniziale specificata e al numero di caratteri.
La funzione RIF.RIGA restituisce il numero della riga; qui la impostiamo per restituire un array da 1 a 99.
Quindi la formulaMID(" "&$B2&" ", RIF.RIGA($1:$99), 1)
=MID(" Classe A Grado 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";" ";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";
"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";""}
SEARCH funzione restituisce la posizione di un carattere o testo specifico all'interno di una stringa di testo data. Se la stringa non viene trovata, la funzione restituisce un valore di errore.
La formula SEARCH(MID(" "&$B3&" ", RIF.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 ISERROR(SEARCH(MID(" "&$B3&" ", RIF.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}
SE funzione verifica una condizione specifica. Qui ha tre argomenti: il primo deve essere un'espressione logica; se il primo argomento è “VERO”, viene visualizzato il secondo argomento, mentre se il primo argomento è ”FALSO”, viene visualizzato il terzo argomento.
La formula SE(ISERROR(SEARCH(MID(" "&$B3&" ", RIF.RIGA($1:$99), 1), " ")), "", RIF.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}
PICCOLO funzione restituisce il valore più piccolo nell'array.
COLONNA funzione restituisce il numero della colonna in cui appare la formula o il numero della colonna di un riferimento dato.
Quindi
PICCOLO(SE(ISERROR(SEARCH(MID(" "&$B3&" ", RIF.RIGA($1:$99), 1), " ")), "", RIF.RIGA($1:$99)), COLONNA(A1))
={1}
Quindi la formula
PICCOLO(SE(ISERROR(SEARCH(MID(" "&$B3&" ", RIF.RIGA($1:$99), 1), " ")), "", RIF.RIGA($1:$99)), COLONNA(A1)+1)- PICCOLO(SE(ISERROR(SEARCH(MID(" "&$B3&" ", RIF.RIGA($1:$99), 1), " ")), "", RIF.RIGA($1:$99)), COLONNA(A1))
={7-1}
={6}
Quindi la formula
MID(" "&$B3&" ", PICCOLO(SE(ISERROR(SEARCH(MID(" "&$B3&" ", RIF.RIGA($1:$99), 1), " ")), "", RIF.RIGA($1:$99)+1), COLONNA(A1)), PICCOLO(SE(ISERROR(SEARCH(MID(" "&$B3&" ", RIF.RIGA($1:$99), 1), " ")), "", RIF.RIGA($1:$99)), COLONNA(A1)+1)-PICCOLO(SE(ISERROR(SEARCH(MID(" "&$B3&" ", RIF.RIGA($1:$99), 1), " ")), "", RIF.RIGA($1:$99)), COLONNA(A1))-1)
=MID(" "&$B3&" ",2,6-1)
={Class}
File di esempio
Clicca per scaricare il file di esempio
Formule relative
- Estrai da destra fino al carattere
Qui viene introdotta la formula per estrarre il testo dal lato destro di un dato testo fino a un carattere specificato. - Tronca il testo a N parole
Qui viene introdotta la formula per estrarre n parole dal lato sinistro di una stringa di testo. - Aggiungi zeri iniziali per fissare la lunghezza
Questo tutorial fornisce formule per aggiungere zeri iniziali per rendere il testo della stessa lunghezza. - Dividi dollari e centesimi
Per dividere dollari e centesimi in due colonne con formule in Excel.
Funzioni relative
- Funzione MID
Estrai parte del testo da un valore di cella in base alla posizione e alla lunghezza. - Funzione COLONNA
Restituisce il numero della colonna in cui appare la formula o il numero della colonna. - Funzione RIF.RIGA
Ottieni il numero della riga. - Funzione SEARCH
Trova la posizione di un carattere o sottostringa specifica all'interno di una stringa di testo data. - Funzione SE
Verifica una condizione specifica.
I migliori strumenti per la produttività di Office
Kutools per Excel - Ti aiuta a distinguerti dalla massa
Kutools per Excel vanta oltre 300 funzionalità, garantendo che ciò di cui hai bisogno sia a portata di clic...
Office Tab - Abilita la lettura e la modifica a schede in Microsoft Office (include Excel)
- Un secondo per passare tra decine di documenti aperti!
- Riduci centinaia di clic del mouse ogni giorno, dì addio al dolore al polso.
- Aumenta la tua produttività del 50% durante la visualizzazione e la modifica di più documenti.
- Porta le schede efficienti in Office (include Excel), proprio come Chrome, Edge e Firefox.