Estou tentando pesquisar uma tabela de dados no Excel e encontrar a linha inferior que atenda a um critério específico. Eu pensei que poderia usareste truque LOOKUPmas só retorna um #DIV/0
erro. Isto é o que eu tentei:
=LOOKUP(2,1/AND(ABS(Data!$I$2:$I$976-Calc!$D$2)<Calc!$F$1,Calc!$A6=Data!$J$2:$J$976),Data!$G$2:$G$976)
O critério é que o valor na coluna Data!I
precisa estar dentro de um determinado intervalo do valor em Calc!D2
e o valor na coluna Data!J
precisa ser igual ao valor no valor emCalc!A6
Gostaria de evitar o VBA, se puder (é por isso que estou no SU e não no SO).
Responder1
Você pode usar uma fórmula de matriz que é inserida pressionandoctrl+shift+enter
Para encontrar a linha em questão você usaria:
> =max(if(ABS(Data!$I$2:$I$976-Calc!$D$2)<Calc!$F$1,if(Data!$J$2:$J$976=Calc!$A6,row(Data!$I$2:$I$976),0),0))
se você deseja retornar uma célula específica, coloque a fórmula abaixo em torno dela com a coluna de seu interesse, no lugar de A
=indirect("A" & formula here)