Зміст
Якщо ви давно читаєте цей блог, то, можливо, пам'ятаєте функцію QUERY для Google Sheets. Я згадував про неї як про можливе рішення для кількох випадків. Але цього далеко не достатньо, щоб розкрити весь її потенціал. Сьогодні настав час познайомитися з цим супергероєм електронних таблиць ближче. І знаєте що - про один не менш вартий уваги інструмент теж буде сказано :)
Чи знаєте ви, що функція ЗАПИТ в Google Sheets вважається найпотужнішою в електронних таблицях? Її своєрідний синтаксис дозволяє виконувати десятки різноманітних операцій. Спробуємо розібрати її по частинах, щоб запам'ятати їх раз і назавжди?
Синтаксис функції ЗАПИТ в Google Таблицях
На перший погляд, ЗАПИТ в Google Sheets - це просто ще одна функція з 1 необов'язковим і 2 обов'язковими аргументами:
=QUERY(дані, запит, [заголовки])- дані це діапазон для обробки. Обов'язково. Тут все кристально ясно.
Примітка. Тут лише одне невеличке нагадування, встановлене Google: кожна колонка повинна містити один тип даних: текстовий, або числовий, або логічний. Якщо типів буде декілька, QUERY буде працювати з тим, який зустрічається найбільше. Інші типи будуть розглядатися як порожні комірки. Дивно, але майте це на увазі.
- запит це спосіб обробки дані Тут починається все найцікавіше. Функція запиту Google Sheets QUERY використовує спеціальну мову для цього аргументу: Мова запитів Google Visualization API Він написаний за принципом, схожим на SQL. По суті, це набір спеціальних речень (команд), які використовуються для того, щоб вказати функції, що робити: вибрати, згрупувати, обмежити і т.д.
Примітка: Весь аргумент повинен бути укладений у подвійні лапки. Значення, в свою чергу, повинні бути укладені в лапки.
- заголовки необов'язковий, якщо вам потрібно вказати кількість рядків заголовків у ваших даних. Опустіть цей аргумент (як я роблю нижче), і Google Sheets QUERY прийме його, виходячи з вмісту вашої таблиці.
Тепер давайте глибше розберемося з пунктами і тим, що вони роблять.
Речення, що використовуються у формулах запитів Google Таблиць
Мова запитів складається з 10 речень. Вони можуть налякати на перший погляд, особливо якщо ви не знайомі з SQL. Але я обіцяю, як тільки ви познайомитеся з ними, ви отримаєте в своє розпорядження потужну зброю електронних таблиць.
Я збираюся розглянути кожен пункт і навести приклади формул, використовуючи цей список уявних студентів та їхніх паперових предметів:
Ага, я з тих диваків, які вважають, що Плутон має бути планетою :)
Порада. В одній функції ЗАПИТ Google Таблиці можна використовувати кілька речень. Якщо ви вкладаєте їх всі, то обов'язково дотримуйтесь порядку їх появи в цій статті.
Вибрати (всі або окремі колонки)
Найперший пункт - вибрати - використовується, щоб вказати, які стовпці потрібно повернути за допомогою запиту Google Sheets QUERY з іншого аркуша або таблиці.
Приклад 1: Виділити всі стовпці
Щоб отримати кожен стовпець, використовуйте вибрати із зірочкою - виберіть *
=QUERY(Papers!A1:G11, "select *")
Порада. Якщо ви опустите вибрати за замовчуванням запиту Google Sheets QUERY поверне всі стовпці:
=QUERY(Papers!A1:G11)
Приклад 2. вибір певних стовпців
Щоб витягнути тільки певні стовпці, перерахуйте їх після вибрати пункт:
=QUERY(Papers!A1:G11, "вибрати A,B,C")
Порада: стовпці, що цікавлять, будуть скопійовані в тому ж порядку, в якому ви вказали їх у формулі:
=QUERY(Papers!A1:G11, "select C,B,A")
Google Таблиці ЗАПИТ - де клаузула
Запити до Google Таблиць де використовується для того, щоб задати умови до даних, які ви хочете отримати. Іншими словами, він діє як фільтр.
Якщо ви використовуєте цей пункт, функція ЗАПИТ для Google Таблиць буде шукати в стовпцях значення, які відповідають вашим умовам, і поверне вам всі збіги.
Порада. Де може функціонувати без вибрати пункт.
Як завжди, для конкретизації умов існують набори спеціальних оператори для тебе:
- прості оператори порівняння ( для числових значень ): =, ,>,>=, <, <=
- складні оператори порівняння ( для струнних ): містить, починається з, закінчується на, відповідає, != (не відповідає / не дорівнює), як .
- логічні оператори до поєднувати в собі кілька умов : і, або, не .
- операторів для порожній / не порожній : дорівнює нулю, не дорівнює нулю .
Порада: якщо ви засмучені або переживаєте, що знову доведеться мати справу з такою величезною кількістю операторів, ми вас розуміємо. Наш функціонал Multiple Vlookup Matches знайде всі збіги і за необхідності побудує для вас формули запиту в Google Таблицях.
Подивимося, як ці оператори поводяться у формулах.
Приклад 1. Де з цифрами
Додам, що де до моїх Google Таблиць ЗАПИТ зверху, щоб отримати інформацію про ті планети, які мають більше 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, "вибрати A,B,C,G де G містить '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 знайшов спосіб обійти дати. Щоб правильно ввести їх, просто наберіть слово дата а потім додайте саму дату у форматі рррр-мм-дд: дата '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
) - мають оцінку "А" або "А+" ( G містить "A )
- або В/В+ ( G містить "B )
=QUERY(Papers!A1:G11, "select A,B,C,G where B
Порада: якщо ваша голова вже готова розірватися, не опускайте руки. Існує інструмент, який цілком здатен побудувати всі ці формули за вас, незалежно від кількості критеріїв. Переходьте прямо в кінець статті, щоб познайомитися з ним.
Google Таблиці ЗАПИТ - Групування по
Запити до Google Таблиць згрупувати за використовується для конкатенації рядків, але для їх підсумовування слід використовувати деякі агрегатні функції.
Зауважте. Згрупувати за повинні завжди дотримуватися вибрати пункт.
На жаль, в моїй таблиці немає що групувати, оскільки немає повторюваних значень. Тому дозвольте мені її трохи підкоригувати.
Припустимо, що всі роботи повинні були підготувати лише 3 студенти. Я можу знайти найвищу оцінку, отриману кожним студентом. Але оскільки це літери, то до стовпчика G я повинен застосувати функцію MIN:
=QUERY(Papers!A1:G11, "select A,min(G) group by A")
Примітка: Якщо ви не використовуєте агрегатну функцію з будь-яким стовпчиком у вибрати пункт (колонка) A в моєму прикладі), ви повинні продублювати їх всі в згрупувати за пункт.
Google Таблиці ЗАПИТ - Поворот
Запити до Google Таблиць стрижень працює, якщо можна так сказати, навпаки - переносить дані з одного стовпчика в рядок з новими стовпчиками, відповідно групуючи інші значення.
Для тих, хто має справу з датами, це може стати справжнім відкриттям. Ви зможете швидко переглянути всі окремі роки з цієї колонки джерел.
Примітка: коли йдеться про стрижень кожен стовпчик, що використовується в вибрати В іншому випадку, це повинно бути зазначено в згрупувати за за вашим наказом, після того, як ви стрижень .
Пам'ятайте, що в моїй таблиці зараз вказано лише 3 студенти. Я збираюся зробити так, щоб функція повідомляла мені, скільки доповідей зробив кожен студент:
=QUERY(Papers!A1:G11, "select count(G) pivot A")
Запити до Google Таблиць - Впорядкувати по
Цей досить простий :) Він використовується для сортування результатів за значеннями у певних стовпчиках.
Порада. Всі попередні пункти є необов'язковими при використанні замовити за Я використовую вибрати повернути меншу кількість колонок для демонстрації.
Давайте повернемося до моєї початкової таблиці і відсортуємо звіти за датою виступу.
Ця наступна формула запиту Google Sheets QUERY дасть мені стовпчики A, B і C, але при цьому відсортує їх за датою в стовпчику B:
=QUERY(Papers!A1:G11, "вибрати A,B,C в порядку зростання по 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")
Якщо ви спробуєте використати обидва варіанти ліміт і зсув відбудеться наступне:
- Зміщення буде пропускати рядки на початку.
- Ліміт поверне кількість наступних рядків.
=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 Таблиці ЗАПИТ - Мітка
Запити до Google Таблиць етикетка дозволяє змінювати назви заголовків стовпців.
Порада. Інші пункти є необов'язковими для етикетка також.
Покладіть етикетка Спочатку вказується ідентифікатор стовпця та нова назва. Якщо ви перейменовуєте декілька стовпців, то кожну нову пару стовпець-мітка слід відокремлювати комою:
=QUERY(Papers!A1:G11, "select A,B,C label A 'Name', B 'Date'")
Формат
На сьогоднішній день, на жаль, це не так. формат дає можливість змінити формат всіх значень у стовпці. Для цього вам знадобиться шаблон, що стоїть за потрібним форматом.
Порада. Речення формату також може грати соло в запиті до Google Sheets QUERY.
=QUERY(Papers!A1:G11, "select A,B,C limit 3 format B 'mm-dd, yyyy, ddd'")
Порада. Деякі формати дат для запиту до Google Таблиць я згадував у цьому блозі. Інші формати можна взяти безпосередньо з електронних таблиць: Формат> Номер> Більше форматів> Нестандартний формат номера .
Опції
Цей використовується для встановлення деяких додаткових налаштувань для кінцевих даних.
Наприклад, такі команди, як no_values поверне лише відформатовані комірки.
Найшвидший спосіб побудови формул запитів - Множинні збіги Vlookup
Якою б потужною не була функція ЗАПИТ в Google Таблицях, вона може потребувати певного часу для освоєння. Одна справа - проілюструвати кожен пункт окремо на маленькій таблиці, і зовсім інша - спробувати побудувати все правильно за допомогою декількох пунктів і набагато більшої таблиці.
Саме тому ми вирішили одягнути Google Sheets QUERY у зручний інтерфейс і зробити його надбудовою.
Чому множинні збіги VLOOKUP краще, ніж формули?
Що ж, з доповненням є абсолютно не потрібно :
- з'ясувати що-небудь про тих пункти У доповненні дуже легко створювати безліч складних умов: скільки завгодно, незважаючи на їх порядок, щоб отримати стільки сірників, скільки вам потрібно.
Примітка: На даний момент до інструменту були включені наступні положення: вибрати, де, обмежити, і зсув Якщо у вашому завданні потрібні й інші пункти, будь ласка, коментуйте нижче - можливо, ви допоможете нам вдосконалитися ;)
- вміти введіть оператори вводу просто виберіть потрібну з випадаючого списку.
- розгадати загадку правильний спосіб введення дати та часу Надбудова дозволяє вводити їх, як ви звикли, на основі локалізації вашої електронної таблиці.
Порада: в інструменті завжди доступна підказка з прикладами різних типів даних.
В якості премія ти зможеш:
- попередній перегляд і в тому, і в іншому випадку результат і формула
- марка швидке налаштування за вашими критеріями
- виберіть місце для результату
- вставка результат, оскільки і те, і інші Формула запиту або як цінності
Я не жартую, подивіться самі: хоча цей GIF і прискорений, але мені знадобилося менше хвилини, щоб доопрацювати всі критерії і отримати результат:
Якщо вам цікаво, ось детальне відео, де показано, як працює доповнення:
Сподіваюся, ви дасте доповненню шанс і придбаєте його з Google Workspace Marketplace. Не соромтеся і діліться своїми відгуками, особливо якщо вам щось не сподобалося.
Також, будь ласка, відвідайте його навчальну сторінку або домашню сторінку.