Notifications
Clear all

Fórmula e macro para pesquisa com 2 critérios

3 Posts
1 Usuários
0 Reactions
1,137 Visualizações
(@wagner-aft)
Posts: 28
Eminent Member
Topic starter
 

Pessoal,

Mais uma vez venho pedir a valorosa ajuda de vocês. Tenho uma tabela com cerca de 300 mil linhas. Cada uma dessas linhas tem um CNPJ e pra cada CNPJ existe um REGISTRO e uma COMPETÊNCIA (AnoEmês). O CNPJ pode se repetir inúmeras vezes. Os REGISTROS não se repetem.
Estava utilizando a fórmula matricial INDICE e CORRESP que aprendi aqui no fórum, porém depois percebi que a minha planilha pra ficar boa precisava de pesquisar com outra condição (CNPJ e Competência). Aí não soube como fazer.

Então, preciso do seguinte:
1) Pesquisar um CNPJ qualquer e obter o retorno da relação completa dos REGISTROS existentes, e opção de pesquisar um CNPJ RAIZ (são os 8 primeiros números do CNPJ) qualquer e obter o retorno da relação completa dos REGISTROS existentes;

2) Possibilidade de delimitação do período de busca, de modo que eu possa pesquisar um CNPJ ou CNPJ RAIZ a partir de uma determinada competência e obter a relação de todos os registros a partir dessa competência;

3) Gostaria que funcionasse da seguinte forma:
a. Digito os dados delimitadores da pesquisa, que podem ser: 1) apenas CNPJ; 2) CNPJ e competência inicial para pesquisa; 3) apenas CNPJ RAIZ; 4)CNPJ RAIZ e competência inicial para pesquisa;;
b. Clique no botão para rodar uma macro pra executar a pesquisa. Porém, gostaria que a macro poderia funcionar da seguinte forma:
i. Verificados os dados para pesquisa ela preencheria a coluna “Nº de Ordem” com o total de ocorrências encontradas em sequência , onde em cada linha será retornado o resultado da pesquisa;
ii. A macro replicaria a fórmula de pesquisa dos dados apenas na quantidade de linhas iguais à quantidade de ocorrências. Peço isso pois na minha planilha original o CNPJ chega se repetir quase 500 vezes. Se deixar todas as 500 linhas com a fórmula pronta para pesquisa ela vai deixar a planilha muito lenta.

Vou anexar uma planilha de exemplo. Lembrando que a original tem cerca de 220 megas e mais de 300 mil linhas.

 
Postado : 30/01/2017 8:39 pm
(@wagner-aft)
Posts: 28
Eminent Member
Topic starter
 

Boa tarde.
Ninguem conseguiu bolar algo?!
Estava pensando aqui na possibilidade de uma solução, mas dependeria de saber se é possível e como fazer o seguinte:

Tem como definir uma célula (C1 por exemplo) a partir da utilização de fórmulas? Explico:
Digamos que a célula C1 seja preenchida com um determinado número (999999) e quero utilizar o célula C1 como "valor procurado" na função PROCV, mas preciso usar C1 como valor procurado a partir de um resultado de uma outra fórmula. Digamos que o resultado da Função ÍNDICE(D7:E7;1) seja 1, então a função PROCV seria assim =PROCV(C&ÍNDICE(D7:E7;1);BASE!A:D;3;FALSO). É possível?

Tentei assim mas deu erro.

 
Postado : 31/01/2017 12:54 pm
(@wagner-aft)
Posts: 28
Eminent Member
Topic starter
 

Descobri uma alternativa usando CONCATENAR, CORRESP e INDIRETO.

Parte do meu problema já está resolvido. Preciso de ajuda sobre como fazer a macro para

i. Verificados os dados para pesquisa ela preencheria a coluna “Nº de Ordem” com o total de ocorrências encontradas em sequência , onde em cada linha será retornado o resultado da pesquisa;
ii. A macro replicaria a fórmula de pesquisa dos dados apenas na quantidade de linhas iguais à quantidade de ocorrências. Peço isso pois na minha planilha original o CNPJ chega se repetir quase 500 vezes. Se deixar todas as 500 linhas com a fórmula pronta para pesquisa ela vai deixar a planilha muito lenta.

 
Postado : 31/01/2017 1:59 pm