KutoolsforOffice — Uma solução, cinco ferramentas poderosas.Fazer mais com menos esforço.

Como encontrar a primeira, a última ou uma ocorrência específica de um carácter no Excel?

AutorXiaoyang Data de Modificação

Em muitas tarefas de processamento de dados, poderá deparar-se com listas de cadeias de texto que contêm carateres especiais — como o hífen “-” — e precisar de determinar a posição da primeira, da última ou de uma ocorrência específica (n-ésima). Por exemplo, extrair informações com base em delimitadores, analisar códigos de peças ou separar componentes de dados exige frequentemente identificar onde determinado carater aparece dentro de cada cadeia. Contudo, o Excel não oferece uma função incorporada direta para devolver a posição da primeira, da última ou da n-ésima ocorrência de um carater numa célula. Este artigo apresenta várias técnicas práticas e soluções passo a passo para localizar com precisão essas ocorrências, apoiando diversas necessidades de análise e preparação de dados.


Encontrar a última ocorrência de um carácter com fórmulas

Se pretender obter a posição da última ocorrência de um carácter específico (como “-”) numa cadeia de texto, as funções padrão do Excel não oferecem essa informação diretamente. No entanto, ao combinar algumas fórmulas, consegue resolver este desafio de forma eficaz. Apresentamos aqui duas abordagens práticas — ideais para trabalhar com códigos de produtos, caminhos de ficheiros ou outros dados que utilizem separadores num padrão consistente. Tenha em conta que fórmulas mais complexas podem aumentar a carga de cálculo em conjuntos de dados volumosos.

1. Numa célula vazia (por exemplo, C2), introduza ou copie uma das seguintes fórmulas:

=SEARCH("^^",SUBSTITUTE(A2,"-","^^",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))))
=LOOKUP(2,1/(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)="-"),ROW(INDIRECT("1:"&LEN(A2))))

Ambas as fórmulas foram concebidas para devolver a posição (como um número) da última ocorrência do carácter “-” na célula referenciada (A2). A primeira fórmula utiliza PESQUISAR e SUBSTITUIR para identificar a posição, substituindo o último “-” por um símbolo único e procurando-o. A segunda recorre a PROCV, em combinação com EXT.TEXTO e LIN, para encontrar o último “-”. Pode optar por qualquer um dos métodos, consoante a sua familiaridade ou o volume de dados. A abordagem com PROCV pode revelar-se mais fácil de adaptar em versões modernas do Excel com suporte a matrizes.

Encontrar a última ocorrência do carácter com uma fórmula

2. Após introduzir a fórmula, prima Enter. Para aplicar esta fórmula a linhas adicionais, arraste a alça de preenchimento para baixo até abranger todo o intervalo necessário. Isto preencherá imediatamente cada célula com a posição da última ocorrência correspondente a cada cadeia de texto, conforme ilustrado na imagem seguinte. Verifique cuidadosamente se as suas células referenciadas estão corretas ao copiar a fórmula para outra área.

arrastar e preencher a fórmula noutras células

Nota: Nestes exemplos, A2 refere-se à célula que contém os seus dados, e “-” é o carácter-alvo. Pode substituir “-” por qualquer outro carácter que precise de procurar. Se a sua célula estiver vazia ou o carácter não existir no texto, a fórmula poderá devolver um erro. Em entradas de texto com delimitadores repetitivos ou símbolos especiais, verifique cuidadosamente a presença de carateres ocultos ou não imprimíveis que possam afetar os seus resultados.


Encontrar a última ocorrência de um carácter com uma Função Definida pelo Utilizador

Outro método flexível consiste em utilizar uma Função Definida pelo Utilizador (UDF) num módulo VBA, o que oferece maior controlo e facilita a reutilização — especialmente se precisar frequentemente de encontrar a última ocorrência de qualquer carácter em diversas análises. Esta abordagem é ideal se pretender uma interface de fórmula concisa ()=ultimaposicaocaract(célula, carácter)) que funcione de forma semelhante às funções incorporadas do Excel. Contudo, lembre-se de que as macros têm de estar ativadas para que as soluções VBA funcionem e de que deve sempre guardar a sua pasta de trabalho como ficheiro com macros ativadas (*.xlsm) para preservar a UDF.

1. Abra a sua folha de cálculo onde pretende inserir esta função.

2. Prima em simultâneo as teclas ALT + F11 para abrir o editor do Microsoft Visual Basic for Applications.

3. No editor do VBA, clique em Inserir > Módulo para criar um novo módulo. Depois, copie e cole o código seguinte na janela do módulo.

Código VBA: encontrar a última ocorrência de um carácter

