'Arrayformula'在数组列中引用上面单元格中的值?

问题描述 投票:0回答:1

我正在尝试对公式进行排序,以便自动计算未来Forms响应中的特定值。不幸的是,公式使用同一列中上面单元格中的值来返回一个运行总计,我无法弄清楚如何将其转换为数组而不会遇到循环依赖性错误,或者让公式分解并停止好好工作。

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

A1:酪蛋白

A2,E2等中的公式查询项目SKU的实时表单响应(DATA!),返回与该SKU相关的每个表单响应的时间戳,操作和数量:

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

我的问题出现在尝试用D3中的公式制作一个数组。此列旨在提供当前库存数量的运行选项卡,这些库存为即将到来的作业“保留”。当库存为“ADD”时,保留数量满足并减少,至少为0:

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

这个公式给了我想要的结果,如果我点击并向下拖动它将它复制到同一列的下面的单元格中,但我真的希望它自动应用新的表单响应将数据添加到其他行。

基于我对=if(B3="RESERVE",D2+C3,if(and(B3="ADD",C3>D2),D2-D2,D2-C3))的有限经验,我笨拙的修复尝试只返回ARRAYFORMULA值as-is,并出现错误消息:

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)))

错误。 GT的数组参数大小不同。

有人可以帮我解决一下吗?

google-sheets array-formulas google-sheets-formula
1个回答
1
投票
  • 输入电子表格设置
  • 去计算
  • 将迭代计算转为On

  • 然后使用这个公式 =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)), ))
© www.soinside.com 2019 - 2024. All rights reserved.