如果日期大于创建日期并且在指定的日期范围内,则查找数据

时间:2017-03-17 01:17:07

标签: excel vba

我有一个数组公式,可以满足我的要求,但速度非常慢。基本上,如果我的查找表中的日期大于并且在日期范围内,则此公式从另一个工作表中获取数据。

公式:

{=IFERROR(INDEX(Sheet2!$A$1:$B$9,MATCH(1,(Sheet2!B:B=B2)*(Sheet2!A:A>N2)*(Sheet2!A:A<N2+5),0),1),"Not yet released")}

示例图片:

This is a a sample file where the lookup value and formula is located VBA可以加快速度吗?还是有一种更简单的方法可以做到这一点?

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以尝试限制搜索范围,即Sheet2!B1:B9而非Sheet2!B:B(搜索的其他字段相同),因为INDEX ed数组为A1:A9

INDEX(Sheet2!$A$1:$A$9,MATCH(1,(Sheet2!B1:B9=B2)*(Sheet2!A1:A9>N2)*(Sheet2!A1:A9<N2+5),0)),"Not yet released")}

如果搜索范围增大(比如100行而不是9行),请相应地调整公式中的数组,但不要像A:A那样使它们无限制,因为如果找不到匹配项,Excel将保留搜索到行1048576。