Function LastpositionOfChar(strVal As String, strChar As String) As Long
LastpositionOfChar = InStrRev(strVal, strChar)
End Function

Resolução de problemas: Se a função não devolver um resultado, certifique-se de que as macros estão ativadas e de que está a introduzir a referência de célula e o carácter corretos na fórmula. Caso precise de encontrar a última ocorrência de um carácter diferente, basta alterar o argumento em conformidade.

4. Feche a janela do código, regresse à sua folha de cálculo e introduza a seguinte fórmula numa célula vazia (por exemplo, na célula B2):=lastpositionofchar(A2,"-"). Substitua A2 pela célula apropriada e “-” pelo seu carácter-alvo, conforme necessário.

aplicar uma fórmula para obter a última ocorrência do carácter

5. Arraste a alça de preenchimento para baixo para aplicar a fórmula às restantes células, conforme necessário. Isto devolverá a última posição do carácter especificado em cada cadeia de texto, conforme ilustrado abaixo.

arrastar e preencher a fórmula noutras células

Nota: O primeiro argumento ()A2) é a célula de origem com a sua cadeia de texto e o segundo (“-”) é o carácter-alvo. Pode ajustar estes parâmetros conforme necessário. Se não for encontrada nenhuma correspondência, a função poderá devolver 0. Guarde sempre o seu trabalho antes de executar ou editar código VBA. Em caso de erro, verifique se existem aspas mal colocadas ou células referenciadas incorretamente.


Encontrar a primeira ou Ocorrência ocorrência de um carácter com fórmula

Se a sua tarefa consistir em encontrar não apenas a última, mas sim a primeira, segunda ou outra ocorrência específica de um carácter numa cadeia de texto, pode utilizar uma estrutura de fórmula diferente. Esta abordagem é frequentemente essencial ao analisar códigos hierárquicos, extrair partes de identificadores estruturados ou identificar símbolos repetidos em entradas de dados.

1. Para obter a posição n-ésima de um carácter especificado, introduza ou cole a seguinte fórmula numa célula vazia (por exemplo, C2):

=FIND(CHAR(160),SUBSTITUTE(A2,"-",CHAR(160),2))

Nesta fórmula, A2 é a célula a pesquisar, “-” é o carácter a localizar e 2 refere-se à ocorrência do carácter que pretende (por exemplo, 2 para a segunda ocorrência). Pode ajustar o número da ocorrência conforme as necessidades dos seus dados.

obter a enésima ocorrência do carácter com fórmula

2. Prima Enter. Para aplicar a fórmula a mais linhas, arraste a alça de preenchimento até ao intervalo pretendido. Assim obterá a posição — por exemplo, da segunda ocorrência de «-» em cada cadeia de texto. Se o número de ocorrência especificado for superior à contagem total desse caráter na cadeia, a fórmula devolverá um erro. Nesse caso, verifique os seus dados de texto ou o parâmetro de ocorrência.

arrastar e preencher a fórmula noutras células

Nota: O número 2 na fórmula indica a instância da ocorrência que pretende localizar. Ajuste este valor para encontrar a posição da primeira, terceira, quarta ou qualquer outra ocorrência do caráter especificado. Se o caráter não for encontrado tantas vezes quantas as indicadas, será apresentado um erro #VALOR!; pode capturar este erro com SEERRO() para obter resultados mais limpos.


Encontre a primeira ou Ocorrência ocorrência de um caráter específico com uma funcionalidade fácil

Para utilizadores que preferem uma solução direta e interativa ou que não se sentem à vontade a criar fórmulas complexas ou código VBA, o Kutools para Excel oferece uma ferramenta conveniente denominada Localizar a posição da N-ésima ocorrência de um caractere em uma sequência. Esta funcionalidade torna extremamente simples obter a posição da primeira, segunda, terceira ou qualquer outra ocorrência de um caráter específico numa célula — concluindo a tarefa com apenas alguns cliques. Uma verdadeira vantagem para acelerar processos repetitivos de limpeza de dados ou ao trabalhar com grandes conjuntos de dados!

Kutools para Exceloferece mais de 300 funcionalidades avançadas para simplificar tarefas complexas, potenciando a criatividade e a eficiência.Integrado com capacidades de IA, o Kutools automatiza tarefas com precisão, tornando a gestão de dados descomplicada.Informações detalhadas de Kutools para Excel...         Teste gratuito...
Nota:Para aceder à funcionalidade Localizar a posição da N-ésima ocorrência de um caractere em uma sequência, transfira e instale primeiro Kutools para Excel. Após a instalação, poderá utilizar rapidamente esta funcionalidade através da barra de ferramentas.

