Как можно определить количество подряд идущих пустых ячеек в указанном диапазоне в Google Таблицах (прилагаю скриншот)?

Здравствуйте! <br/> Можно ли создать формулу в таблице, которая будет подсчитывать количество непрерывных пустых строк в столбце? При этом, если в столбце встречается хотя бы одна заполненная ячейка, подсчет должен начинаться заново. <br/> Я не уверена, как правильно объяснить свою идею, поэтому прикрепляю скриншот для наглядности. Как можно сформировать третий столбец с цифрами с помощью этой формулы (в данный момент я вписала их просто текстом)? <br/> <br/>
  • 20 сентября 2024 г. 7:53
Ответы на вопрос 2
В Google Таблицах можно создать формулу для подсчета количества подряд идущих пустых ячеек в столбце. Для решения вашей задачи подойдет функция `ARRAYFORMULA` в сочетании с некоторыми другими функциями.

Допустим, ваши данные находятся в столбце A. Вы можете использовать следующую формулу в ячейке B1, например:

```plaintext
=ARRAYFORMULA(IF(A1:A="", IF(LAG(A1:A, 1, true) = "", IFERROR(B1:B + 1, 1), 1), 0))
```

Однако функция `LAG` пока не поддерживается в Google Таблицах. Вместо нее можно воспользоваться более простым вариантом с использованием `IF`, `COUNTA` и `ROW`.

Попробуйте следующий подход, разместив его в ячейке B1:

```plaintext
=ARRAYFORMULA(IF(A1:A="", IF(A1:A <> "", 0, IF(ROW(A1:A) = 1, 1, IF(A1:A = "", B1:B + 1, 0))), 0))
```

Этот код будет работать только до первой заполненной ячейки и будет увеличивать счетчик, пока ячейки пустые, а при нахождении заполненной ячейки он будет сбрасывать счётчик.

На практике:

1. В A-столбце у вас будут данные (пустые строк и строки с текстом).
2. В столбце B вы вставите то, что я описал выше.

Тем не менее, важно учесть, что когда в столбце есть несколько подряд идущих пустых ячеек, ячейки в столбце B будут заполняться по порядку, и на каждом шаге они будут показывать текущее количество пустых ячеек до момента, когда встречается заполненная ячейка.

Не забудьте проверить формулы на примере ваших данных и в случае необходимости адаптировать их.
=SCAN(;C:C; LAMBDA(acc; cur; if(cur<>"";;acc+1 ))) 
Пример
Похожие вопросы