【问题标题】:ARRAYFORMULA, OFFSET, and Circular ErrorsARRAYFORMULA、偏移量和循环误差
【发布时间】:2020-09-04 20:54:37
【问题描述】:

我在为我的探路者战役在外方战利品电子表格中实施“兑现”功能时遇到了问题。我不断遇到循环引用。这个想法是,党的每个成员都得到党内流动资产的比例,除非他们对党负有债务。我正在使用 ARRAYFORMULA 和 MMULT 进行这些计算,但我无法弄清楚如何从 B 到 G 列引用 H 到 M 列中的前一行。如果我使用 OFFSET 或 VLOOKUP,我会得到循环引用错误。我只想取所有正数的负值并将它们放在单元格 B 到 G 中,然后一切都应该工作。

这是文件的副本。如果需要,请随意摆弄它。

https://docs.google.com/spreadsheets/d/1PPkZWR4HP3jbWyWDJMskbo3K1Px4CHCurgNZh3MTS-M/edit?usp=sharing

感谢您提供的任何帮助。

在你问之前,我无法弄清楚如何根据我的目的调整这个答案:How to use ARRAYFORMULA with OFFSET to previous row without getting circular reference error

【问题讨论】:

    标签: google-sheets array-formulas


    【解决方案1】:

    我想通了。只需要我已经尝试过的东西的正确组合。最终公式为:

    =ARRAY_CONSTRAIN(ARRAYFORMULA(SWITCH($T$2:$T,B$1,-($R$2:$R),"Cash Out",
    IF(INDEX(MMULT(transpose(if(transpose(row($A$2:$A))>=row($A$2:$A),N(IF($T$2:$T = B$1,-($R$2:$R),$R$2:$R/6)), 0)),--(NOT(ISBLANK($R$2:$R)))),$A$2:$A-1)<0,0,
    -(INDEX(MMULT(transpose(if(transpose(row($A$2:$A))>=row($A$2:$A),N(IF($T$2:$T = B$1,-($R$2:$R),$R$2:$R/6)), 0)),--(NOT(ISBLANK($R$2:$R)))),$A$2:$A-1))),
    $R$2:$R/6)),COUNTA($R$2:$R),1)
    

    诀窍是使用 MMULT 方法在我想要切换的单元格上方生成运行总计数组,然后使用 INDEX 和 A 列来指定我想要的值。使用 ROW() 不起作用。我已经使用更改更新了示例文件。

    【讨论】:

      猜你喜欢
      • 2018-07-20
      • 2020-11-28
      • 2011-06-20
      • 1970-01-01
      • 2012-01-07
      • 2015-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多