Я пытаюсь найти таблицу данных в Excel и найти самую нижнюю строку, которая соответствует определенному критерию. Я думал, что могу использоватьэтот трюк LOOKUPно он возвращает только #DIV/0
ошибку. Вот что я попробовал:
=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)
Критерий заключается в том, что значение в столбце Data!I
должно находиться в определенном диапазоне значения в, Calc!D2
а значение в столбце Data!J
должно быть равно значению в значении вCalc!A6
Я бы хотел по возможности избегать VBA (именно поэтому я на SU, а не на SO).
решение1
Вы можете использовать формулу массива, которая вводится нажатием клавишиctrl+shift+enter
Чтобы найти нужную строку, используйте:
> =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))
если вы хотите вернуть определенную ячейку, заключите приведенную ниже формулу в интересующий вас столбец вместо A
=indirect("A" & formula here)