Após instalar Kutools para Excel, siga estes passos para obter resultados rápidos:

Suponha que pretende obter a posição da segunda ocorrência do caráter hífen «-» num conjunto de cadeias de texto:

1. Clique na célula onde deseja que o resultado apareça.

2. Clique em Kutools > Assistente de Fórmulas > Assistente de Fórmulas na Faixa de Opções, conforme ilustrado abaixo:

clicar na funcionalidade Assistente de Fórmulas do Kutools

3. Na caixa de diálogo Assistente de Fórmulas:

  • Selecione Procurar na lista suspensa Tipo de Fórmula.
  • Escolha Localizar a posição da N-ésima ocorrência de um caractere em uma sequência a partir da lista Selecione uma fórmula.
  • Na área Entrada de Argumento, selecione a célula com o seu texto, introduza o carácter a localizar e indique a ocorrência pretendida.

definir opções na caixa de diálogo Assistente de Fórmulas

4. Clique em OK. Após a fórmula devolver o resultado, pode arrastar a alça de preenchimento para baixo e aplicá-la às restantes linhas, conforme necessário. Este método ajuda-o a evitar o risco de erros causados pela introdução manual da fórmula.

obter o resultado pelo Kutools

Transfira e experimente gratuitamente o Kutools para Excel agora!

Esta opção é particularmente adequada para utilizadores não técnicos ou para quem necessita de repetir frequentemente o processo em diferentes folhas de cálculo, minimizando erros manuais e poupando tempo na construção de fórmulas complexas.


Fórmula alternativa para versões recentes do Excel (com matrizes dinâmicas)

Nas versões mais recentes do Excel (Excel 365, Excel 2021 e posteriores), que suportam matrizes dinâmicas, pode tirar partido de funções como SEQUÊNCIA e FILTRAR para devolver todas as posições de um caráter de uma só vez. Isto facilita a identificação da ocorrência pretendida ou até a listagem de todas as ocorrências num intervalo separado, prontas para posterior processamento.

1. Introduza a seguinte fórmula numa célula vazia (por exemplo, B2) para obter todas as posições do caráter «-» na célula A2:

=FILTER(SEQUENCE(LEN(A2)), MID(A2,SEQUENCE(LEN(A2)),1)="-")

Após premir Enter, a fórmula transbordará automaticamente a posição de cada ocorrência de «-» para as células adjacentes. Se pretender devolver apenas a ocorrência, pode utilizar:

=INDEX(FILTER(SEQUENCE(LEN(A2)), MID(A2,SEQUENCE(LEN(A2)),1)="-"),2)

Substitua 2pelo número da ocorrência pretendida. Este método é especialmente poderoso para matrizes ou listas de comprimento variável, mas exige uma versão do Excel que suporte estas funções.

Dica: Se vir um erro #CALC! ou semelhante, verifique se a sua versão do Excel suporta matrizes dinâmicas e confirme que as células referenciadas contêm dados de texto.


Código VBA para encontrar a posição Ocorrência de um caráter

Se precisar de uma solução para encontrar não só a última, mas qualquer ocorrência de um caractere, o VBA também pode ajudar. A macro seguinte pode ser personalizada para atender a diversas necessidades de análise e poupar tempo quando utilizada repetidamente em múltiplos livros de trabalho.

1. Aceda ao separador Programador > Visual Basic, depois selecione Inserir > Módulo. Cole o código abaixo na janela do módulo:

Function NthPositionOfChar(cell As Range, ch As String, nth As Integer) As Long
    Dim s As String
    Dim i As Long, count As Long
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    s = cell.Value
    count = 0
    For i = 1 To Len(s)
        If Mid(s, i, 1) = ch Then
            count = count + 1
            If count = nth Then
                NthPositionOfChar = i
                Exit Function
            End If
        End If
    Next i
    NthPositionOfChar = 0
End Function

2. Feche o editor e utilize a fórmula =NthPositionOfChar(A2,"-",2) (substitua os argumentos conforme necessário) na sua folha de cálculo para obter a posição da segunda ocorrência do caractere «-» na célula A2. Tenha em atenção que, se essa ocorrência não existir, a função devolverá 0.

Este código é ideal para extrair informações de forma flexível a partir de delimitadores em dados ou para simplificar tarefas repetitivas de análise. As funções personalizadas em VBA podem ainda ser adaptadas a requisitos mais específicos, como procurar caracteres sensíveis a maiúsculas e minúsculas ou trabalhar com conjuntos de dados maiores.


