我正在尝试在 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+回车
要找到有问题的行,您可以使用:
> =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)