Я пытаюсь выстроить формулу так, чтобы конкретные значения из будущих ответов форм были рассчитаны автоматически.К сожалению, формула использует значение в указанной выше ячейке в том же столбце для возврата промежуточного итога, и я не могу понять, как превратить его в массив, не сталкиваясь с ошибками циклической зависимости или не разбивая и не останавливая формулуработает должным образом.
![](https://i.stack.imgur.com/9tYoP.png)
Формула в A1 берет все мои уникальные SKU продукта из сводной таблицы, транспонирует их через верхний ряд и добавляет три столбцамежду ними:
A1: =(SPLIT(JOIN("|"&rept("|",3),TABLE!A2:A),"|",1,0))
Формула в A2, E2 и т. д. запрашивает мои ответы в интерактивной форме (DATA!) для SKU элемента, возвращая метки времени, действия и количества.для каждого ответа формы, относящегося к этому SKU:
A2 =query(DATA!$A:$D,"select A,C,D where (B="&A1&") and C<>'SUBTRACT'",1)
Моя проблема возникает при попытке создать массив из формулы в D3.Этот столбец предназначен для предоставления текущей вкладки текущего количества заготовок, которые «зарезервированы» для предстоящих работ.Поскольку запас «ДОБАВЛЕН», запасное количество удовлетворяется и уменьшается до минимума 0:
D3 =if(B3="RESERVE",D2+C3,if(and(B3="ADD",C3>D2),D2-D2,D2-C3))
Эта формула дает мне желаемые результаты и работает, если ящелкните и перетащите его вниз, чтобы скопировать в ячейки ниже в том же столбце, но мне бы очень хотелось, чтобы он автоматически применял новые ответы формы, добавлял данные в дополнительные строки.
Моя неуклюжая попытка исправить, основанная наМой ограниченный опыт работы с ARRAYFORMULA
возвращает только 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)))
![](https://i.stack.imgur.com/yRqr5.png)
Ошибка,Аргументы массива для GT имеют разные размеры.
Может кто-нибудь помочь мне разобраться?