Ao trabalhar com cadeias de texto e posições de ocorrência de caracteres, verifique sempre a presença de caracteres ocultos ou não imprimíveis — como espaços, retornos de carro ou símbolos Unicode especiais — pois podem influenciar os resultados das fórmulas. Além disso, se os seus dados utilizarem vários delimitadores, assegure a sua consistência antes de aplicar fórmulas ou macros. Caso encontre erros, confirme novamente os parâmetros de entrada, as referências nas fórmulas e se o tipo de dados (texto/número) é compatível com a função em uso.

Combinar fórmulas, VBA e as funcionalidades do Kutools oferece uma flexibilidade abrangente para lidar tanto com tarefas rotineiras como com operações avançadas de processamento de texto no Excel. Escolha o método que melhor se ajusta ao seu nível técnico, à versão do Excel e à complexidade dos seus dados para garantir a máxima precisão e eficiência.

Mais artigos relacionados:

  • Extrair todas as palavras exceto a primeira / última no Excel
  • Extrair todas as palavras de uma célula, exceto a primeira ou a última, pode ajudá-lo a remover facilmente termos indesejados. É claro que, nesse caso, você pode copiar manualmente as palavras pretendidas e colá-las noutra célula, uma a uma. Contudo, esse processo torna-se tedioso se tiver de repeti-lo para vários valores de células. Como extrair rapidamente e com facilidade todas as palavras — exceto a primeira ou a última — no Excel?
  • Extrair caracteres da direita para a esquerda numa célula
  • Este artigo mostra como extrair caracteres a partir da direita de uma célula até encontrar um espaço, obtendo assim o resultado pretendido na folha de cálculo do Excel. Uma fórmula útil apresentada neste artigo resolve esta tarefa de forma rápida e fácil.

  • Encontrar a posição da primeira letra minúscula
  • Se tiver uma lista de cadeias de texto que contenham simultaneamente letras maiúsculas e minúsculas, poderá agora querer saber a posição da primeira letra minúscula em cada uma dessas cadeias na folha de cálculo do Excel. Como obter esse resultado rapidamente, sem ter de contar manualmente uma a uma?

As Melhores Ferramentas de Produtividade para o Office

🤖KUTOOLS AI Assistente: Revolucione o Análise de Dados com base em:Execução Inteligente   |  Gerar Código|  Criar fórmulas personalizadas  |  Analisar Dados e Gerar Gráficos|  Invocar Funções Aprimoradas
Funcionalidades Populares:Localizar, Destacar ou Marcar Duplicatas   |  Excluir linhas em branco   |  Combinar Colunas ou Células sem Perder Dados   |   Arredondamento sem usar fórmula...
Super PROC:VLookup com Múltiplos Critérios  |  VLookup com Múltiplos Valores  |   VLookup em Múltiplas Folhas   |   Correspondência Fuzzy....
Lista Suspensa Avançada:Criar Rapidamente Lista de Seleção   |  Lista de Seleção Dependente   |  Lista de Seleção com Múltipla Escolha....
Gestor de Colunas:Adicionar um Número Específico de Colunas|Mover Colunas|Alternar Estado de Visibilidade de Colunas Ocultas|Comparar Intervalos e Colunas...
Funcionalidades em Destaque:Grade de foco   |  Visualização de Design   |Barra de fórmulas aprimorada   | Gestor de Pastas de Trabalho e Folhas   |  Biblioteca de Recursos(Texto Automático)|  Seleção de Data   |  Consolidar Planilhas  |  Encriptar/Descriptografar Células   | Enviar Emails por Lista   |  Super Filtro   |   Filtro Especial(Filtrar Células com Fonte em Negrito/itálico/rasurado...) ...
Principais Conjuntos de Ferramentas 15:12 Ferramentasde Texto(Adicionar Texto,Excluir Caracteres Específicos, ...)|   50+Tiposde Gráfico(Gráfico de Gantt, ...)|   40+ Fórmulas Práticas(Calcular a idade com base na data de nascimento, ...)|   19 Ferramentasde Inserção(Inserir QR Code,Inserir Imagem a Partir do Caminho, ...)|   12 Ferramentasde Conversão(Converter em Palavras,Conversão de moeda, ...)|   7 Ferramentasde Mesclar e Dividir(Mesclar Linhas Avançado,Dividir Células, ...)|... e muito mais
Utilize o Kutools na sua língua preferida – suporta inglês, espanhol, alemão, francês, chinês e mais 40+ idiomas!

Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...


Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil

  • Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
  • Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!

Todos os suplementos Kutools — num único instalador.

Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.

ExcelWordOutlookTabsPowerPoint
  • Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
  • Um instalador, uma licença— configuração em minutos (pronto para MSI)
  • Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
  • Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
  • Melhor relação qualidade-preço— poupe face à compra individual dos suplementos