Página 1 de 1

Função EXT.TEXTO , PROCURAR com critério de exceto

Enviado: 23 Dez 2021 às 11:28
por rornasci
Bom dia

Pessoal, primeiro gostaria de agradecer a oportunidade de fazer parte desse grupo e já realizar a minha primeira duvida, que pode ser de mais alguém.

Estou com uma dificuldade referente a um levantamento de dados, pois os mesmos são preenchidos por varias pessoas e sem um padrão pré-definido, portanto passível de erros. Preciso extrair de um texto 9 caracteres numéricos que começam com os dígitos "4000" sendo que os restantes não possuem padrão (pode ser qualquer numero) , no entanto consegui realizar essa tarefa utilizando-se da seguinte formula =(EXT.TEXTO(A2;PROCURAR("4000";A2);9)).

Quando fui aplica-la me deparei com a seguinte situação, no mesmo texto possuir dois textos começando com "4000" , por padrão o Excel retorna o primeiro, porem no meu caso esse primeiro numero possui um carácter "-" o que esta errado, então deveria ser o próximo.

Segue em anexo uma planilha com um exemplo da formula aplicada, sendo que as células pintadas de verde estão corretas e a em amarelo propositalmente foi incluída com o valor errado para exemplificar minha dificuldade.

Nota: Onde estou só posso utilizar o excel 2007.

Re: Função EXT.TEXTO , PROCURAR com critério de exceto

Enviado: 23 Dez 2021 às 14:11
por DJunqueira
Eu adicionei uma procura por códigos começando por "200" tb:
Código: Selecionar todos
=SE(ÉERRO(PROCURAR("-";EXT.TEXTO(A2;PROCURAR("4000";A2);9)));SEERRO(EXT.TEXTO(A2;PROCURAR("4000";A2);9);SEERRO(EXT.TEXTO(A2;PROCURAR("200";A2);9);0));SEERRO(EXT.TEXTO(A2;PROCURAR("4000";A2;9);9);0))
Mas se não quiser:
Código: Selecionar todos
=SE(ÉERRO(PROCURAR("-";EXT.TEXTO(A174;PROCURAR("4000";A174);9)));SEERRO(EXT.TEXTO(A174;PROCURAR("4000";A174);9);0);SEERRO(EXT.TEXTO(A174;PROCURAR("4000";A174;9);9);0))

Re: Função EXT.TEXTO , PROCURAR com critério de exceto

Enviado: 23 Dez 2021 às 20:52
por osvaldomp
Olá, @rornasci .

Segue uma sugestão de fórmula compacta.
Código: Selecionar todos
=EXT.TEXTO(A2;PROC(2^15;PROCURAR("4000";A2;LIN(INDIRETO("1:"&NÚM.CARACT(A2)))));9)
#
Ou, se você preferir tratar o erro caso "4000" não exista na célula:
Código: Selecionar todos
=SEERRO(EXT.TEXTO(A2;PROC(2^15;PROCURAR("4000";A2;LIN(INDIRETO("1:"&NÚM.CARACT(A2)))));9);"NÃO ENCONTRADO")

Re: Função EXT.TEXTO , PROCURAR com critério de exceto

Enviado: 26 Dez 2021 às 11:01
por rornasci
Bom dia

Obrigado, @DJunqueira e @osvaldomp , a solução apresentadada por voces me atendeu perfeitamente.

Feliz natal e prospero ano novo.
Apenas por curiosidade, existem alguma maneira de eu restringir a formula para buscar nos 9 dígitos apenas números?

Mais uma vez obrigado, pelo apoio.

Re: Função EXT.TEXTO , PROCURAR com critério de exceto

Enviado: 26 Dez 2021 às 13:54
por osvaldomp
rornasci escreveu: 26 Dez 2021 às 11:01 Feliz natal e prospero ano novo.
Feliz NataL (de 2022) também pra você e próspero Ano Novo.

... buscar nos 9 dígitos apenas números?
Me parece que você quis dizer buscar nos 9 caracteres apenas dígitos, é isso?
Sugestão: disponibilize uma planilha com alguns dados representativos e com os respecitivos resultados desejados.

Re: Função EXT.TEXTO , PROCURAR com critério de exceto

Enviado: 28 Dez 2021 às 11:31
por DJunqueira
rornasci escreveu: 26 Dez 2021 às 11:01 Bom dia
Obrigado, @DJunqueira e @osvaldomp , a solução apresentadada por voces me atendeu perfeitamente.
Feliz natal e prospero ano novo.
Apenas por curiosidade, existem alguma maneira de eu restringir a formula para buscar nos 9 dígitos apenas números?
Mais uma vez obrigado, pelo apoio.
Feliz natal e prospero ano novo p/ vc tb.

Re: Função EXT.TEXTO , PROCURAR com critério de exceto

Enviado: 30 Dez 2021 às 15:21
por rornasci
Boa tarde

@osvaldomp me parece que a formula que você propôs faz exatamente o que eu perguntei no meu segundo post.
Fiz uma adaptação usando a sua formula como referencia na procura dos "4000" e "200" somente com números e inclui vários erros para mapear a possibilidade de outros caracteres, ficando assim no final, essa condição me atendeu perfeitamente , porem fiquei com umas duvidas por não conhecer o método que você usou.
Código: Selecionar todos
=SEERRO(EXT.TEXTO(A2;PROC(2^15;PROCURAR("4000";A2;LIN(INDIRETO("1:"&NÚM.CARACT(A2)))));9);(EXT.TEXTO(A2;PROC(2^15;PROCURAR("200";A2;LIN(INDIRETO("1:"&NÚM.CARACT(A2)))));9)))
Obrigado, mais uma vez, você poderia me explicar o "2^15" e o "1:" dessa formula, eu não entendi muito bem.
Anexei um arquivo, e destaquei em vermelho a parte da formula que não entendi. grato.