Фильтры в Гугл Таблице — автообновление диапазонов
Нужна автоматизация? Обсудим вашу задачу бесплатно
Написать в TelegramМы ведь смотрим на данные в таблице, чтобы прийти к каким-то выводам на их основе, правильно? И, как правило, хотим увидеть как одни показатели влияют на другие, выявить новые взаимосвязи или какие-то критические значения.
Каждому ясно что, чтобы посмотреть как, например, идут продажи конкретного товара – нужно убрать данные о других. Это позволит сосредоточиться на нужном товаре и не ошибиться в выводах.
Один из удобных инструментов в таблицах – это фильтрация, то есть возможность быстро и просто отобразить только те данные из таблицы, которые соответствуют набору условий. В несколько кликов мышкой можно рассмотреть данные под разными углами, добавляя или убирая те, или иные показатели. Да, на данные нужно смотреть всегда с нескольких сторон. И тут на помощь приходят filter views (представления фильтров, сохраняемые, временные, индивидуальные и как только их еще не называют), главная функция которых – сохранить набор условий для фильтрации и быстрое переключение между ними. А еще, что не менее важно в условиях того, что таблицы являются инструментом многопользовательским – сохраняемые фильтры не мешают работе других пользователей, то есть я могу включить свой фильтр, другой пользователь свой и при этом мы не будем мешать работать с таблицей третьему. Такое часто бывает, когда менеджерам нужно работать со своими клиентами и им мешают остальные.

Вот так создаются индивидуальные фильтры (filter views).

Когда такой фильтр включен у пользователя, то видно характерную рамку, данные фильтра, его название и диапазон, на который распространяется фильтр views.
Но и есть и не совсем приятные моменты. Когда создается новый фильтр, он распространяется на определенный диапазон данных, при этом новые строки в фильтрацию не попадают. И, как правило, это становится очень неожиданным сюрпризом, некоторых вводит в ступор и недоумение, а кого-то приводит к неправильным выводам с соответствующими последствиями. Для восстановления работы фильтра нужно открыть его и вписать новый диапазон, в который попадут все данные.
Для решения этой проблемы я написал небольшую функцию-скрипт, который обновляет диапазоны всех, сохраненных на указанном листе таблицы, фильтров до актуального состояния. А чтобы об этой проблеме не вспоминать – настроил запуск этой функции при открытии таблицы и при нажатии на кнопку.
function updatedFiltersRange() {
const ss = SpreadsheetApp.getActive();
const ordersSheetName = 'ЗАКАЗЫ'; //Здесь нужно указать свой лист
const sheet = ss.getSheetByName(ordersSheetName);
const sheetsLastRow = sheet.getLastRow();
const ssId = ss.getId();
const updatedFilterViews = Sheets.Spreadsheets.get(ssId)
.sheets.find(sheet => sheet.properties.title == ordersSheetName)
.filterViews
.reduce((acc, filterView) => {
filterView.range.endRowIndex = sheetsLastRow;
acc.push({
'updateFilterView': {
filter: filterView, fields: 'range'
}
});
return acc
}, []);
Sheets.Spreadsheets.batchUpdate({ requests: updatedFilterViews }, ssId)
ss.toast('Диапазон всех фильтров обновлен.');
return true
}
Итак, для того чтобы не задумываться о том, что в фильтр попадут ненужные строки, нужно просто добавить этот скрипт в таблицу, заменить имя листа на своё, а затем настроить запуск по времени или по событию открытия таблицы (инструкция как запускать гугл скрипт автоматически) или просто добавить кнопку для запуска скрипта (инструкция).
Если скриптов в таблице становится всё больше и вы чувствуете, что задачи переросли ручные решения — пройдите квиз за 2 минуты, чтобы понять, какие процессы стоит автоматизировать в первую очередь.
Читайте также
Не хотите разбираться сами?
Если читали статью и поняли, что руками уже не справляетесь — напишите. Оценим задачу бесплатно и предложим решение.
Как автоматизация окупается → Чеклист: 7 процессов для автоматизации →
Похожие статьи

Удалите строки по условию в Google Таблице за секунды. Скрипт через Sheets API — в 10 раз быстрее стандартного deleteRow. Скопируйте и запустите за 5 минут.

Автоперенос строк на другой лист Google Таблицы при смене статуса. Готовый скрипт Apps Script — скопируйте таблицу и настройте за 5 минут. Шаг за шагом.

Как подключить библиотеку в Гугл Таблицах и использовать в скриптах. Пошаговая инструкция с примерами для Google Apps Script.
Нужна помощь с автоматизацией?
Разработаем решение под ваши задачи — от скрипта до полноценной интеграции.
Написать в TelegramПодписывайтесь — делимся скриптами, кейсами и лайфхаками