Содржина
Дали знаевте дека кога ќе споите 2 листови на Google, не само што можете да ажурирате записи во една колона, туку и да повлечете цели поврзани колони, па дури и редови што не се совпаѓаат? Денес ќе ви покажам како се прави тоа со функциите VLOOKUP, INDEX/MATCH, QUERY и додатокот Merge Sheets.
Последниот пат кога зборував за спојување на 2 листови на Google, споделив начини за совпаѓање & засилувач; ажурирање на податоците. Овој пат, сепак ќе ги ажурираме ќелиите, но ќе повлечеме и други поврзани колони и редови што не се совпаѓаат.
Еве ја мојата табела за пребарување. Ќе ги земам сите потребни податоци од него денес:
Овој пат е поголем: има две дополнителни колони со имиња на продавачи и нивните оценки. Ќе ја ажурирам колоната Акции со овие информации во друга табела и исто така ќе ги повлечам продавачите. Па, можеби и оценки :)
Како и обично, ќе користам неколку функции и специјален додаток за работата.
Спој ги листовите на Google & додајте поврзани колони користејќи VLOOKUP
Се сеќавате ли на Google Sheets VLOOKUP? Ја користев во мојата претходна статија за да совпаѓам податоци и да ажурирам некои ќелии.
Ако оваа функција сè уште ве плаши, крајно време е да се соочите со неа и да ја научите еднаш засекогаш бидејќи ќе ја користам и денес :)
Совет. Ако барате брзо решение за да заштедите време, веднаш запознајте ги „Спојување листови“.
Ајде да направиме брзо повторување на синтаксата на формулата:
=VLOOKUP(пребарувачки_клуч, опсег, индекс, [е_сортиран])- key_search е она што го барате.
- опсег е местото каде што го барате.
- индекс е бројот на колоната од која треба да се врати вредноста.
- [is_sorted] е целосно изборен и покажува дали клучната колона е подредена.
Совет. На нашиот блог има цел туторијал посветен на Google Sheets VLOOKUP, слободно погледнете.
Кога споив два листа на Google и едноставно ги ажурирав податоците во колоната Stock, ја користев оваа формула VLOOKUP:
=ArrayFormula(IFERROR(VLOOKUP($B$2:$B$10,Sheet1!$B$2:$D$10,2,FALSE),""))
IFERROR се погрижи немаше грешки во ќелиите без совпаѓања и ARRAYFORMULA ја обработи целата колона одеднаш.
Значи, какви промени треба да направам за да ги повлечам продавачите како нова колона од табелата за пребарување?
Па, бидејќи индексот е тој што му кажува на Google Sheets VLOOKUP од која колона треба да ги земе податоците, може безбедно да се каже дека тоа е онаа што треба да се измени.
Наједноставниот начин би бил да само копирајте ја формулата во соседната колона и зголемете го нејзиниот индекс за еден (заменете го 2 со 3 ):
=ArrayFormula(IFERROR(VLOOKUP($B$2:$B$10,Sheet1!$B$2:$D$10,3,FALSE),""))
Сепак, ќе треба да ја вметнете истата формула со различен индекс онолку пати повеќе дополнителни колони што сакате да ги добиете.
За среќа, постои подобра алтернатива. Тоа вклучува создавање низи. Низите ви дозволуваат да ги комбинирате сите колони што сакате да ги повлечете во еден индекс.
Кога креирате низа во Google Sheets,ги наведувате вредностите или референците за ќелии/опсег во загради, на пр. ={1, 2, 3} или ={1; 2; 3}
Аранжманот на овие записи во лист зависи од разграничувачот:
- Ако користите точка-запирка, броевите ќе заземаат различни редови во колоната:
второто е токму она што треба да го направите во аргументот индекс на Google Sheets VLOOKUP.
Бидејќи ги спојувам листовите на Google, ја ажурирам втората колона и ја повлекувам третата, треба да создадам низа со овие колони: {2, 3} :
=ArrayFormula(IFERROR(VLOOKUP($B$2:$B$10,Sheet1!$B$2:$D$10,{2,3},FALSE),""))
На овој начин, една формула на Google Sheets VLOOKUP се совпаѓа со имиња, ажурира информации за акциите и додава поврзани продавачи во празна соседна колона.
Соклопи & засилувач; спојувајте листови и додавајте колони со INDEX MATCH
Следно е INDEX MATCH. Овие две функции заедно се натпреваруваат со VLOOKUP бидејќи ги заобиколуваат неговите ограничувања при спојување на листови на Google.
Совет. Запознајте го INDEX MATCH за Google Sheets во ова упатство.
Да започнам со потсетување на формулата која едноставно спојува една колона врз основа на совпаѓањата:
=IFERROR(INDEX(Sheet1!$C$1:$C$10,MATCH(B2,Sheet1!$B$1:$B$10,0)),"")
Во оваа формула, Sheet1!$C$1:$C$10 е колона со вредностите што ви се потребни секогаш кога Sheet1!$B$1:$B$10 ја исполнува истата вредност како во B2 во тековната табела.
Имајќи ги предвид овие точки, треба да го Sheet1!$C$1:$C$10 промените со цел не само да се спојат табелите и да се ажурираат ќелиите, туку и да се додаваат колони.
За разлика од Google Sheets VLOOKUP, тука нема ништо фенси. Само внесете го опсегот со сите потребни колони: онаа што треба да се ажурира и другите што треба да се додадат. Во мојот случај, тоа ќе биде Sheet1!$C$1:$D$10 :
=IFERROR(INDEX(Sheet1!$C$1:$D$10,MATCH(B2,Sheet1!$B$1:$B$10,0)),"")
Или можам да проширам опсегот до E10 за да додадете 2 колони, а не само една:
=IFERROR(INDEX(Sheet1!$C$1:$E$10,MATCH(B2,Sheet1!$B$1:$B$10,0)),"")
Забелешка. Тие дополнителни записи секогаш спаѓаат во соседните колони. Ако тие колони имаат некои други вредности, формулата нема да ги презапише. Ќе ви даде грешка #REF со соодветна навестување:
Откако ќе ги исчистите тие ќелии или додадете нови колони лево од нив, ќе се појават резултатите од формулата.
Спојувајте ги листовите на Google, ажурирајте ќелии и засилувач; додајте поврзани колони - сите користат QUERY
QUERY е една од најмоќните функции во табелите на Google. Затоа, не е изненадување што ќе ја користам денес за спојување на некои листови на Google, ажурирање ќелии и додавање дополнителни колони во исто време.
Оваа функција се разликува од другите бидејќи еден од нејзините аргументи користи јазик на команди.
Совет. Ако се прашувате како да ја користите функцијата „Гугл листови QUERY“, посетете ја оваа објава на блогот.
Да се потсетиме на формулата што прво ги ажурира ќелиите:
=IFERROR(QUERY(Sheet1!$A$2:$C$10,"select C where&QUERY!$B2:$B$10&"""),"")
Овде QUERY ја разгледува табелата со потребните податоци во Sheet1, ги совпаѓа ќелиите во колона Б со мојата тековна нова табела и се спојуваовие листови: вади податоци од колоната В за секој натпревар. IFERROR го задржува резултатот без грешки.
За да додадете дополнителни колони за тие совпаѓања, треба да направите 2 мали промени во оваа формула:
- наведете ги сите колони што мора да ги имате за избери команда:
…select C,D,E…
- прошири го опсегот за да изгледа соодветно:
…QUERY(Sheet1!$A$2:$E$10,…
Еве целосна формула:
=IFERROR(QUERY(Sheet1!$A$2:$E$10,"select C,D,E where&Sheet4!$B2:$B$10&"""),"")
Ја ажурира колоната за акции и повлекува 2 дополнителни колони од табелата за пребарување на оваа главна табела.
Како да додадете редови кои не се совпаѓаат со помош на FILTER + VLOOKUP
Замислете го ова: ќе споите 2 листови на Google, ќе ги ажурирате старите информации со новите и ќе добиете нови колони со дополнителни поврзани вредности.
Што друго би можеле да Дали за да имате целосна слика за записите при рака?
Можеби додавате редови кои не се совпаѓаат на крајот од вашата табела? На овој начин, ќе ги имате сите вредности на едно место: не само што се совпаѓа со ажурираните поврзани информации, туку и кои не се совпаѓаат за да се бројат.
Бев пријатно изненаден што Google Sheets VLOOKUP знае како да да го направи тоа. Кога се користи заедно со функцијата FILTER, таа ги спојува листовите на Google и додава и редови што не се совпаѓаат.
Совет. На крајот, ќе покажам и како еден додаток го прави истото со едно поле за избор.
Аргументите за FILTER на листовите на Google се прилично јасни:
=FILTER(опсег, услов1, [услов2, ...])- опсег се податоците што сакате да ги филтрирате.
- услов 1 е аколона или ред со критериум за филтрирање.
- критериумите2, критериумите3 итн. се целосно опционални. Користете ги кога треба да користите неколку критериуми.
Совет. Ќе дознаете повеќе за функцијата ФИЛТЕР за листови на Google во овој блог пост.
Па, како овие две функции се заедно и спојуваат листови на Google? Па, FILTER ги враќа податоците врз основа на критериумите за филтрирање создадени од VLOOKUP.
Погледнете ја оваа формула:
=FILTER(Sheet1!$A$2:$E$10,ISERROR(VLOOKUP(Sheet1!$B$2:$B$10,$B$2:$C$10,2,FALSE)=1))
Скенира 2 табели на Google за совпаѓање и повлекува не- совпаѓање редови од едната табела до другата:
Да објаснам како функционира:
- ФИЛТЕРОТ оди во листот за пребарување (табела со сите податоци — Sheet1!$A$2:$E$10 ) и користи VLOOKUP за да ги добие точните редови.
- VLOOKUP ги зема имињата на ставките од колоната Б на тој лист за пребарување и ги совпаѓа со имињата од мојата тековна табела. Ако нема совпаѓање, VLOOKUP вели дека има грешка.
- ISERROR ја означува секоја таква грешка со 1, кажувајќи му на FILTER да го земе овој ред во друг лист.
Како резултат, формулата повлекува 3 дополнителни редови за оние бобинки што не се појавуваат во мојата главна табела.
Не е толку комплицирано откако малку ќе се позаиграте со овој метод :)
Но, ако не сакате да го потрошите вашето време на ова, има подобар и побрз начин — без единствена функција и формула.
Начин без формула за совпаѓање и засилување; спојување на податоци - додавање на Спојување листови-на
Додатокот за спојување листови ги опфаќа сите 3 можности при спојување на листови на Google:
- ги ажурира поврзаните ќелии врз основа на совпаѓањата
- додава нови колони за тие совпаѓања
- внесува редови со записи кои не се совпаѓаат
За да се избегне каква било конфузија, процесот е поделен на 5 едноставни чекори :
- Првите две се местото каде што ги избирате вашите табели дури и ако тие се во различни табели.
- На 3d , треба да изберете клучни колони кои треба да се проверат за совпаѓање.
- 4-тиот чекор ви овозможува поставете ги колоните да се ажурираат со нови записи или додавајте од еден лист во друг:
Поминаа неколку секунди додека не можам да го видам резултатот:
Инсталирајте Merge Sheets од продавницата на Google Sheets и ќе видите дека обработува поголеми табели исто како и фа ул. Благодарение на Merge Sheets, ќе имате повеќе време за важни работи.
Ќе го оставам и ова 3-минутно демо видео за да ви помогнам да одлучите :)
Табеларна табела со примери на формула
Спојте ги листовите на Google, додајте поврзани колони и засилувач; редови кои не се совпаѓаат - примери на формула (направете копија од оваа табела)