Exemplo de trabalho mínimo.
Suponha que o
os preços estão em C5:C23
, então este
fórmula de matriz
em D5
:
=MAX(INDIRECT("C"&ROW()&":C"&(ROW()+MATCH(-1,SIGN(C5:$C$23-C5),FALSE)-2)))
resultados copiados para baixo:
Notequeoserros#N/A
sãosignificativos,sinalizamqueabaixonãohápreçomenordoqueissonacolunaC
àesquerdadacélulacom#N/A
.
**Editar**Comentários
Opontochaveélocalizarumalinhacomopreçoqueémenorquenalinhaatual(C5
).Um"índice de queda" - o número de linhas da linha atual
até a linha onde o preço é menor. Uma função
=MATCH(-1,SIGN(C5:$C$23-C5),FALSE)
retorna o número da linha (contando a linha atual como 1
)
para o qual ele encontra a primeira correspondência exata ( -1
)
na matriz, que é preenchida
com os sinais de diferença
entre a matriz de preços abaixo ( C5:$C$23
)
e o preço atual ( C5
).
Dado que "drop index", é simples para construir uma referência de texto do intervalo antes de soltar:
=("C"&ROW()&":C"&(ROW()+MATCH(-1,SIGN(C5:$C$23-C5),FALSE)-2))
e, em seguida, use INDIRECT()
para converter este texto em referência
e encontre o máximo desejado com MAX()
.