Notifications
Clear all

Ajuda com EXT.TEXTO com LOCALIZAR

9 Posts
2 Usuários
0 Reactions
1,783 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia pessoal!

Preciso extrair os códigos de uma grande base de dados que estão localizados logo apos a palavra "AMP:" (vide exemplo abaixo em negrito).

Gostaria de aninhar em uma unica formula o LOCALIZAR + EXT.TEXTO para que o Excel extraia os números ate o próximo espaço, já que os codigos ora tem 10 caracteres, ora 11 ou 12...

Exemplo:

TUBO DE PLASTICO NaO REFORcADO SEM CONEXaO. (CODIGO INTERNO AMP: 5053204041 -2466091136 -628986001).

Um abraço!

Eduardo

 
Postado : 15/02/2014 9:47 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Talvez assim; experimente (supondo que o texto esteja em E1):
=ARRUMAR(EXT.TEXTO(E1;LOCALIZAR("AMP";E1;1)+5;(LOCALIZAR("-";E1;1)-1)-(LOCALIZAR("AMP";E1;1)+5)))

 
Postado : 16/02/2014 5:36 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia Reinaldo!

Muito obrigado por ter respondido tão rápido, a formula está quase 100%, mas existem algumas linhas que possuem códigos com "traço", conforme exemplo abaixo, e nessas situações a formula só contempla os números antes do traço (1488787).

PECAS PLASTICAS PARA ISOLAMENTO ELETRICO. (CODIGO INTERNO AMP: 1488787-2 -2501640828 -752294003)

Um abraço!

Eduardo

 
Postado : 17/02/2014 6:49 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bem se a composição do texto for sempre conforme os excemplos, pode experimentar assim
=ARRUMAR(EXT.TEXTO(E1;LOCALIZAR("AMP";E1;1)+5;(LOCALIZAR(" -";E1;1))-(LOCALIZAR("AMP";E1;1)+5)));
Nota: Apesar de "parecer" estar considerando um espaço em branco e o hifen, na realidade, nos exemplos postados :
TUBO DE PLASTICO NaO REFORcADO SEM CONEXaO. (CODIGO INTERNO AMP: 5053204041 -2466091136 -628986001)
PECAS PLASTICAS PARA ISOLAMENTO ELETRICO. (CODIGO INTERNO AMP: 1488787-2 -2501640828 -752294003)
Está um carácter 160 e não o espaço que é carácter 32

Veja no anexo

 
Postado : 17/02/2014 7:25 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bem se a composição do texto for sempre conforme os excemplos, pode experimentar assim
=ARRUMAR(EXT.TEXTO(E1;LOCALIZAR("AMP";E1;1)+5;(LOCALIZAR(" -";E1;1))-(LOCALIZAR("AMP";E1;1)+5)));
Nota: Apesar de "parecer" estar considerando um espaço em branco e o hifen, na realidade, nos exemplos postados :
TUBO DE PLASTICO NaO REFORcADO SEM CONEXaO. (CODIGO INTERNO AMP: 5053204041 -2466091136 -628986001)
PECAS PLASTICAS PARA ISOLAMENTO ELETRICO. (CODIGO INTERNO AMP: 1488787-2 -2501640828 -752294003)
Está um carácter 160 e não o espaço que é carácter 32

Veja no anexo

Reinaldo, como a base é muito grande, identifiquei também que existe um caracter 70, vide exemplo abaixo... Nessas casos a formula retorna 184140-1 - 2466110661.

"FORMAS E ARTIGOS DE BORRACHA. (CODIGO INTERNO AMP: 184140-1
- 2466110661 -635132001)"

Tem como tratar essa ocorrência também ou e melhor arrumar o campo da descrição da mercadoria excluindo todos esses caracteres?

 
Postado : 17/02/2014 7:42 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Se não houver mais variações experimente: =ARRUMAR(EXT.TEXTO(E3;LOCALIZAR("AMP";E3;1)+5;(SEERRO(LOCALIZAR(" -";E3;1);LOCALIZAR("- ";E3;1)))-(LOCALIZAR("AMP";E3;1)+5)))

 
Postado : 17/02/2014 8:40 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Também não deu certo Reinaldo!

Dei uma olhada e tenho os seguintes códigos nessa planilha: 77;79;49;56;51;67;54;48;50;55;53;57;70;69;52.

Se arrumarmos a descrição para tirarmos esses caracteres, corre o risco de perdemos os espaços antes e depois do "AMP:"?

 
Postado : 17/02/2014 11:33 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Se a variação é assim expressiva, convém padroniza-las. Dependendo da forma como for efetuada não haverá perda nenhuma.

 
Postado : 17/02/2014 12:04 pm
(@fernandon)
Posts: 1
New Member
 

E Se você usar algo do tipo:=EXT.TEXTO(EXT.TEXTO(B1;LOCALIZAR("AMP";B1;1)+5;NÚM.CARACT(B1)-LOCALIZAR("AMP";B1;1));1;LOCALIZAR(" ";EXT.TEXTO(B1;LOCALIZAR("AMP";B1;1)+5;NÚM.CARACT(B1)-LOCALIZAR("AMP";B1;1));1))

 
Postado : 17/02/2014 7:42 pm