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 は避けたいです (それが SO ではなく SU を使用している理由です)。
答え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)