Excel 数组公式的资源不足

Excel out of resources from array formula

我有一个 excel 文件,我试图在其中 link 具有前导或后继依赖关系的行(简化的 MS 项目类型 links)

这些公式试图自动计算前任的后继者。最大的挑战是处理 A 列中的合并单元格。公式为:

{=LARGE(INDIRECT(CONCATENATE("$a:$a$",SMALL(IF($C:$C1=INDIRECT(CONCATENATE("a",LARGE(IF(ISNUMBER($A:$A2),ROW($A:$A2)),1))),ROW(A:A1)),ROW(A2)-LARGE(IF(ISNUMBER($A:$A2),ROW($A:$A2)),1)+1))),1)}

如您所见,这可以正确计算值,但如果我添加 iferror() 来处理错误情况,Excel 会抱怨该函数导致它 运行 资源不足。有什么方法可以解决这个问题或简化我的公式来避免这个问题吗?

如果我们将所有 INDIRECT(CONCATENATE()) 引用替换为非易失性 INDEX,它就会起作用:

=IFERROR(LARGE($A:INDEX(A:A,SMALL(IF($C:$C1=INDEX(A:A,LARGE(IF(ISNUMBER($A:$A2),ROW($A:$A2)),1)),ROW(A:A1)),ROW(A2)-LARGE(IF(ISNUMBER($A:$A2),ROW($A:$A2)),1)+1)),1),"")