Eu tenho um arquivo Excel que rastreia a elevação máxima do sol ao longo do ano, uma linha por dia, dada uma lat/lon específica. Se eu editar lat/lon, a elevação máxima diária muda.
Gostaria de escrever uma fórmula que consulte todo o banco de dados (2 colunas, 366 linhas) e me forneça o dia em que o sol começa a atingir uma determinada elevação e, novamente, quando ele não atinge mais essa elevação.
Por exemplo, Honolulu experimentará um ângulo máximo de elevação solar de 80 graus em 1º de maio, permanecendo em 80 graus ou mais (uma vez por dia) até 19 de agosto, quando cairá abaixo de 80 graus novamente.
Gostaria de uma função Excel que gerasse essas duas datas, visto que já tenho os dados de elevação.
Obrigado!
Responder1
A solução aqui é usar uma combinação de INDEX()
e MATCH()
em uma fórmula de matriz.
Escrevi duas fórmulas de matriz que resolvem o problema.
Data de início:
{=INDEX(Dates, MATCH(TRUE, (Elevation>=Find_Elevation), 0), 1)}
Data final:
{=INDEX(Dates, MATCH(TRUE, (Elevation>=Find_Elevation), 1), 1)}
Aqui está como eles funcionam
Elevation
é um intervalo nomeado que contém todas as elevações do ano,Find_Elevation
é um intervalo nomeado que é o que procuramos. No seu exemplo, isso é80
- A expressão
(Elevation>=Find_Elevation)
retorna uma matriz deTRUE
eFALSE
(é por isso que precisa ser uma fórmula de matriz). Ele retornaTRUE
sempre que a elevação de cada dia for maior ou igual à elevação que você está procurando. - A
MATCH()
função com terceiro argumento0
retorna o índice da primeira vez que vêTRUE
. Este é o índice do primeiro dia em que o sol está acima da elevação que você procura. - Usar o terceiro argumento
1
naMATCH()
função faz com que ele retorne na última vez que for vistoTRUE
. Este é o índice do último dia em que o sol esteve acima da elevação que você procura. - Passamos ambos como segundo argumento para
INDEX()
e ele retorna a data correspondente ao valor retornado porMATCH()
Usei FormulaChop para gerar as fórmulas acima (Divulgação completa: escrevi FormulaChop). Aquié uma captura de tela de como o FormulaChop exibe esta fórmula.Aquié um link para uma planilha que demonstra a fórmula. Por favor, desculpe o fato de que tive que compensar as elevações solares.