Как использовать функцию QUERY в Google Sheets - стандартные положения и альтернативный инструмент

  • Поделись Этим
Michael Brown

Если вы давно следите за этим блогом, вы можете помнить функцию QUERY для Google Sheets. Я упоминал ее как возможное решение для нескольких случаев. Но этого далеко не достаточно, чтобы раскрыть весь ее потенциал. Сегодня самое время познакомиться с этим супергероем электронных таблиц как следует. И знаете что - один не менее примечательный инструмент тоже будет там :)

Знаете ли вы, что функция QUERY в Google Sheets считается самой мощной в электронных таблицах? Ее своеобразный синтаксис позволяет выполнять десятки различных операций. Давайте попробуем разбить ее на части, чтобы изучить их раз и навсегда, не так ли?

    Синтаксис функции QUERY в Google Sheets

    На первый взгляд, Google Sheets QUERY - это просто еще одна функция с 1 необязательным и 2 обязательными аргументами:

    =QUERY(data, query, [headers])
    • данные это диапазон для обработки. Требуется. Здесь все предельно ясно.

      Примечание. Только одно небольшое напоминание, установленное Google: каждый столбец должен содержать один тип данных: текстовый, числовой или булев. Если есть разные типы, QUERY будет работать с тем, который встречается чаще всего. Другие типы будут рассматриваться как пустые ячейки. Странно, но имейте это в виду.

    • запрос это способ обработки данные . Требуется. Здесь начинается самое интересное. Функция Google Sheets QUERY использует специальный язык для этого аргумента: Язык запросов API визуализации Google По сути, это набор специальных пунктов (команд), используемых для указания функции, что делать: select, group by, limit и т.д..

      Примечание. Весь аргумент должен быть заключен в двойные кавычки. Значения, в свою очередь, должны быть заключены в кавычки.

    • заголовки необязателен для тех случаев, когда вам нужно указать количество строк заголовка в ваших данных. Опустите этот аргумент (как я делаю ниже), и Google Sheets QUERY примет его, основываясь на содержимом вашей таблицы.

    Теперь давайте подробнее разберемся с пунктами и тем, что они делают.

    Клаузы, используемые в формулах Google Sheets QUERY

    Язык запросов состоит из 10 пунктов. На первый взгляд они могут испугать, особенно если вы не знакомы с SQL. Но обещаю, как только вы познакомитесь с ними, в вашем распоряжении окажется мощное оружие для работы с электронными таблицами.

    Я собираюсь рассмотреть каждый пункт и привести примеры формул, используя этот список воображаемых студентов и их бумажных предметов:

    Да, я один из тех чудаков, которые считают, что Плутон должен быть планетой :)

    Совет. В одной функции Google Sheets QUERY можно использовать несколько пунктов. Если вы вложите их все, обязательно соблюдайте порядок их появления в этой статье.

    Выбрать (все или определенные столбцы)

    Самый первый пункт - выберите - используется для указания, какие столбцы нужно вернуть с помощью Google Sheets QUERY из другого листа или таблицы.

    Пример 1. Выбрать все столбцы

    Чтобы получить каждый столбец, используйте выберите со звездочкой - выберите *

    =QUERY(Papers!A1:G11, "select *")

    Совет. Если вы опустите выберите параметр, Google Sheets QUERY будет возвращать все столбцы по умолчанию:

    =QUERY(Papers!A1:G11)

    Пример 2. Выбор определенных столбцов

    Чтобы извлечь только определенные столбцы, перечислите их после строки выберите пункт:

    =QUERY(Papers!A1:G11, "select A,B,C")

    Совет. Интересующие вас столбцы будут скопированы в том же порядке, в котором вы упомянули их в формуле:

    =QUERY(Papers!A1:G11, "select C,B,A")

    Google Sheets QUERY - пункт Where

    Google Sheets QUERY где используется для задания условий в отношении данных, которые вы хотите получить. Другими словами, он действует как фильтр.

    Если вы используете этот пункт, функция QUERY для Google Sheets будет искать в столбцах значения, соответствующие вашим условиям, и возвращать вам все совпадения.

    Совет. Где может функционировать без выберите пункт.

    Как обычно, для определения условий существуют наборы специальных операторы для вас:

    • простые операторы сравнения ( для числовых значений ): =, ,>,>=, <, <=
    • комплексные операторы сравнения ( для струн ): содержит, начинается с, заканчивается, совпадает, != (не совпадает / не равно), как .
    • логические операторы для сочетать несколько условий : и, или, не .
    • операторы для пустой / не пустой : является нулевым, не является нулевым .

    Совет. Если вы расстроены или обеспокоены тем, что вам снова придется иметь дело с таким огромным количеством операторов, мы вам сочувствуем. Наш Multiple Vlookup Matches найдет все совпадения и при необходимости построит для вас формулы QUERY в Google Sheets.

    Давайте посмотрим, как эти операторы ведут себя в формулах.

    Пример 1. Где с цифрами

    Я добавлю где к моему вышеприведенному QUERY из Google Sheets, чтобы получить информацию о тех планетах, у которых более 10 лун:

    =QUERY(Papers!A1:G11, "select A,B,C,F where F>=10")

    Совет. Я также упомянул столбец F для выборки, чтобы убедиться, что критерий выполнен. Но это совершенно необязательно. Вы не обязаны включать столбцы с условиями в результат:

    =QUERY(Papers!A1:G11, "select A,B,C where F>=10")

    Пример 2. Где с текстовыми строками

    • Я хочу увидеть все строки, в которых оценка либо F или F+ Я буду использовать содержит оператор для этого:

      =QUERY(Papers!A1:G11, "select A,B,C,G where G contains 'F'")

      Примечание. Не забудьте заключить свой текст в кавычки.

    • Чтобы получить все строки с F только, просто замените содержит со знаком равенства (=):

      =QUERY(Papers!A1:G11, "select A,B,C,G where G="F"")

    • Чтобы проверить работы, которые еще не сданы (где оценка отсутствует), проверьте колонку G для пустых мест:

      =QUERY(Papers!A1:G11, "select A,B,C,G where G is null'")

    Пример 3. Где с датами

    Угадайте что: Google Sheets QUERY удалось приручить даже даты!

    Поскольку электронные таблицы хранят даты как порядковые номера, обычно приходится прибегать к помощи специальных функций типа ДАТА или ДАТЕВАЛЮТА, ГОД, МЕСЯЦ, ВРЕМЯ и т.д.

    Но QUERY нашел способ обходить даты. Чтобы ввести их правильно, просто введите слово дата а затем добавить саму дату, отформатированную как yyyy-mm-dd: дата '2020-01-01'

    Вот моя формула для получения всех строк с датой выступления до 1 января 2020 года:

    =QUERY(Papers!A1:G11, "select A,B,C where B

    Пример 4. Комбинируйте несколько условий

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

    Давайте попробуем извлечь те работы, которые были сданы осенью 2019 г. Первым критерием должна быть дата 1 сентября 2019 года или позднее , второй - не позднее 30 ноября 2019 года :

    =QUERY(Papers!A1:G11, "select A,B,C where B>=date '2019-09-01' and B<=date '2019-11-30'")

    Или я могу отобрать работы по этим параметрам:

    • до 31 декабря 2019 года ( B )
    • имеют в качестве оценки либо A, либо A+ ( G содержит 'A' )
    • или B/B+ ( G содержит 'B' )

    =QUERY(Papers!A1:G11, "select A,B,C,G where B

    Совет. Если ваша голова уже готова взорваться, не сдавайтесь. Существует инструмент, который способен построить для вас все эти формулы, независимо от количества критериев. Перейдите прямо к концу статьи, чтобы познакомиться с ним.

    Google Sheets QUERY - Group By

    Google Sheets QUERY группа по Команда используется для объединения строк. Однако для их суммирования следует использовать некоторые агрегатные функции.

    Примечание. Группа по должны всегда следовать выберите пункт.

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

    Предположим, что все работы должны быть подготовлены только 3 студентами. Я могу найти наивысшую оценку, которую получил каждый студент. Но так как это буквы, то я должен применить функцию MIN к столбцу G:

    =QUERY(Papers!A1:G11, "select A,min(G) group by A")

    Примечание. Если вы не используете агрегатную функцию ни с одним столбцом в выберите условие (колонка A в моем примере), вы должны продублировать их все в группа по пункт.

    Google Sheets QUERY - Pivot

    Google Sheets QUERY поворот Пункт работает, если можно так выразиться, наоборот. Он переносит данные из одного столбца в строку с новыми столбцами, соответствующим образом группируя другие значения.

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

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

    Помните, что в моей таблице сейчас упоминаются только 3 студента. Я собираюсь сделать так, чтобы функция сообщала мне, сколько докладов сделал каждый студент:

    =QUERY(Papers!A1:G11, "select count(G) pivot A")

    Google Sheets QUERY - Order By

    Это довольно просто :) Он используется для сортировки итогов по значениям в определенных столбцах.

    Совет. Все предыдущие пункты являются необязательными при использовании заказ . Я использую выберите чтобы вернуть меньшее количество столбцов в демонстрационных целях.

    Давайте вернемся к моей исходной таблице и отсортируем отчеты по дате выступления.

    Следующая формула Google Sheets QUERY получит столбцы A, B и C, но в то же время отсортирует их по дате в столбце B:

    =QUERY(Papers!A1:G11, "select A,B,C order by B")

    Ограничение

    Что если я скажу вам, что вам не нужно приводить каждую строку в результат? Что если я скажу вам, что Google Sheets QUERY может извлечь только определенное количество первых найденных совпадений?

    Что ж. ограничение Предложение призвано помочь вам в этом. Оно ограничивает количество возвращаемых строк заданным числом.

    Совет. Не стесняйтесь использовать ограничение без других предыдущих пунктов.

    Эта формула покажет первые 5 строк, в которых столбец с оценками содержит отметку (не пуст):

    =QUERY(Papers!A1:G11, "select A,B,C,G where G is not null limit 5")

    Смещение

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

    Совет. Смещение также не требует никаких других оговорок.

    =QUERY(Papers!A1:G11, "select A,B,C,G where G is not null offset 5")

    Если вы попытаетесь использовать оба ограничение и смещение произойдет следующее:

    1. Смещение будет пропускать строки в начале.
    2. Ограничение вернет ряд следующих строк.

    =QUERY(Papers!A1:G11, "select A,B,C,G where G is not null limit 3 offset 3")

    Из 11 строк данных (первая - заголовок, и функция QUERY в Google Sheets прекрасно это понимает), offset пропускает первые 3 строки. Limit возвращает 3 следующие строки (начиная с 4-й):

    Google Sheets QUERY - Label

    Google Sheets QUERY этикетка позволяет изменить названия заголовков столбцов.

    Совет. Другие пункты являются необязательными для этикетка также.

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

    =QUERY(Papers!A1:G11, "select A,B,C label A 'Name', B 'Date'")

    Формат

    Сайт формат позволяет изменить формат всех значений в столбце. Для этого вам понадобится шаблон, стоящий за желаемым форматом.

    Совет. Пункт форматирования также может играть сольную роль в QUERY Google Sheets.

    =QUERY(Papers!A1:G11, "select A,B,C limit 3 format B 'mm-dd, yyyy, ddd'")

    Совет. В этой статье я упомянул некоторые форматы дат для Google Sheets QUERY. Другие форматы можно взять непосредственно из электронных таблиц: Формат> Число> Другие форматы> Пользовательский формат числа .

    Опции

    Этот параметр используется для установки некоторых дополнительных настроек для итоговых данных.

    Например, такая команда, как никакие_значения будет возвращать только отформатированные ячейки.

    Самый быстрый способ построения формул QUERY - Множественные совпадения Vlookup

    Какой бы мощной ни была функция QUERY в Google Sheets, для ее освоения может потребоваться кривая обучения. Одно дело - иллюстрировать каждый пункт отдельно в небольшой таблице, и совсем другое - пытаться построить все правильно с помощью нескольких пунктов и гораздо большей таблицы.

    Именно поэтому мы решили облачить Google Sheets QUERY в удобный интерфейс и сделать его дополнением.

    Почему множественные совпадения VLOOKUP лучше, чем формулы?

    Ну, с дополнением есть абсолютно не нужно :

    • выяснить ничего о тех. статьи В дополнении очень легко создать множество сложных условий: столько, сколько вам нужно, несмотря на их порядок, чтобы получить столько совпадений, сколько вам нужно.

      Примечание. На данный момент в инструмент включены следующие пункты: select, where, limit, и смещение Если в вашей задаче требуются и другие пункты, пожалуйста, прокомментируйте их ниже - возможно, вы поможете нам улучшить ситуацию ;)

    • знать, как вводить операторы : просто выбирайте из выпадающего списка.
    • ломать голову правильный способ ввода даты и времени Дополнение позволяет вводить их, как раньше, на основе локали вашей электронной таблицы.

      Совет. В инструменте всегда есть подсказка с примерами различных типов данных.

    В качестве бонус вы сможете:

    • предварительный просмотр оба результат и формула
    • сделать быстрые регулировки в соответствии с вашими критериями
    • выбрать место для результата
    • вставить результат как формула QUERY или в качестве значения

    Я не шучу, убедитесь сами. Хотя этот GIF был ускорен, мне потребовалось меньше минуты, чтобы точно настроить все критерии и получить результат:

    Если вы достаточно любопытны, вот подробное видео, показывающее, как работает дополнение:

    Я надеюсь, что вы дадите дополнению шанс и приобретете его в Google Workspace Marketplace. Не стесняйтесь и поделитесь своими отзывами, особенно если вам что-то в нем не нравится.

    Кроме того, не стесняйтесь заглянуть на его учебную страницу или главную страницу.

    Майкл Браун — увлеченный технологический энтузиаст, стремящийся упростить сложные процессы с помощью программных инструментов. Имея более чем десятилетний опыт работы в технологической отрасли, он отточил свои навыки в Microsoft Excel и Outlook, а также в Google Sheets и Docs. Блог Майкла посвящен тому, чтобы делиться своими знаниями и опытом с другими, предоставляя простые советы и учебные пособия для повышения производительности и эффективности. Являетесь ли вы опытным профессионалом или новичком, в блоге Майкла вы найдете ценную информацию и практические советы, которые помогут вам максимально эффективно использовать эти важные программные инструменты.