Содржина
Ако сте го следеле овој блог некое време, можеби се сеќавате на функцијата QUERY за Google Sheets. Го спомнав како можно решение за неколку случаи. Но, тоа е далеку од доволно за да се открие неговиот целосен потенцијал. Денес, крајно време е правилно да го запознаеме овој суперхерој на табели. И погодете што – исто така ќе има една подеднакво важна алатка :)
Дали знаевте дека функцијата QUERY на листови на Google се смета за најмоќна во табеларни пресметки? Неговата чудна синтакса фаворизира десетици различни операции. Ајде да се обидеме да ги разложиме неговите делови за да ги научиме еднаш засекогаш, нели?
Синтакса на функцијата QUERY на листови на Google
На прв поглед, Google Sheets QUERY е само уште една функција со 1 изборен и 2 задолжителни аргументи:
=QUERY(податоци, барање, [заглавија])- податоци е опсегот за обработка. Задолжително. Сè е кристално јасно овде.
Забелешка. Само еден мал потсетник овде воспоставен од Google: секоја колона треба да содржи еден тип на податоци: текстуални или нумерички или булови. Ако има различни типови, QUERY ќе работи со оној што најмногу се појавува. Другите типови ќе се сметаат за празни ќелии. Чудно, но имајте го тоа на ум.
- прашањето е начин за обработка на податоци . Задолжително. Тука започнува целата забава. Функцијата на листови на Google QUERY користи посебен јазик за овој аргумент: API за визуелизација на Googleкритериуми
- изберете место за резултатот
- внесете го резултатот и како QUERY формула или како вредности
Не се шегувам, погледнете сами. Иако овој GIF беше забрзан, ми требаше помалку од една минута да ги подесам сите критериуми и да го добијам резултатот:
Ако сте доволно љубопитни, еве детален видео кое покажува како работи додатокот:
Се надевам дека ќе му дадете шанса на додатокот и ќе го добиете од Google Workspace Marketplace. Не бидете срамежливи и споделете ги вашите повратни информации, особено ако има нешто во врска со тоа што не ви се допаѓа.
Исто така, слободно проверете ја неговата страница за упатство или почетната страница.
Јазик на барање. Напишан е на начин сличен на SQL. Во основа, тоа е збир на специјални клаузули (наредби) кои се користат за да и се каже на функцијата што да прави: изберете, групирајте, ограничувајте итн.Забелешка. Целиот аргумент мора да биде затворен во двојни наводници. Вредностите, пак, треба да бидат завиткани во наводници.
Сега ајде да копаме подлабоко во клаузулите и што и да прават тие.
Клаузули што се користат во формулите на Google Sheets QUERY
Јазикот на барање се состои од 10 клаузули. Тие можат да исплашат на прв поглед, особено ако не сте запознаени со SQL. Но, ветувам, штом ќе ги запознаете, ќе добиете моќно оружје за табеларни пресметки на располагање.
Ќе ја опфатам секоја клаузула и ќе дадам примери на формула користејќи ја оваа листа на имагинарни студенти и нивните хартиени предмети :
Да, јас сум еден од оние чудаци кои мислат дека Плутон треба да биде планета :)
Совет. Може да се користат неколку клаузули во една функција на Google Sheets QUERY. Ако ги вгнездите сите, погрижете се да го следите редоследот на нивниот изглед во оваа статија.
Избери (сите или специфични колони)
Првата клаузула – избери – се користи за да каже кои колони треба да ги вратите со листовите на Google 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 – Каде клаузула
Google Листови QUERY каде се користи за поставување на условите за податоците што сакате да ги добиете. Со други зборови, тој делува како филтер.
Ако ја користите оваа клаузула, функцијата QUERY за листови на Google ќе бара во колоните вредности кои ги исполнуваат вашите услови и ќе ви ги врати сите совпаѓања.
Совет. Каде може да функционира без клаузулата избери .
Како и обично, за да ги специфицирате условите, за вас има множества специјални оператори :
- едноставни споредбени оператори ( за нумерички вредности ): =, , >, >=, <, <=
- комплексни споредбени оператори ( за низи ): содржи, започнува со, завршува со, се совпаѓа, != (не се совпаѓа / не е еднакво на), како .
- логички оператори за комбинирање на неколку услови : и, или, не .
- оператори за празно/ не е празен : е нула, не е нула .
Совет. Ако сте вознемирени или загрижени поради тоа што повторно ќе морате да се справите со толку огромен број оператори, ве чувствуваме. Нашите повеќекратни совпаѓања со Vlookup ќе ги најдат сите совпаѓања и ќе создадат формули QUERY во листовите на 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,"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 дури успеа да ги скроти датумите!
Бидејќи табелите ги складираат датумите како сериски броеви, обично, мора даприбегнете кон помош на специјални функции како DATE или DATEVALUE, YEAR, MONTH, TIME, итн.
Но, 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
) - имаат или А или А+ како оценка ( G содржи 'A' )
- или B/B+ ( G содржи 'B' )
=QUERY(Papers!A1:G11,"select A,B,C,G where B
Совет. Ако вашата глава веќе ќе експлодира, сè уште не се откажувајте. Има алатка која е совршено способна да ги изгради сите овие формули за вас, без разлика на бројот на критериуми. Скокни десно до крајот на статијата за да го запознаеш.
Google Sheets QUERY – Група според
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 pivot клаузулата функционира обратно, ако можам да кажам така. Пренесува податоци од една колона во ред со нови колони, групирајќи други вредности соодветно.
За оние од вас кои се занимаваат со датуми, тоа може да биде вистинско откритие. Ќе можете да добиете брз поглед на сите различни години од таа изворна колона.
Забелешка. Кога станува збор за стожење , секоја колона што се користи во клаузулата избери треба да биде покриена со збирна функција. Во спротивно, треба да се спомене во групата со команда по вашиот pivot .
Запомнете, мојата табела сега споменува само 3 студенти. Ќе ја направам функцијата да ми каже колку извештаи направил секој ученик:
=QUERY(Papers!A1:G11,"select count(G) pivot A")
Google Sheets QUERY – Нарачајте според
Овој е прилично лесен :) Навикнат еподредете го резултатот по вредностите во одредени колони.
Совет. Сите претходни клаузули се опционални кога се користи нарачај според . Јас користам избери за да вратам помалку колони за демонстративни цели.
Ајде да се вратиме на мојата оригинална табела и да ги сортираме извештаите според датумот на говорот.
Оваа следна формула на Google Sheets QUERY ќе ми ги добие колоните A, B и C, но во исто време ќе ги подреди по датум во колона Б:
=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")
Ако се обидете и користите и ограничување и офсет , ќе се случи следново:
- Offset ќе ги прескокне редовите на почетокот.
- Limit ќе врати голем број одследните редови.
=QUERY(Papers!A1:G11,"select A,B,C,G where G is not null limit 3 offset 3")
Од 11 реда податоци (првиот е заглавие и функцијата QUERY во Google Sheets одлично го разбира тоа), офсет го прескокнува првиот 3 реда. Ограничувањето враќа 3 следни редови (почнувајќи од четвртиот):
Google Sheets QUERY – Label
Google Sheets QUERY етикета команда ви овозможува да ги менувате имињата на заглавието на колоните.
Совет. Другите клаузули се опционални и за етикета .
Прво ставете ја етикетата , потоа ID на колоната и ново име. Ако преименувате неколку колони, одвојте го секој нов пар на ознака на колони со запирка:
=QUERY(Papers!A1:G11,"select A,B,C label A 'Name', B 'Date'")
Формат
На <1 Клаузулата>format овозможува менување на форматот на сите вредности во колоната. За тоа, ќе ви треба шаблон кој стои зад саканиот формат.
Совет. Клаузулата за формат може да се репродуцира соло и во ПРАВАЊЕ на листовите на Google.
=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 Sheets,може да бара крива на учење за да се придржува. Едно е секоја клаузула да се илустрира посебно на мала маса, а сосема друго е да се обидете да изградите сè правилно со неколку клаузули и многу поголема табела.
Затоа решивме да ги облечеме Google Sheets QUERY во кориснички интерфејс и направете го додатокот.
Зошто повеќекратните VLOOKUP Matches се подобри од формулите?
Па, со додатокот нема апсолутно нема потреба од :
- дознајте нешто за тие клаузули . Навистина е лесно да се создадат многу сложени услови во додатокот: онолку колку што ви треба и покрај нивната нарачка за да добиете онолку совпаѓања колку што ви треба.
Забелешка. Во моментот, следните клаузули беа вградени во алатката: избери, каде, ограничување, и помести . Ако вашата задача бара и други клаузули, ве молиме коментирајте подолу - можеби, ќе ни помогнете да се подобриме ;)
- знајте како да внесете оператори : само изберете го од паѓачка листа.
- загатка над правилниот начин за внесување датум и време . Додатокот ви овозможува да ги внесете како порано, врз основа на вашата локација на табела.
Совет. Секогаш има навестување на располагање во алатката со примери на различни типови податоци.
Како бонус , ќе можете да:
- прегледате и двете резултатот и формулата
- направете брзи прилагодувања на вашиот