'Arrayformula' 哪些引用了数组列中上方单元格中的值?

'Arrayformula' which references values in cells above, within array column?

我正在尝试对公式进行排列,以便自动计算未来表单响应中的特定值。不幸的是,该公式使用同一列中上述单元格中的值 return 一 运行 总数,我无法弄清楚如何将它变成一个数组而不 运行 进入循环依赖错误,或公式分解并停止正常工作。

A1 中的公式从一个数据透视表 table 中获取我所有的独特产品 SKU, 将它们调换到顶行,并在它们之间添加三列:

A1: =(SPLIT(JOIN("|"&rept("|",3),TABLE!A2:A),"|",1,0))

A2、E2 等中的公式查询我的实时表单响应(数据!)以获取项目 SKU,returning 时间戳、操作和与该 SKU 相关的每个表单响应的数量:

A2=query(DATA!$A:$D,"select A,C,D where (B="&A1&") and C<>'SUBTRACT'",1)

我的问题出现在试图用 D3 中的公式制作数组时。此列旨在提供 运行 当前库存数量的选项卡,这些库存 "reserved" 用于即将到来的工作。由于库存 "ADD"ed,储备数量满足并减少,最小为 0:

D3=if(B3="RESERVE",D2+C3,if(and(B3="ADD",C3>D2),D2-D2,D2-C3))

如果我单击并向下拖动它以将其复制到同一列中的下方单元格中,此公式会为我提供所需的结果并起作用,但我真的希望它自动应用新的表单响应将数据添加到其他行.

我笨拙的修复尝试,基于我对 ARRAYFORMULA 的有限经验,只有 returns RESERVE 值原样,以及一条错误消息:

=arrayformula(if(F3:F="RESERVE",H2:H+G3:G,if(and(F3:F="ADD",G3:G>H2:H),H2:H-H2:H,H2:H-G3:G)))

Error. Array arguments to GT are of different size.

有人能帮我解决一下吗?

  • 输入电子表格设置
  • 转到计算
  • 迭代计算转为开启

  • 然后使用这个公式

    =ARRAYFORMULA(IF(LEN(B3:B),
     IF(B3:B="RESERVE",D2:D+C3:C,
     IF((B3:B="ADD")*(C3:C>D2:D), D2:D-D2:D, D2:D-C3:C)), ))