A última palavra

Um problema simples, à primeira vista, com uma solução não óbvia: extrair a última palavra de uma linha de texto. Bem, ou, no caso geral, o último fragmento, separado por um determinado caractere delimitador (espaço, vírgula, etc.) determinado caractere e, em seguida, extraia todos os caracteres à direita dele.

Vejamos as tradicionalmente várias maneiras de escolher: fórmulas, macros e por meio do Power Query.

Método 1. Fórmulas

Para facilitar o entendimento da essência e da mecânica da fórmula, vamos começar um pouco de longe. Primeiro, vamos aumentar o número de espaços entre as palavras em nosso texto de origem para, por exemplo, 20 partes. Você pode fazer isso com a função de substituição. SUBSTITUTO (SUBSTITUTO) e a função de repetir um determinado caractere N vezes – REPETIR (REPT):

A última palavra

Agora cortamos 20 caracteres do final do texto resultante usando a função DIREITO (DIREITO):

A última palavra

Está ficando mais quente, certo? Resta remover espaços extras usando a função TRIM (APARAR) e o problema será resolvido:

A última palavra

Na versão em inglês, nossa fórmula ficará assim:

=TRIM(DIREITA(SUBSTITUTO(A1;» «;REPT(» «;20));20))

Espero que fique claro que, em princípio, não é necessário inserir exatamente 20 espaços – qualquer número serve, desde que seja maior do que o comprimento da palavra mais longa do texto original.

E se o texto de origem precisar ser dividido não por um espaço, mas por outro caractere separador (por exemplo, por uma vírgula), nossa fórmula precisará ser ligeiramente corrigida:

A última palavra

Método 2. Função macro

A tarefa de extrair a última palavra ou fragmento do texto também pode ser resolvida usando macros, ou seja, escrevendo uma função de pesquisa reversa em Visual Basic que fará o que precisamos – procurar uma determinada substring em uma string na direção oposta – de o fim para o começo.

Pressione o atalho do teclado outro+F11 ou botão Visual Basic aba revelador (Desenvolvedor)para abrir o editor de macros. Em seguida, adicione um novo módulo através do menu Inserir - Módulo e copie o seguinte código lá:

 Função LastWord(txt As String, Opcional delim As String = " ", Opcional n As Integer = 1) As String arFragments = Split(txt, delim) LastWord = arFragments(UBound(arFragments) - n + 1) End Function  

Agora você pode salvar a pasta de trabalho (em um formato habilitado para macro!) e usar a função criada na seguinte sintaxe:

=ÚltimaPalavra(txt ; delim ; n)

onde

  • txt – célula com texto fonte
  • delim — caractere separador (padrão — espaço)
  • n – qual palavra deve ser extraída do final (por padrão – a primeira a partir do final)

A última palavra

Com quaisquer alterações no texto de origem no futuro, nossa função macro será recalculada em tempo real, como qualquer função de planilha padrão do Excel.

Método 3. Consulta de energia

Consulta de energia é um complemento gratuito da Microsoft para importar dados para o Excel de praticamente qualquer fonte e depois transformar os dados baixados em qualquer formato. O poder e a frieza deste suplemento são tão grandes que a Microsoft incorporou todos os seus recursos no Excel 2016 por padrão. Para o Excel 2010-2013, o Power Query pode ser baixado gratuitamente aqui.

Nossa tarefa de separar a última palavra ou fragmento através de um determinado separador usando o Power Query é resolvida com muita facilidade.

Primeiro, vamos transformar nossa tabela de dados em uma tabela inteligente usando atalhos de teclado. Ctrl+T ou comandos Home – Formatar como uma tabela (Início — Formatar como Tabela):

A última palavra

Em seguida, carregamos a “tabela inteligente” criada no Power Query usando o comando Da tabela/intervalo (Da tabela/intervalo) aba Data (se você tiver o Excel 2016) ou na guia Consulta de energia (se você tiver o Excel 2010-2013):

A última palavra

Na janela do editor de consultas que se abre, na guia Transformação (Transformar) escolha um time Coluna Dividida - Por Delimitador (Dividir Coluna — Por delimitador) e então resta definir o caractere separador e selecionar a opção Delimitador mais à direitacortar nem todas as palavras, mas apenas a última:

A última palavra

Depois de clicar em OK a última palavra será separada em uma nova coluna. A primeira coluna desnecessária pode ser removida clicando com o botão direito do mouse em seu cabeçalho e selecionando Eliminar (Excluir). Você também pode renomear a coluna restante no cabeçalho da tabela.

Os resultados podem ser carregados de volta para a planilha usando o comando Home — Fechar e carregar — Fechar e carregar para… (Início — Fechar e carregar — Fechar e carregar para…):

A última palavra

E como resultado obtemos:

A última palavra

Assim – barato e alegre, sem fórmulas e macros, quase sem tocar no teclado 🙂

Se a lista original mudar no futuro, basta clicar com o botão direito do mouse ou usar um atalho de teclado Ctrl+outro+F5 atualize nosso pedido.


  • Dividindo o texto fixo em colunas
  • Analisando e analisando texto com expressões regulares
  • Extraindo as primeiras palavras do texto com a função SUBSTITUTE

Deixe um comentário