Fórmula do Excel: Dividir frase em palavras
No Excel, sabemos que o recurso 'Texto para Colunas' pode dividir uma frase em células com base em um delimitador. No entanto, às vezes, você pode querer usar uma fórmula para realizar essa tarefa. Este tutorial fornece uma fórmula matricial capaz de lidar com isso.
Fórmula genérica:
=MID(" "&$TXT&" ", SMALL(SE(ÉERRO(PROCURAR(MID(" "&$TXT&" ", LIN($1:$99), 1), " ")), "", LIN($1:$99)+1), COL(A1)), SMALL(SE(ÉERRO(PROCURAR(MID(" "&$TXT&" ", LIN($1:$99), 1), " ")), "", LIN($1:$99)), COL(A1)+1)-SMALL(SE(ÉERRO(PROCURAR(MID(" "&$TXT&" ", LIN($1:$99), 1), " ")), "", LIN($1:$99)), COL(A1))-1) |
Argumentos
Número: a frase ou string de texto que você deseja dividir em palavras separadas por células. |
Como esta fórmula funciona
Tomando como exemplo a célula B3, você pode usar a seguinte fórmula:
=MID(" "&$B3&" ", SMALL(SE(ÉERRO(PROCURAR(MID(" "&$B3&" ", LIN($1:$99), 1), " ")), "", LIN($1:$99)+1), COL(A1)), SMALL(SE(ÉERRO(PROCURAR(MID(" "&$B3&" ", LIN($1:$99), 1), " ")), "", LIN($1:$99)), COL(A1)+1)-SMALL(SE(ÉERRO(PROCURAR(MID(" "&$B3&" ", LIN($1:$99), 1), " ")), "", LIN($1:$99)), COL(A1))-1) |
Pressione Shift + Ctrl + Enter para extrair a primeira palavra e, em seguida, arraste a alça de preenchimento para a direita até que todas as palavras sejam extraídas.
Explicação
A função MID extrai uma substring de uma string de texto com base na posição inicial especificada e no número de caracteres.
LIN função retorna o número da linha; aqui configuramos para retornar uma matriz de 1 a 99.
Então a fórmulaMID(" "&$B2&" ", LIN($1:$99), 1)
=MID(" Turma A Série 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)
={" ";"T";"u";"r";"m";"a";" ";"A";" ";"S";"é";"r";"i";"e";" ";"3";" ";"L";"i";"l";"y";" ";"C";"o";"r";"e";" ";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";
"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";""}
A função PROCURAR retorna a localização de um caractere ou texto específico dentro de uma string de texto fornecida. Se a string não for encontrada, a função retorna um valor de erro.
A fórmula PROCURAR(MID(" "&$B3&" ", LIN($1:$99), 1), " ")
={1;#VALOR!;#VALOR!;#VALOR!;#VALOR!;#VALOR!;1;#VALOR!;1;#VALOR!;#VALOR!;
#VALOR!;#VALOR!;#VALOR!;1;#VALOR!;1;#VALOR!;#VALOR!;#VALOR!;#VALOR!;1;
#VALOR!;#VALOR!;#VALOR!;#VALOR!;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}
A função ÉERRO retorna VERDADEIRO se o valor for um erro.
Então a fórmula ÉERRO(PROCURAR(MID(" "&$B3&" ", LIN($1:$99), 1), " "))
={FALSO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;FALSO;VERDADEIRO;FALSO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;
VERDADEIRO;FALSO;VERDADEIRO;FALSO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;FALSO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;
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}
A função SE testa uma condição específica. Aqui ela possui três argumentos: o primeiro deve ser uma expressão lógica. Se o primeiro argumento for “VERDADEIRO”, o segundo argumento será exibido; e se o primeiro argumento for “FALSO”, o terceiro argumento será exibido.
A fórmula SE(ÉERRO(PROCURAR(MID(" "&$B3&" ", LIN($1:$99), 1), " ")), "", LIN($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}
A função MENOR retorna o menor valor na matriz.
A função COL retorna o número da coluna onde a fórmula aparece ou retorna o número da coluna de uma referência dada.
Então
MENOR(SE(ÉERRO(PROCURAR(MID(" "&$B3&" ", LIN($1:$99), 1), " ")), "", LIN($1:$99)), COL(A1))
={1}
Então a fórmula
MENOR(SE(ÉERRO(PROCURAR(MID(" "&$B3&" ", LIN($1:$99), 1), " ")), "", LIN($1:$99)), COL(A1)+1)- MENOR(SE(ÉERRO(PROCURAR(MID(" "&$B3&" ", LIN($1:$99), 1), " ")), "", LIN($1:$99)), COL(A1))
={7-1}
={6}
Então a fórmula
MID(" "&$B3&" ", MENOR(SE(ÉERRO(PROCURAR(MID(" "&$B3&" ", LIN($1:$99), 1), " ")), "", LIN($1:$99)+1), COL(A1)), MENOR(SE(ÉERRO(PROCURAR(MID(" "&$B3&" ", LIN($1:$99), 1), " ")), "", LIN($1:$99)), COL(A1)+1)-MENOR(SE(ÉERRO(PROCURAR(MID(" "&$B3&" ", LIN($1:$99), 1), " ")), "", LIN($1:$99)), COL(A1))-1)
=MID(" "&$B3&" ",2,6-1)
={Class}
Arquivo de Exemplo
Clique para baixar o arquivo de exemplo
Fórmulas Relacionadas
- Extrair do lado direito até o caractere
Aqui é introduzida a fórmula para extrair texto do lado direito de um dado texto até um caractere específico. - Reduzir Texto Para N Palavras
Aqui é introduzida a fórmula para extrair n palavras do lado esquerdo de uma string de texto. - Adicionar zeros à esquerda para fixar comprimento
Este tutorial fornece fórmulas para adicionar zeros à esquerda para tornar o texto do mesmo comprimento. - Dividir dólares e centavos
Para dividir dólares e centavos em duas colunas usando fórmulas no Excel.
Funções Relacionadas
- Função MID
Extrai parte do texto de um valor de célula com base na localização e no comprimento. - Função COL
Retorna o número da coluna onde a fórmula aparece ou retorna o número da coluna. - Função LIN
Obtém o número da linha. - Função PROCURAR
Encontra a posição de um caractere ou substring específico de uma string de texto fornecida. - Função SE
Testa uma condição específica.
As Melhores Ferramentas de Produtividade para o Office
Kutools para Excel - Ajuda Você a Se Destacar na Multidão
Kutools para Excel Conta com Mais de 300 Funcionalidades, Garantindo Que O Que Você Precisa Está Apenas Um Clique de Distância...
Office Tab - Ative a Leitura e Edição com Guias no Microsoft Office (inclui Excel)
- Um segundo para alternar entre dezenas de documentos abertos!
- Reduz centenas de cliques de mouse para você todos os dias, diga adeus à mão do mouse.
- Aumenta sua produtividade em 50% ao visualizar e editar vários documentos.
- Traz Guias Eficientes para o Office (inclui Excel), Assim Como Chrome, Edge e Firefox.