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),"")
我有一个 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),"")