Як выкарыстоўваць функцыю Google Sheets QUERY – стандартныя пункты і альтэрнатыўны інструмент

  • Падзяліцца Гэтым
Michael Brown

Калі вы сочыце за гэтым блогам некаторы час, магчыма, вы памятаеце функцыю QUERY для Табліц Google. Я згадваў гэта як магчымае рашэнне для некалькіх выпадкаў. Але гэтага далёка не дастаткова, каб раскрыць увесь яго патэнцыял. Сёння настаў час як след пазнаёміцца ​​з гэтым супергероем электронных табліц. І здагадайцеся што - адзін не менш варты ўвагі інструмент таксама будзе там :)

Ці ведаеце вы, што функцыя Google Sheets QUERY лічыцца самай магутнай у электронных табліцах? Яго своеасаблівы сінтаксіс спрыяе дзесяткам розных аперацый. Давайце паспрабуем разабраць яго часткі, каб вывучыць іх раз і назаўсёды, ці не так?

    Сінтаксіс функцыі QUERY Табліц Google

    На першы погляд, Табліцы Google QUERY проста яшчэ адна функцыя з 1 неабавязковым і 2 абавязковымі аргументамі:

    =QUERY(дадзеныя, запыт, [загалоўкі])
    • дадзеныя гэта дыяпазон для апрацоўкі. абавязковы. Тут усё крышталёва ясна.

      Заўвага. Толькі адзін невялікі напамін, створаны Google: кожны слупок павінен утрымліваць адзін тып дадзеных: тэкставыя, лікавыя або лагічныя. Калі ёсць розныя тыпы, QUERY будзе працаваць з тым, які сустракаецца часцей за ўсё. Іншыя тыпы будуць разглядацца як пустыя вочкі. Дзіўна, але майце гэта на ўвазе.

    • запыт - гэта спосаб апрацоўкі дадзеных . абавязковы. Вось тут і пачынаецца ўсё самае цікавае. Функцыя Google Sheets QUERY выкарыстоўвае спецыяльную мову для гэтага аргумента: Google Visualization APIкрытэрыі
    • выберыце месца для выніку
    • устаўце вынік як формулу ЗАПЫТУ або як значэнні

    Я не жартую, пераканайцеся самі. Нягледзячы на ​​тое, што гэты GIF быў паскораны, мне спатрэбілася менш за хвіліну, каб дакладна наладзіць усе крытэрыі і атрымаць вынік:

    Калі вам дастаткова цікава, вось падрабязны відэа, якое паказвае, як працуе дадатковы кампанент:

    Я спадзяюся, што вы дасце надбудове шанец і атрымаеце яго з Google Workspace Marketplace. Не саромейцеся і дзяліцеся сваімі водгукамі, асабліва калі ў ім нешта вам не падабаецца.

    Таксама не саромейцеся правяраць старонку падручніка або галоўную старонку.

    Мова запытаў. Ён напісаны падобным чынам да SQL. Па сутнасці, гэта набор спецыяльных пунктаў (камандаў), якія выкарыстоўваюцца, каб сказаць функцыі, што рабіць: выбраць, згрупаваць па, абмежаваць і г.д.

    Заўвага. Увесь аргумент павінен быць заключаны ў двукоссе. Значэнні, у сваю чаргу, павінны быць заключаны ў двукоссе.

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

    Прапановы, якія выкарыстоўваюцца ў формулах ЗАПЫТУ Google Sheets

    Мова запытаў складаецца з 10 пунктаў. Яны могуць напалохаць на першы погляд, асабліва калі вы не знаёмыя з SQL. Але я абяцаю, што як толькі вы пазнаёміцеся з імі, вы атрымаеце ў сваё распараджэнне моцную зброю электронных табліц.

    Я збіраюся разгледзець кожны пункт і прывяду прыклады формул, выкарыстоўваючы гэты спіс уяўных студэнтаў і іх папяровых прадметаў :

    Так, я адзін з тых дзівакоў, якія думаюць, што Плутон павінен быць планетай :)

    Парада. Некалькі пунктаў можна выкарыстоўваць у адной функцыі QUERY Табліц Google. Калі вы ўкладваеце іх усе, абавязкова выконвайце парадак іх з'яўлення ў гэтым артыкуле.

    Выбраць (усе або пэўныя слупкі)

    Самы першы пункт – выбраць – выкарыстоўваецца, каб сказаць, якія слупкі вам трэба вярнуць з Google Sheets QUERYз іншага аркуша або табліцы.

    Прыклад 1. Вылучыце ўсе слупкі

    Каб атрымаць кожны слупок, выкарыстоўвайце выбраць са зорачкай – выбраць *

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

    Савет. Калі вы прапусціце параметр select , Google Sheets QUERY верне ўсе слупкі па змаўчанні:

    =QUERY(Papers!A1:G11)

    Прыклад 2. Выберыце пэўныя слупкі

    Каб атрымаць толькі пэўныя слупкі , пералічыце іх пасля прапановы select :

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

    Савет. Слупкі, якія вас цікавяць, будуць скапіяваны ў тым жа парадку, у якім вы згадваеце іх у формуле:

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

    Google Sheets QUERY – пункт Where

    Google Табліцы QUERY дзе выкарыстоўваюцца для ўстаноўкі ўмоў да даных, якія вы жадаеце атрымаць. Іншымі словамі, ён дзейнічае як фільтр.

    Калі вы выкарыстоўваеце гэты пункт, функцыя QUERY для Табліц Google будзе шукаць у слупках значэнні, якія адпавядаюць вашым умовам, і вяртаць вам усе супадзенні.

    Савет. Where можа працаваць без прапановы select .

    Як звычайна, для ўказання ўмоў ёсць набор спецыяльных аператараў для вас:

    • простыя аператары параўнання ( для лікавых значэнняў ): =, , >, >=, <, <=
    • аператары комплекснага параўнання ( для радкоў ): змяшчае, пачынаецца з, заканчваецца with, matches, != (не супадае / не роўна), напрыклад .
    • лагічныя аператары для спалучэння некалькіх умоў : і, ці, not .
    • аператары для прабел/ не пусты : нулявы, не пусты .

    Падказка. Калі вы засмучаныя або занепакоеныя тым, што зноў давядзецца мець справу з такой вялікай колькасцю аператараў, мы вас адчуваем. Наш Multiple Vlookup Matches знойдзе ўсе супадзенні і пры неабходнасці створыць для вас формулы QUERY у Табліцах Google.

    Давайце паглядзім, як гэтыя аператары паводзяць сябе ў формулах.

    Прыклад 1. Where з лічбамі

    Я дадам where у свае Табліцы 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+ . Для гэтага я буду выкарыстоўваць аператар contains :

      =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 знайшоў свой шлях і да даты. Каб правільна ўвесці іх, проста ўвядзіце слова дата , а затым дадайце саму дату ў фармаце гггг-мм-дд: дата '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 каманда group by выкарыстоўваецца для аб'яднання радкоў. Тым не менш, вы павінны выкарыстоўваць некаторыя агрэгаваныя функцыі, каб абагульніць іх.

    Заўвага. Групоўка па заўсёды павінна прытрымлівацца прапановы выбраць .

    На жаль, у маёй табліцы няма чаго згрупаваць, бо няма паўтаральных значэнняў. Такім чынам, дазвольце мне крыху адкарэктаваць гэта.

    Выкажам здагадку, што ўсе работы павінны быць падрыхтаваны толькі 3 студэнтамі. Я магу знайсці самую высокую адзнаку, якую атрымаў кожны студэнт. Але паколькі яны з'яўляюцца літарамі, гэта функцыя MIN, якую я павінен прымяніць да слупка G:

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

    Заўвага. Калі вы не выкарыстоўваеце агрэгатную функцыю ні з адным слупком у сказе select (слупок A у маім прыкладзе), вы павінны прадубляваць іх усе ў group by пункт.

    Google Sheets QUERY – Pivot

    Google Sheets QUERY pivot пункт працуе наадварот, калі можна так сказаць. Ён транспануе даныя з аднаго слупка ў радок з новымі слупкамі, адпаведна групуючы іншыя значэнні.

    Для тых з вас, хто мае справу з датамі, гэта можа стаць сапраўдным адкрыццём. Вы зможаце хутка зірнуць на ўсе розныя гады з гэтага зыходнага слупка.

    Заўвага. Калі справа даходзіць да pivot , кожны слупок, які выкарыстоўваецца ў сказе select , павінен быць ахоплены агрэгаванай функцыяй. У іншым выпадку гэта павінна быць згадана ў групе па камандзе пасля вашай зводу .

    Памятайце, у маёй табліцы цяпер згадваюцца толькі 3 студэнты. Я збіраюся зрабіць так, каб функцыя паведамляла мне, колькі справаздач зрабіў кожны студэнт:

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

    Google Sheets QUERY – Order By

    Гэта даволі лёгка :) Яно прывыкласартаваць вынік па значэннях у пэўных слупках.

    Падказка. Усе папярэднія прапановы неабавязковыя пры выкарыстанні парадкаваць па . Я выкарыстоўваю select , каб вярнуць менш слупкоў у дэманстрацыйных мэтах.

    Давайце вернемся да маёй першапачатковай табліцы і адсартуем справаздачы па даце выступу.

    Гэтая наступная формула Google Sheets QUERY атрымае мне слупкі A, B і C, але ў той жа час адсартуе іх па даце ў слупок B:

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

    Ліміт

    Што, калі я скажу вам, што вам не трэба пераносіць кожны радок у вынік? Што, калі я скажу вам, што Google Sheets QUERY можа атрымаць толькі пэўную колькасць першых знойдзеных супадзенняў?

    Ну, пункт limit распрацаваны, каб дапамагчы вам у гэтым. Ён абмяжоўвае колькасць радкоў для вяртання зададзеным лікам.

    Падказка. Не саромейцеся выкарыстоўваць ліміт без іншых папярэдніх пунктаў.

    Гэта формула пакажа першыя 5 радкоў, у якіх слупок з адзнакамі змяшчае адзнаку (не пустая):

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

    Зрушэнне

    Гэты пункт накшталт супрацьлеглы папярэдняму. У той час як limit дае вам вызначаную вамі колькасць радкоў, offset прапускае іх, атрымліваючы астатнія.

    Парада. Зрушэнне таксама не патрабуе ніякіх іншых пунктаў.

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

    Калі вы паспрабуеце выкарыстаць адначасова ліміт і зрушэнне , адбудзецца наступнае:

    1. Offset прапусціць радкі ў пачатку.
    2. Limit верне колькасцьнаступныя радкі.

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

    З 11 радкоў даных (першы з'яўляецца загалоўкам, і функцыя QUERY у Табліцах Google робіць добрую працу, разумеючы гэта), зрушэнне прапускае першы 3 шэрагу. Limit вяртае 3 наступныя радкі (пачынаючы з 4-га):

    Google Sheets QUERY – Label

    Google Sheets QUERY label command дазваляе змяняць назвы загалоўкаў слупкоў.

    Савет. Іншыя пункты таксама неабавязковыя для этыкеткі .

    Спачатку пастаўце цэтлік , затым ідэнтыфікатар слупка і новую назву. Калі вы перайменуеце некалькі слупкоў, падзяляйце кожную новую пару слупка-цэтліка коскай:

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

    Фармат

    <1 пункт>format дазваляе змяняць фармат усіх значэнняў у слупку. Для гэтага вам спатрэбіцца шаблон, які стаіць за жаданым фарматам.

    Парада. Прапанова фармату таксама можа гуляць сола ў Табліцах Google QUERY.

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

    Савет. У гэтым паведамленні ў блогу я згадваў некаторыя фарматы дат для Google Sheets QUERY. Іншыя фарматы можна ўзяць непасрэдна з электронных табліц: Фармат > Нумар > Іншыя фарматы > Нестандартны фармат лікаў .

    Параметры

    Гэта выкарыстоўваецца для ўстаноўкі некаторых дадатковых параметраў для выніковых даных.

    Напрыклад, такая каманда, як no_values верне толькі адфарматаваныя ячэйкі.

    Самы хуткі спосаб пабудаваць формулы QUERY – некалькі супадзенняў Vlookup

    Якой бы магутнай ні была функцыя QUERY у Табліцах Google,можа спатрэбіцца крывая навучання, каб авалодаць. Адна справа - праілюстраваць кожны пункт асобна на маленькай табліцы, і зусім іншая - паспрабаваць пабудаваць усё правільна з дапамогай некалькіх пунктаў і значна большай табліцы.

    Вось чаму мы вырашылі апрануць Google Табліцы QUERY у зручны інтэрфейс і зрабіце яго дадаткам.

    Чаму Multiple VLOOKUP Matches лепш, чым формулы?

    Ну, з дадаткам абсалютна не трэба :

    • высветліць што-небудзь пра гэтыя пункты . Сапраўды лёгка стварыць мноства складаных умоў у дадатку: столькі, колькі вам трэба, нягледзячы на ​​іх парадак, каб атрымаць столькі супадзенняў, колькі вам трэба.

      Заўвага. На дадзены момант у інструмент былі ўключаны наступныя пункты: выбраць, дзе, абмежаваць, і зрушыць . Калі ваша задача таксама патрабуе іншых пунктаў, калі ласка, каментуйце ніжэй - магчыма, вы дапаможаце нам палепшыць ;)

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

      Парада. У інструменце заўсёды ёсць падказка з прыкладамі розных тыпаў даных.

    У якасці бонуса вы зможаце:

    • праглядаць абодва вынік і формула
    • зрабіць хуткія карэктывы ў ваш

    Майкл Браўн - адданы энтузіяст тэхналогій, які любіць спрашчэнне складаных працэсаў з дапамогай праграмных інструментаў. Маючы больш чым дзесяцігадовы досвед працы ў індустрыі тэхналогій, ён удасканальваў свае навыкі ў Microsoft Excel і Outlook, а таксама ў Google Sheets і Docs. Блог Майкла прысвечаны таму, каб падзяліцца сваімі ведамі і вопытам з іншымі, даючы простыя ў выкананні парады і падручнікі для павышэння прадукцыйнасці і эфектыўнасці. Незалежна ад таго, з'яўляецеся вы дасведчаным прафесіяналам або пачаткоўцам, блог Майкла прапануе каштоўную інфармацыю і практычныя парады, каб атрымаць максімальную аддачу ад гэтых неабходных праграмных інструментаў.