用多个计算条件执行索引匹配

我已经尝试下面的公式与if语句的索引匹配,但没有得到正确的答案。 我在哪里犯错?

=IF(INDEX(AE$3:AE$2000,MATCH(MIN(ABS(AE$3:AE$2000-$AS3)),ABS(AE$3:AE$2000-$AS3),0)),AD$3:AD$2000=$AN3) =IF(AD$3:AD$2000=$AN3,INDEX(AE$3:AE$2000,MATCH(MIN(ABS(AE$3:AE$2000-$AS3)),ABS(AE$3:AE$2000-$AS3),0)),IF(AD$3:AD$2000=$BN3,INDEX(AE$3:AE$2000,MATCH(MIN(ABS(AE$3:AE$2000-$AS3)),ABS(AE$3:AE$2000-$AS3),0)),"")) =--(AD$3:AD$2000=$AN3)INDEX(AE$3:AE$2000,MATCH(MIN(ABS(AE$3:AE$2000-$AS3)),ABS(AE$3:AE$2000-$AS3),0)) =INDEX(AE$3:AE$2000,MATCH(MIN(ABS(AE$3:AE$2000-$AS3)),ABS(AE$3:AE$2000-$AS3),IF(AD$3:AD$2000=$AN3),0)) =INDEX(AE$3:AE$2000,MATCH(SMALL(IF(AD$3:AD$2000=$AN3,ABS(AE$3:AE$2000-$AS3)),1),IF(AD$3:AD$2000=$AN3,ABS(AE$3:AE$2000-$AS3),0)) 

试试这个array¹公式。

 =INDEX(AE$3:AE$2000, AGGREGATE(15, 6, ROW($1:$1998)/((MIN(ABS(TRANSPOSE(AE$3:AE$2000)-$AS3))=ABS(AE$3:AE$2000-$AS3))*(AD$3:AD$2000=$AN3)), 1)) 

AS3


¹ 数组公式需要使用Ctrl + Shift + Enter 来完成。 一旦正确input第一个单元格,就可以像其他任何公式一样向下或向右填充或复制它们。 尝试和减less您的全列引用范围更接近代表实际数据的范围。 数组公式将计算周期对数化,所以最好将参考范围缩小到最小。 有关更多信息,请参阅数组公式的示例 。