Функция Query и сумма по значению в Гугл таблицах

Есть таблица с данными. В моём примере — это список задач по дням с затраченным на них временем. Задача → получить сумму потраченного за сегодня времени на задачи, чтобы каждый раз не суммировать интервал.

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

Пример исходной таблицы данных
Пример исходной таблицы данных

На скрине выше я выделил тот интервал, который нужно просуммировать и получить в ячейке Е2. При том условии, что сегодня дата 16.05.2022.

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

Функция QUERY и SQL запрос SUM

Посчитать сумму по необходимому значению можно по разному. Например, с помощью функции IF где мы говорим, проверь ячейку А и если там дата TODAY(), сложи с прочими такими же совпадениями. Но получится очень длинная формула и при добавлении новых строк она сломается.

Поэтому я использовал функцию query позволяющую работать с sql запросами.

Формула записана в ячейке Е1.

Функция QUERY и SQL запрос SUM
Функция QUERY и SQL запрос SUM

Приведу формулу тут и разберу её на атомы:

=query(A3:E19;"select sum(E) where A = date'"&TEXT(TODAY();"yyyy-mm-dd")&"'")

Итак, функция вызывается с помощью QUERY. Официальная справка тут. Далее мы указываем интервал с данными — тут всё просто.

Вторым аргументом идёт sql запрос и в нём самое интересное.

Разбор SQL запроса в функции QUERY
Разбор SQL запроса в функции QUERY

Говоря простым языком, мы говорим выведи сумму потраченного времени из столбца Е только по сегодняшним датам.

Функция Query и сумма по значению в Гугл таблицах

Возможные ошибки

Проверяйте, чтобы первый столбец с датам имел формат именно дат, иначе если там будут текстовые значения, то sql запрос упростится и нужно будет просто вывести "А = '16.05.2022' ".

Заключение

Ещё больше полезных материалов про маркетинг и рекламу читайте в мойм блоге и Телеграм. Например, я собрал с десяток шаблонов , которые здорово повышают качество и скорость работы: шаблон медиаплана, шаблон сбора семантики, шаблон учёта рабочего времени → забирайте.

11
2 комментария

Подскажите, как можно поменять слово sum ? на другое, в выводе в таблице

Ответить

В конце запроса по "label"

Например:
label sum(A) 'ВАШЕ НАЗВАНИЕ'

На своём примере пометил красной рамкой

Ответить