Extrair Texto após a última ocorrência de um caractere específico
Se tiver uma lista de cadeias de texto complexas contendo vários delimitadores (como hífenes, vírgulas e espaços numa única célula, conforme ilustrado na imagem seguinte) e pretender localizar a posição da última ocorrência do hífen para extrair a subcadeia subsequente, este artigo apresenta fórmulas práticas para resolver essa tarefa.

- Fórmula 1: Extrair a subcadeia após a última ocorrência de um delimitador específico
- Fórmula 2: Extrair a subcadeia após a última ocorrência de um delimitador específico
Fórmula 1: Extrair a subcadeia após a última ocorrência de um delimitador específico
No Excel, a função DIREITA, combinada com as funções NÚM.CARACT, PROCURAR e SUBSTITUIR, pode ajudá-lo a criar uma fórmula eficaz para resolver esta tarefa.
1. Para extrair a subcadeia após a última ocorrência do hífen, introduza ou copie a seguinte fórmula para uma célula vazia:
2. Em seguida, arraste a alça de preenchimento para as células onde pretende aplicar esta fórmula e obterá o resultado apresentado na imagem seguinte:

Explicação da fórmula:
1. LEN(A2)-LEN(SUBSTITUTE(A2,"-",«»)): Esta parte obtém o número de hífens presentes na célula A2.
- LEN(A2): Esta função NÚM.CARACT devolve o número total de caracteres na célula A2. O resultado será: 44.
- SUBSTITUIR(A2;"-";«»): Esta função SUBSTITUIR remove todos os hífenes, substituindo-os por nada. O resultado obtido será: “InsertDeleterows, sheets, images, formulas”.
- NÚM.CARACT(SUBSTITUIR(A2;"-";«»): Obtém o comprimento total da cadeia de texto na célula A2, excluindo os hífenes.
- LEN(A2)-LEN(SUBSTITUTE(A2,"-",«»)): Subtrai o comprimento da cadeia de texto sem hífenes ao comprimento total do texto para obter o número de hífenes, resultando assim em 2.
2. SUBSTITUIR(A2;"-";«#»;LEN(A2)-LEN(SUBSTITUTE(A2,"-",«»))): Esta função SUBSTITUIR substitui a última ocorrência do hífen — identificada pela primeira parte da fórmula — pelo caractere #, obtendo o seguinte resultado: “Insert-Delete#rows, sheets, images, formulas”.

3. SEARCH(«#»,SUBSTITUTE(A2,"-",«#»,LEN(A2)-LEN(SUBSTITUTE(A2,"-",«»))))=SEARCH(«#», «Insert-Delete#rows, sheets, images, formulas»): Esta função PROCURAR devolve a posição do caractere «#» na cadeia de texto gerada pela função SUBSTITUIR. Obterá o número 14.
4. LEN(A2)-SEARCH(«#»,SUBSTITUTE(A2,"-",«#»,LEN(A2)-LEN(SUBSTITUTE(A2,"-",«»)))): Esta parte da fórmula obtém o número de caracteres após o último hífen, resultando no valor 30.
5. RIGHT(A2,LEN(A2)-SEARCH(«#»,SUBSTITUTE(A2,"-",«#»,LEN(A2)-LEN(SUBSTITUTE(A2,"-",«»)))))=RIGHT(A2, 30): Por fim, a função DIREITA extrai os 30 caracteres do lado direito da cadeia de texto na célula A2, conforme devolvido pela fórmula no passo 4.
Notas:
1. Se precisar de extrair o texto após a última ocorrência de outros delimitadores, basta substituir o hífen pelo delimitador pretendido.
2. Se a cadeia de texto não contiver o delimitador específico, a fórmula anterior devolverá um valor de erro, conforme ilustrado na imagem:

Para corrigir este erro, envolva a fórmula anterior na função SE.ERRO utilizando a seguinte fórmula:

Fórmula 2: Extrair a subcadeia após a última ocorrência de um delimitador específico
Eis outra fórmula simples, criada com as funções COMPACTAR, DIREITA, SUBSTITUIR, REPETIR e NÚM.CARACT, que também o pode ajudar a resolver esta tarefa no Excel.
1. Copie ou introduza a seguinte fórmula numa célula vazia onde pretende obter o resultado:
2. Em seguida, arraste a alça de preenchimento para as células em que pretende aplicar esta fórmula e todas as subcadeias após os últimos hífens serão extraídas, conforme mostrado na imagem seguinte:

Explicação da fórmula:
1. LEN(A2): Esta função NÚM.CARACT devolve o número total de caracteres na célula A2, sendo reconhecida como o argumento núm_caract na função DIREITA. O resultado será: 44.
2. SUBSTITUIR(A2;"-";REPT(« »;LEN(A2))):
- REPETIR(« »;LEN(A2): Esta função REPETIR gera um número de espaços igual ao comprimento do conteúdo da célula A2.
- SUBSTITUIR(A2;"-";REPT(« »,LEN(A2))): Esta função SUBSTITUIR substitui os hífens na célula A2 pelos espaços gerados pela função REPETIR.
Esta parte da fórmula será reconhecida como um argumento de texto na função DIREITA.
3. RIGHT(SUBSTITUTE(A2,"-",REPT(« »,LEN(A2))),LEN(A2)): Esta função DIREITA obtém o texto do lado direito da cadeia devolvida pela função SUBSTITUIR.
4. TRIM(): Esta função COMPACTAR remove todos os espaços extra, deixando apenas um espaço entre as palavras.
Funções relacionadas utilizadas:
- RIGHT:
- A função DIREITA extrai um número específico de caracteres do final da cadeia de texto.
- SEARCH:
- A função PROCURAR ajuda-o a localizar a posição exata de um caractere ou subcadeia específica dentro do texto indicado.
- LEN:
- A função NÚM.CARACT devolve o número de caracteres de uma cadeia de texto.
- SUBSTITUTE:
- A função SUBSTITUIR do Microsoft Excel substitui texto ou caracteres numa cadeia de texto por outro texto ou caracteres.
- TRIM:
- A função COMPACTAR elimina todos os espaços extra da cadeia de texto, mantendo apenas um único espaço entre as palavras.
- REPT:
- A função REPETIR repete caracteres um número especificado de vezes.
Mais artigos:
- Extrair Várias Linhas de Uma Célula
- Se tiver uma lista de cadeias de texto separadas por quebras de linha (introduzidas ao premir Alt + Enter) e quiser extrair essas linhas para células distintas, como ilustrado na imagem seguinte, como pode realizar esta tarefa utilizando uma fórmula no Excel?
- Extrair a Enésima Palavra de uma Cadeia de Texto no Excel
- Se tiver uma lista de cadeias de texto ou frases e quiser extrair a enésima palavra de cada item, conforme ilustrado na imagem seguinte, este artigo apresenta alguns métodos para realizar essa tarefa no Excel.
- Extrair Texto Entre Parênteses de uma Cadeia de Texto
- Se houver parte do texto entre parênteses numa cadeia de caracteres e precisar de extrair todo o conteúdo situado entre esses parênteses, conforme ilustrado na imagem seguinte, como pode realizar esta tarefa no Excel de forma rápida e fácil?
- Extrair Subcadeia de uma Cadeia de Texto no Excel
- Extrair subcadeias de cadeias de texto pode ser uma tarefa comum. Embora o Excel não disponha de uma função dedicada para esse fim, é possível obter diversos tipos de subcadeias conforme necessário, combinando as funções ESQUERDA, DIREITA, EXT.TEXTO e PROCURAR.
As Melhores Ferramentas de Produtividade para o Office
Kutools for Excel – Ajuda-o a destacar-se da multidão
Kutools for Excel Oferece mais de 300 funcionalidades,garantindo que tudo o que precisa está a apenas um clique…
Office Tab – Ative a leitura e edição com separadores no Microsoft Office (incluindo o Excel)
- Um segundo para alternar entre dezenas de documentos abertos!
- Reduza centenas de cliques diários e diga adeus à tendinite do rato.
- Aumente a sua produtividade em 50 % ao visualizar e editar vários documentos simultaneamente.
- Traz uma navegação eficiente com separadores ao Office (incluindo o Excel), tal como no Chrome, Edge e Firefox.