【问题标题】:Excel out of resources from array formula数组公式中的 Excel 资源不足
【发布时间】:2017-09-05 04:49:55
【问题描述】:

我有一个 excel 文件,我试图将行与前任或后继依赖项链接(简化的 MS 项目类型链接)

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

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

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

【问题讨论】:

  • 也许您可以使用条件格式将错误单元格的字体格式化为与内部颜色相同的颜色,从而有效地使其不可见。
  • @RonRosenfeld - 恕我直言,使用 ;;; 作为自定义数字格式是一种使单元格内容“不可见”的更好方法,而不是格式化字体以匹配单元格填充颜色。
  • 我重新输入了您的数据并将 A 列中的单元格合并为来自 5 个单元格块的单个单元格,我无法让您的公式正常工作,也无法理解您要完成的工作。
  • @Jeeped 当隐藏的结果是错误值时,我无法让它工作。我只是再次尝试并失败了。我对 CF =iserror(a1) 使用了一个简单的公式;并在 A1 中输入=0/0
  • @RonRosenfeld - 是的,你是对的;您不能使用自定义数字格式来调整错误值。

标签: excel resources array-formulas


【解决方案1】:

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

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

【讨论】:

  • @user162017 请点击答案旁边的复选标记标记为正确。
猜你喜欢
  • 1970-01-01
  • 2023-02-09
  • 2018-09-05
  • 1970-01-01
  • 1970-01-01
  • 2014-08-02
  • 1970-01-01
  • 2016-07-08
  • 2016-06-08
相关资源
最近更新 更多