Ich versuche, eine Datentabelle in Excel zu durchsuchen und die unterste Zeile zu finden, die ein bestimmtes Kriterium erfüllt. Ich dachte, ich könnte verwendendieser LOOKUP-Trickaber es wird nur ein #DIV/0
Fehler zurückgegeben. Folgendes habe ich versucht:
=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)
Das Kriterium ist, dass der Wert in der Spalte Data!I
innerhalb eines bestimmten Bereichs des Wertes in liegen muss Calc!D2
und dass der Wert in der Spalte Data!J
gleich dem Wert in dem Wert in sein muss.Calc!A6
Ich möchte VBA wenn möglich vermeiden (weshalb ich SU und nicht SO verwende).
Antwort1
Sie können eine Matrixformel verwenden, die durch Drücken von eingegeben wirdStrg+Umschalt+Eingabe
Um die betreffende Zeile zu finden, verwenden Sie:
> =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))
Wenn Sie eine bestimmte Zelle zurückgeben möchten, fügen Sie die folgende Formel ein und geben Sie anstelle von A die Spalte ein, an der Sie interessiert sind.
=indirect("A" & formula here)