Подсчет строк в скрипте Google листов - PullRequest
1 голос
/ 15 апреля 2020

Я строю систему меню со столбцами даты и еды. На экране будет ячейка [рабочая дата], которая контролирует, какие строки будут отображаться на экране.

При изменении [рабочей даты] должен запускаться сценарий и:

  • считать число строк на листе с датой, совпадающей с [рабочей датой]
  • подсчет количества строк с совпадающей датой и пустых пищевых ячеек
  • добавить достаточное количество строк с датой для заполнения листов screen
  • добавить дополнительные строки, если необходимо, чтобы разрешить дополнительный ввод, прокручивая экран
  • отсортировать все строки
  • прокручивать экран листов так, чтобы первая строка для выбранной даты была вверху Все это должно происходить автоматически, когда пользователь изменяет [выбранную дату.]

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

Заранее спасибо - Джо

1 Ответ

1 голос
/ 15 апреля 2020

Для всего процесса вам понадобится триггер onEdit , чтобы выполнять функцию каждый раз, когда редактируются листы, и использовать ее событие , чтобы условно запустить код, когда [ рабочая дата] ячейка отредактирована. Я бы использовал устанавливаемую версию триггера, которая имеет меньше ограничений.

Для всех действий, которые вы хотите достичь, вам придется использовать методы SpreadsheetApp .

1 и 2) Создайте объект TextFinder из объекта Spreadsheet и настройте его для выполнения поиска. Когда вы устанавливаете диапазон для поиска текста, избегайте использования этой версии метода getRange, иначе он может выдать ошибку.

3 и 4) С insertRows метод, вы можете вставить строки в объект Sheet , а затем использовать его методы getRange и setRange для установки значений. Нет доступного триггера, который можно использовать для запуска функции, когда пользователь прокручивает представление.

5) Вы можете использовать метод sort . Или получить значения диапазона, отсортировать их с помощью методов JavaScript и затем установить упорядоченный массив в диапазоне.

6) Вы можете использовать метод activ объекта Range, который помещает фокус в ячейках диапазона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...