Уровень кодирования : Новичок
Продолжительность : 5 минут
Тип проекта : Пользовательская функция
Цели
- Поймите, что делает решение.
- Узнайте, что делают службы Apps Script в решении.
- Настройте сценарий.
- Запустите сценарий.
Об этом решении
Если у вас есть одинаково структурированные данные на нескольких листах в электронной таблице, например показатели поддержки клиентов для членов команды, вы можете использовать эту пользовательскую функцию для создания сводки по каждому листу. Это решение ориентировано на заявки в службу поддержки клиентов, но вы можете настроить его в соответствии со своими потребностями.
Как это работает
Пользовательская функция getSheetsData()
суммирует данные из каждого листа электронной таблицы на основе столбца Статус листа. Скрипт игнорирует листы, которые не следует включать в агрегирование, например листы ReadMe и Summary .
Службы сценариев приложений
В этом решении используется следующий сервис:
- Служба электронных таблиц — получает таблицы, которые необходимо суммировать, и подсчитывает количество элементов, соответствующих указанной строке. Затем сценарий добавляет вычисленную информацию в диапазон относительно места вызова пользовательской функции в электронной таблице.
Предварительные условия
Для использования этого образца необходимы следующие предварительные условия:
- Учетная запись Google (для учетных записей Google Workspace может потребоваться одобрение администратора).
- Веб-браузер с доступом в Интернет.
Настройте сценарий
Нажмите кнопку ниже, чтобы создать копию таблицы настраиваемых функций «Суммировать данные электронной таблицы» . Проект Apps Script для этого решения прикреплен к электронной таблице.
Сделать копию
Запустите сценарий
- В скопированной электронной таблице перейдите к сводному листу.
- Щелкните ячейку
A4
. ФункцияgetSheetsData()
находится в этой ячейке. - Перейдите к одному из листов владельцев и обновите или добавьте на него данные. Некоторые действия, которые вы можете попробовать, включают следующее:
- Добавьте новую строку с образцом информации о билете.
- В столбце Статус измените статус существующей заявки.
- Измените положение столбца Статус . Например, на листе Владелец1 переместите столбец Статус из столбца C в столбец D.
- Перейдите на лист «Сводка» и просмотрите обновленную сводную таблицу, созданную
getSheetsData()
из ячейкиA4
. Возможно, вам придется установить флажок в строке 10, чтобы обновить кэшированные результаты пользовательской функции. Google кэширует пользовательские функции для оптимизации производительности.- Если вы добавили или обновили строки, сценарий обновит счетчик заявок и статусов.
- Если вы изменили положение столбца «Статус» , сценарий по-прежнему будет работать должным образом с новым индексом столбца.
Просмотрите код
Чтобы просмотреть код скрипта приложений для этого решения, нажмите «Просмотреть исходный код» ниже:
Посмотреть исходный код
Код.gs
Модификации
Вы можете редактировать пользовательскую функцию столько, сколько захотите, в соответствии со своими потребностями. Ниже приведено необязательное дополнение для ручного обновления результатов пользовательских функций.
Обновить кэшированные результаты
В отличие от встроенных функций, Google кэширует пользовательские функции для оптимизации производительности. Это означает, что если вы измените что-то в своей пользовательской функции, например вычисляемое значение, это может не привести к немедленному обновлению. Чтобы обновить результат функции вручную, выполните следующие действия:
- Добавьте флажок в пустую ячейку, нажав Вставить > Флажок .
- Добавьте ячейку с флажком в качестве параметра пользовательской функции, например
getSheetsData(B11)
. - Установите или снимите флажок, чтобы обновить результаты пользовательской функции.
Авторы
Этот образец поддерживается Google с помощью экспертов-разработчиков Google.