我使用此公式匹配sheet3和sheet2之间的两个日期,然后在日期匹配时打印相应的值。运行数百万行,这个公式使文件太大,无法计算
=IF(ISNA(INDEX(Sheet3!$A$1:$G$60,MATCH(A2,Sheet3!$A$1:$A$60,0),6)),"",INDEX(Sheet3!$A$1:$G$60,MATCH(A2,Sheet3!$A$1:$A$60,0),6))
答案 0 :(得分:1)
在此公式中,您使用完全相同的索引/匹配函数两次,而不是在找不到匹配项时,可以使用函数IFERROR返回空字符串。请参阅下面的代码示例:
=IFERROR(INDEX(Sheet3!$A$1:$G$60,MATCH(A2,Sheet3!$A$1:$A$60,0),6)),"")
为了进一步优化您的公式,您可以指定匹配函数的第三个参数(match_type),使公式在Sheet3列上进行二叉树搜索!A,即使对于非常大的范围,它也会以这种方式计算得更快。但为了使这项工作,首先你需要按升序对Column3!A列进行排序。请参阅下面的代码示例:
=IFERROR(INDEX(Sheet3!$A$1:$G$60,MATCH(A2,Sheet3!$A$1:$A$60,1),6)),"")