Notifications
Clear all

Extrair número específico com referência de texto.

9 Posts
3 Usuários
0 Reactions
1,233 Visualizações
erlan
(@erlan)
Posts: 6
Active Member
Topic starter
 

Pessoal boa tarde, tudo bem?
É o seguinte. Temos um trabalho aqui de conciliação contábil de uma conta de clientes de um ano inteiro. No total são 280.000 linhas. É desumano fazer isto manualmente.
No passado eu já tinha conseguido fazer uma extração do número de documento de dentro do histórico do razão, concatenar com valor e assim, fazendo concatenação dos valores a crédito com o número do documento e concatenando os valores de débitos com o número de documento, criava-se uma variável que usava no PROCV depois e pronto cruzava vários valores e diminuía bastante o número de linhas.

O PROBLEMA agora é que eu não só tenho o número de documento, há também datas de vencimento dentro do histórico, e às vezes o número do documento é precedido de NF, DUPL, ou DOCUMENTO.

Então a dificuldade é, eu dizer ao excel:"me extrai o primeiro número que você identificar depois de você achar esse texto "NF", "DUPL" ou "DOCUMENTO". Acho que dá para usar =SE, mas como digo a ele "se identificar extrai os números logo após o texto".

ME ajudem amadurecer esse raciocínio por favor, depois patenteamos, akakakk.

Abraço!

 
Postado : 15/04/2015 2:55 pm
Issamu
(@issamu)
Posts: 605
Honorable Member
 

Creio que é possível fazer isso sim, mas poste um modelo ou pelo menos um texto como exemplo.

Rafael Issamu F. Kamimura
Moderador Oficial Microsoft Community - MCC (Contribuidor do Microsoft Community)
http://zip.net/bjrt0X - http://zip.net/bhrvbR
Foi útil? Clique na mãozinha
Conheça: http://excelmaniacos.com/

 
Postado : 15/04/2015 3:04 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Complementando a resposta do Rafael, seu modelo tem que ser compactado e por favor, remova 279.950 linhas, envie só com no máximo 50, pq já é suficiente para termos ideia e conseguirmos ajudar.

Se necessário, para não distribuir dados confidenciais pela internet, bagunce os dados, troque nomes, mude valores, etc

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 15/04/2015 9:51 pm
Issamu
(@issamu)
Posts: 605
Honorable Member
 

Olá Erlan!
Seguindo a frase "me extrai o primeiro número que você identificar depois de você achar esse texto "NF", "DUPL" ou "DOCUMENTO", eu desenvolvi uma lógica para extrair este número.

Veja se é aplicável à sua atividade.

Rafael Issamu F. Kamimura
Moderador Oficial Microsoft Community - MCC (Contribuidor do Microsoft Community)
http://zip.net/bjrt0X - http://zip.net/bhrvbR
Foi útil? Clique na mãozinha
Conheça: http://excelmaniacos.com/

 
Postado : 16/04/2015 5:48 am
Issamu
(@issamu)
Posts: 605
Honorable Member
 

Refiz as fórmulas para diminuir a vulnerabilidade diante de algumas situações que identifiquei que podem ocorrer, como situações que não há espaçamento entre o número procurado e as palavras anteriores e posteriores e o número ser o último elemento da frase. Na versão anterior teria problema nestas situações.

A fórmula única ficou:

