Я пытаюсь подсчитать количество дат, представленных в записи, предоставленной через форму. Я понял формулы для этого. Проблема в том, что каждый раз, когда отправляется новая запись формы, создается новая строка, и у меня нет никакого способа, кроме ручного перетаскивания вниз каждый раз, когда формулы включают новую поступившую запись.

Есть ли способ сделать это автоматически? Я прочитал там, что вы можете сделать это с помощью формулы массива с диапазоном всей электронной таблицы, но я не смог сделать эту работу, так как каждая ячейка должна была бы считать даты в своей строке (и этот диапазон будет меняться в каждой клетке)

Вот образец листа https://docs.google.com/spreadsheets/d/1WkaIq5cNpyqvqJ6UdUQHd4jsaPlDDl9rocKZRses3DA/edit?usp=sharing

Мой вопрос: Как я могу выполнить шаг 1 автоматически каждый раз, когда отправляется форма? Есть ли способ сделать это только с помощью формул (если так, как)?

PS: я также попытался скопировать ответы формы на другой лист и рассчитать оттуда, но каждый раз, когда создается новая строка, формулы адаптируются так, чтобы указывать на строку ниже созданной новой. Например, если формула указывает на B6, а новая строка создается в строке 6, формула внезапно указывает на B7.

2 ответа2

1

Я нашел два способа заставить это работать:

Первый:

=arrayformula(MMULT(N(E1:J42<>""), transpose(column(E1:J1)^0)))

И второе (и гораздо более замысловатый вариант)

=arrayformula(if(B3:B<>"";NOT(ISBLANK(E3:E))+NOT(ISBLANK(F3:F))+NOT(ISBLANK(G3:G))+NOT(ISBLANK(H3:H))+NOT(ISBLANK(I3:I))+NOT(ISBLANK(J3:J));))

Получил вдохновение от этого ответа:

https://webapps.stackexchange.com/questions/113895/how-to-use-average-inside-arrayformula-in-google-sheets

0

Попробуйте поставить в H3:

=if(A3=ʺʺ,ʺʺ,counta(B3:G3))

затем перетащите полностью вниз ... пожалуйста, поделитесь, если это работает (или нет ..). (:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .