Fórmula do Excel: Encontre a enésima ocorrência do caractere -

Fórmula genérica

=FIND(CHAR(160),SUBSTITUTE(text,"@",CHAR(160),N))

Resumo

Para localizar a enésima ocorrência de um caractere em uma string de texto, você pode usar uma fórmula baseada nas funções FIND e SUBSTITUTE. No exemplo mostrado, a fórmula em D5 é:

=FIND(CHAR(160),SUBSTITUTE(B5,"@",CHAR(160),C5))

Explicação

Neste exemplo, estamos procurando a enésima ocorrência do caractere "@".

Trabalhando de dentro para fora, primeiro usamos a função SUBSTITUTE para substituir a enésima ocorrência de "@" por CHAR (160):

SUBSTITUTE(B5,"@",CHAR(160),C5)

A função SUBSTITUTE tem um quarto argumento opcional chamado número da instância que pode ser usado para especificar a instância que deve ser substituída. Este número vem da coluna C.

SUBSTITUTE então substitui a enésima ocorrência de "@" por CHAR (160), que resolve para "†". Usamos CHAR (160) porque normalmente não aparecerá em texto. Você pode usar qualquer caractere que você sabe que não existirá no texto. Para uma demonstração da função CHAR, veja este vídeo.

Finalmente, o caractere FIND procura CHAR (160) e retorna a posição.

Nota: Eu desenvolvi este exemplo em um Mac originalmente, onde CHAR (160) se transforma em uma adaga (†). No Windows, use CHAR (134) para um caractere adaga.

Bons links

Encontrando a enésima ocorrência de um personagem (Allen Wyatt)

Artigos interessantes...