
Tenho 2 planilhas no excel.
Um campo possui campos de data.
por exemplo A-1 Data1
2ª planilha tenho intervalos de datas com IDs.
A-1 StartDate A2- EndDate A3-ID do intervalo de datas
Preciso criar um novo campo na primeira planilha que conterá o Range ID do Date1 .
Por exemplo, na 2ª folha, tenho o intervalo A1-1º de maio de 2017 A2-30 de maio de 2017 A3-7
Na primeira planilha A1-3 de maio de 2017. Quero ter uma nova coluna na minha primeira planilha que terá o valor 7.
Como posso fazer isso no Excel?
Responder1
Como já foi afirmado por @Ron Rosenfeld, se o intervalo na Planilha2 incluir todas as datas na Planilha1 e não houver sobreposição, o VLOOKUP simples deve funcionar. No entanto, se o seu intervalo de datas na Planilha2 não estiver necessariamente em ordem crescente e com lacunas entre eles e possivelmente sobrepostos. Experimente esta solução. A limitação é que ele deve retornar o primeiro ID do intervalo para o intervalo de datas em que os dados da Planilha1 estão dentro do intervalo.
Neste exemplo, Sheet1 tem datas na coluna A1:A10. Planilha2 tem data de início em A1:A7, data de término em B1:B7 e ID do intervalo em C1:C7.
Na Planilha1, Célula B1, coloque a seguinte Fórmula de Matriz.
=IF(ISERROR(INDEX(Sheet2!$C$1:$C$7,MATCH(1,IF(A1>=Sheet2!$A$1:$A$7,IF(A1<=Sheet2!$B$1:$B$7,1,0)),0))),"Not Found",INDEX(Sheet2!$C$1:$C$7,MATCH(1,IF(A1>=Sheet2!$A$1:$A$7,IF(A1<=Sheet2!$B$1:$B$7,1,0)),0)))
Depois disso, pressione a tecla CTRL+SHIFT+ENTER para torná-la uma fórmula de matriz. Agora você verá a fórmula entre chaves na barra de endereço. Agora arraste-o para baixo até as linhas desejadas. Agora a Coluna B deverá buscar os respectivos IDs de intervalo da Planilha2, onde a data na Coluna A se enquadra no intervalo.
A fórmula é baseada na verificação de IFs aninhados para retornar uma matriz de TRUE, FALSE com base no intervalo correspondente e usar um INDEX-MATCH externo para buscar a primeira posição de correspondência 1 e retornar o valor nessa posição da coluna Range ID.