Usuário com melhor resposta
Encontrar uma(a primeira) correspondência após uma data

Pergunta
-
Boa Tarde Pessoal, estou com uma incógnita no excel, tentei fazer via VBA e fórmulas porém não encontrei um jeito de realizar.
É o seguinte: Possuo duas base de dados
base 1 - Coluna chave e uma data
base 2 - Coluna com a mesma chave só que uma mesma chave com várias datas diferentes
Preciso procurar da base 1 e encontrar na 2 a primeira data após a data da base 1
Como se fosse um PROCV porém sem retornar o primeiro valor encontrado, e sim com uma condição:
Buscar e encontrar o primeiro valor após a Data de Tratamento:
Segue exemplo:
Base 1
Ativo Data tratamento da ocorrência/ Data da primeira ocorrência após a de tratamento 0522708HFE 16/05/2018 0523194HFE 07/05/2018 0523194HFE 09/05/2018 0527971HFE 06/05/2018 Base 2
Loc. Data ocorrência 0527971HFE 29/05/2018 0527971HFE 16/05/2018 0527971HFE 03/05/2018 0527971HFE 02/05/2018 0527971HFE 25/04/2018 Neste caso eu queria que encontrasse a primeira data após a Data de Tratamento, que seria 16/05/2018.
Se alguém souber de algum jeito por favor!!!
Respostas
-
Boa tarde Alexandre.
O seu problema parece ser adequado para o uso de fórmulas matriciais (Ctrl+Shift+Enter). Basicamente a ideia seria obter o mínimo entre os registros que tenham a mesma chave e que a data seja maior que a de referência. Seria algo do tipo:{=MÍNIMO(SE((A3=$A$11:$A$15)*($B$11:$B$15>B3);$B$11:$B$15;1000000))}
A fórmula em questão pode ser melhorada, como por exemplo para a avaliação se a chave existe ou não (no caso, ela retornará o resultado 1000000=26/11/4637, como na imagem abaixo).
Desta forma atende?
Filipe Magno
- Marcado como Resposta alexandre wojciechowski domingo, 3 de junho de 2018 17:08
Todas as Respostas
-
Boa tarde Alexandre.
O seu problema parece ser adequado para o uso de fórmulas matriciais (Ctrl+Shift+Enter). Basicamente a ideia seria obter o mínimo entre os registros que tenham a mesma chave e que a data seja maior que a de referência. Seria algo do tipo:{=MÍNIMO(SE((A3=$A$11:$A$15)*($B$11:$B$15>B3);$B$11:$B$15;1000000))}
A fórmula em questão pode ser melhorada, como por exemplo para a avaliação se a chave existe ou não (no caso, ela retornará o resultado 1000000=26/11/4637, como na imagem abaixo).
Desta forma atende?
Filipe Magno
- Marcado como Resposta alexandre wojciechowski domingo, 3 de junho de 2018 17:08
-
-
Boa tarde Alexandre.
A lógica é bem simples: o operador de multiplicação "*" faz o papel lógico de "&", ou seja, a função "SE" retornará verdadeiro para todos os elementos que forem verdadeiros no primeiro parênteses ao mesmo tempo que forem verdadeiros no segundo. Lembre-se que para o Excel uma análise do tipo "A1=B1" retorna ou "Verdadeiro" ou "Falso", que pode ser entendido também como "1" ou "0". Assim "1*1 = 1", "1*0 = 0*1 = 0*0 = 0".
Para visualizar melhor utilize a ferramenta: Fórmulas>>Avaliar Fórmula.
Compreendeu?
Abraço.
Filipe Magno