=SEERRO(VALOR(SUBSTITUIR(EXT.TEXTO(A5;ESCOLHER(CORRESP(MÍNIMO(SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1)));SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));0);MÍNIMO(SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1)))+2;MÍNIMO(SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1)))+4;MÍNIMO(SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1)))+9);SE(MÍNIMO(SE(EXT.TEXTO(A5;LIN(INDIRETO(ESCOLHER(CORRESP(MÍNIMO(SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1)));SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));0);MÍNIMO(SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1)))+2;MÍNIMO(SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1)))+4;MÍNIMO(SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1)))+9)&":"&NÚM.CARACT(A5)));1)>="a";LIN(INDIRETO(ESCOLHER(CORRESP(MÍNIMO(SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1)));SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));0);MÍNIMO(SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1)))+2;MÍNIMO(SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1)))+4;MÍNIMO(SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1)))+9)&":"&NÚM.CARACT(A5)));""))=0;NÚM.CARACT(A5)+1;MÍNIMO(SE(EXT.TEXTO(A5;LIN(INDIRETO(ESCOLHER(CORRESP(MÍNIMO(SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1)));SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));0);MÍNIMO(SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1)))+2;MÍNIMO(SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1)))+4;MÍNIMO(SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1)))+9)&":"&NÚM.CARACT(A5)));1)>="a";LIN(INDIRETO(ESCOLHER(CORRESP(MÍNIMO(SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1)));SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));0);MÍNIMO(SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1)))+2;MÍNIMO(SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1)))+4;MÍNIMO(SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1)))+9)&":"&NÚM.CARACT(A5)));"")))-ESCOLHER(CORRESP(MÍNIMO(SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1)));SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));0);MÍNIMO(SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1)))+2;MÍNIMO(SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1)))+4;MÍNIMO(SE(ÉERROS(LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1));"";LOCALIZAR({"NF""DUPL""DOCUMENTO"};A5;1)))+9));" ";""));"")

Rafael Issamu F. Kamimura
Moderador Oficial Microsoft Community - MCC (Contribuidor do Microsoft Community)
http://zip.net/bjrt0X - http://zip.net/bhrvbR
Foi útil? Clique na mãozinha
Conheça: http://excelmaniacos.com/

 
Postado : 16/04/2015 7:53 am
erlan
(@erlan)
Posts: 6
Active Member
Topic starter
 

Obrigado a todos pelas respostas, vocês são o máximo.

Issamu, você é muito fera, quando crescer quero ser assim, kkk...

Eu fiz uns testes com a formula que me enviou, pode me ajudar (mais??...rsrsrs) com as seguintes observações:

Fiz o teste nas 3 primeiras linhas:
1 - nas duas primeiras eu gostaria de alterar a extração do numero para seis números: ou seja, tirar a barra
2 - na terceira, tenho outra variável de texto que seria "NOTA :", tentei inserir alternado a formula, mas so deu certo na primeira coluna, nao sei porque nao puxou nas outras colunas

obrigado !!!

 
Postado : 17/04/2015 8:12 am
Issamu
(@issamu)
Posts: 605
Honorable Member
 

Fiz umas alterações. Veja se o modelo te atende.

Você tem alguma ligação com a Hyundai?

Abs!

Rafael Issamu F. Kamimura
Moderador Oficial Microsoft Community - MCC (Contribuidor do Microsoft Community)
http://zip.net/bjrt0X - http://zip.net/bhrvbR
Foi útil? Clique na mãozinha
Conheça: http://excelmaniacos.com/

 
Postado : 17/04/2015 1:01 pm
erlan
(@erlan)
Posts: 6
Active Member
Topic starter
 

Obrigado Rafael Kamimura,

Vocês fez cursos de Excel?

A Hyundai é cliente em um projeto aqui.

Vou fazer os testes e lhe posiciono, obrigado mesmo. Você é rico... kkk

 
Postado : 17/04/2015 2:18 pm
erlan
(@erlan)
Posts: 6
Active Member
Topic starter
 

Serviu de maravilha Rafael, muito obrigado mesmo.
Das 300 mil linhas eliminou-se 70 mil. No resto não tenho variáveis compatíveis entre débitos e créditos. Agora vou fazer o seguinte: vou cruzar só pelo valor, vou fazer uma formula que conte quantas vezes se repete cada valor se for o caso né, e ai criar uma chave para cruzar débitos e créditos.

Abraço!!!

 
Postado : 22/04/2015 2:33 pm