Obsah
Vedeli ste, že pri zlúčení 2 hárkov Google môžete nielen aktualizovať záznamy v jednom stĺpci, ale aj vytiahnuť celé súvisiace stĺpce a dokonca aj nezhodujúce sa riadky? Dnes vám ukážem, ako sa to robí pomocou funkcií VLOOKUP, INDEX/MATCH, QUERY a doplnku Merge Sheets.
Keď som naposledy hovoril o spájaní 2 hárkov Google, podelil som sa o spôsoby párovania & aktualizácie údajov. Tentoraz budeme stále aktualizovať bunky, ale vytiahneme aj ďalšie súvisiace stĺpce a nezhodujúce sa riadky.
Tu je moja vyhľadávacia tabuľka. Dnes z nej prevezmem všetky potrebné údaje:
Tentokrát je väčšia: má dva stĺpce navyše s názvami predajcov a ich hodnoteniami. Stĺpec Stock aktualizujem o tieto informácie v inej tabuľke a vytiahnem aj predajcov. No a možno aj hodnotenia :)
Ako zvyčajne použijem niekoľko funkcií a špeciálny doplnok pre túto úlohu.
Zlúčiť hárky Google & pridať súvisiace stĺpce pomocou VLOOKUP
Pamätáte si na VLOOKUP v tabuľkách Google? Použil som ho v predchádzajúcom článku na porovnanie údajov a aktualizáciu niektorých buniek.
Ak vás táto funkcia stále odrádza, je najvyšší čas sa jej postaviť čelom a raz a navždy sa ju naučiť, pretože dnes ju budem používať aj ja :)
Tip. Ak hľadáte rýchle riešenie, ktoré vám ušetrí čas, ihneď sa zoznámte s aplikáciou Merge Sheets.
Urobme si rýchlu rekapituláciu syntaxe vzorca:
=VLOOKUP(search_key, range, index, [is_sorted])- search_key je to, čo hľadáte.
- rozsah je to, čo hľadáte.
- index je číslo stĺpca, z ktorého sa má hodnota vrátiť.
- [is_sorted] je úplne nepovinný a označuje, či je stĺpec s kľúčom zoradený.
Tip: Na našom blogu je celý návod venovaný VLOOKUP v tabuľkách Google, neváhajte sa naň pozrieť.
Keď som zlúčil dva hárky Google a jednoducho aktualizoval údaje v stĺpci Stock, použil som tento vzorec VLOOKUP:
=ArrayFormula(IFERROR(VLOOKUP($B$2:$B$10,Sheet1!$B$2:$D$10,2,FALSE),"")
IFERROR zabezpečil, aby v bunkách bez zhody neboli žiadne chyby, a ARRAYFORMULA spracovala celý stĺpec naraz.
Aké zmeny teda musím vykonať, aby som z vyhľadávacej tabuľky vytiahol aj predajcov ako nový stĺpec?
No, keďže je to index ktorý určuje, z ktorého stĺpca má Google Sheets VLOOKUP zobrať údaje, je možné povedať, že je to ten, ktorý je potrebné upraviť.
Najjednoduchšie by bolo vzorec jednoducho skopírovať do susedného stĺpca a zvýšiť jeho index o jeden (nahradiť 2 s 3 ):
=ArrayFormula(IFERROR(VLOOKUP($B$2:$B$10,Sheet1!$B$2:$D$10,3,FALSE),"")
Ten istý vzorec s iným indexom však budete musieť vložiť toľkokrát, koľko ďalších stĺpcov chcete získať.
Našťastie existuje lepšia alternatíva. Zahŕňa vytvorenie polí. Polia umožňujú spojiť všetky stĺpce, ktoré chcete vytiahnuť, do jedného indexu.
Pri vytváraní poľa v aplikácii Google Sheets uvádzate hodnoty alebo odkazy na bunky/rozsahy v zátvorkách, napr. ={1, 2, 3} alebo ={1; 2; 3}
Usporiadanie týchto záznamov v hárku závisí od oddeľovača:
- Ak použijete stredník, čísla budú v rámci stĺpca zaberať rôzne riadky:
Presne to musíte urobiť v argumente indexu VLOOKUP v tabuľkách Google.
Keďže zlúčim hárky Google, aktualizujem druhý stĺpec a vytiahnem tretí, potrebujem vytvoriť pole s týmito stĺpcami: {2, 3} :
=ArrayFormula(IFERROR(VLOOKUP($B$2:$B$10,Sheet1!$B$2:$D$10,{2,3},FALSE),"")
Týmto spôsobom jeden vzorec VLOOKUP v tabuľke Google Sheets porovnáva názvy, aktualizuje informácie o zásobách a pridáva súvisiacich dodávateľov do prázdneho susedného stĺpca.
Zhoda & zlúčenie hárkov a pridanie stĺpcov pomocou INDEX MATCH
Ďalšou funkciou je INDEX MATCH. Tieto dve funkcie spolu konkurujú funkcii VLOOKUP, pretože obchádzajú jej obmedzenia pri spájaní hárkov Google.
Tip. V tomto návode sa zoznámte s INDEX MATCH pre Google Sheets.
Na úvod vám pripomeniem vzorec, ktorý jednoducho zlúči jeden stĺpec na základe zhody:
=IFERROR(INDEX(Sheet1!$C$1:$C$10,MATCH(B2,Sheet1!$B$1:$B$10,0)),"")
V tomto vzorci, List1!$C$1:$C$10 je stĺpec s hodnotami, ktoré potrebujete vždy, keď List1!$B$1:$B$10 spĺňa rovnakú hodnotu ako v B2 v aktuálnej tabuľke.
Vzhľadom na tieto body je List1!$C$1:$C$10 ktoré musíte zmeniť, aby ste mohli nielen zlúčiť tabuľky a aktualizovať bunky, ale aj pridať stĺpce.
Na rozdiel od VLOOKUP v tabuľkách Google tu nie je nič náročné. Stačí zadať rozsah so všetkými požadovanými stĺpcami: ten, ktorý sa má aktualizovať, a ostatné, ktoré sa majú pridať. V mojom prípade to bude List1!$C$1:$D$10 :
=IFERROR(INDEX(Sheet1!$C$1:$D$10,MATCH(B2,Sheet1!$B$1:$B$10,0)),"")
Alebo môžem rozšíriť rozsah na E10 pridať 2 stĺpce, nie len jeden:
=IFERROR(INDEX(Sheet1!$C$1:$E$10,MATCH(B2,Sheet1!$B$1:$B$10,0)),"")
Poznámka. Tieto dodatočné záznamy vždy patria do susedných stĺpcov. Ak budú mať tieto stĺpce nejaké iné hodnoty, vzorec ich neprepíše. Vypíše chybu #REF s príslušnou nápovedou:
Po vymazaní týchto buniek alebo pridaní nových stĺpcov naľavo od nich sa zobrazia výsledky vzorca.
Zlúčiť hárky Google, aktualizovať bunky & pridať súvisiace stĺpce - to všetko pomocou QUERY
QUERY je jednou z najvýkonnejších funkcií v tabuľkách Google. Preto nie je prekvapením, že ju dnes použijem na zlúčenie niekoľkých hárkov Google, aktualizáciu buniek a zároveň pridanie ďalších stĺpcov.
Táto funkcia sa od ostatných líši tým, že jeden z jej argumentov používa príkazový jazyk.
Tip. Ak vás zaujíma, ako používať funkciu QUERY v tabuľkách Google, navštívte tento príspevok na blogu.
Najprv si pripomeňme vzorec, ktorý aktualizuje bunky:
=IFERROR(QUERY(Sheet1!$A$2:$C$10, "select C where&QUERY!$B2:$B$10&""),"")
Tu sa QUERY pozrie na tabuľku s požadovanými údajmi v hárku 1, porovná bunky v stĺpci B s mojou aktuálnou novou tabuľkou a zlúči tieto hárky: pri každej zhode vytiahne údaje zo stĺpca C. IFERROR udržiava výsledok bez chýb.
Ak chcete pridať ďalšie stĺpce pre tieto zhody, musíte v tomto vzorci urobiť dve malé zmeny:
- zoznam všetkých povinných stĺpcov pre vybrať príkaz:
...vyberte C,D,E...
- rozšíriť rozsah podľa toho:
...QUERY(Sheet1!$A$2:$E$10,...
Tu je celý vzorec:
=IFERROR(QUERY(Sheet1!$A$2:$E$10, "select C,D,E where&Sheet4!$B2:$B$10&""),"")
Aktualizuje sa stĺpec zásoby a do tejto hlavnej tabuľky sa prenesú ďalšie 2 stĺpce z vyhľadávacej tabuľky.
Ako pridať nezhodujúce sa riadky pomocou FILTER + VLOOKUP
Predstavte si toto: zlúčite 2 hárky Google, aktualizujete staré informácie s novými a získate nové stĺpce s ďalšími súvisiacimi hodnotami.
Čo iné by ste mohli urobiť, aby ste mali úplný prehľad o dostupných záznamoch?
Možno pridanie nezhodných riadkov na koniec tabuľky? Takto budete mať všetky hodnoty na jednom mieste: nielen zhody s aktualizovanými súvisiacimi informáciami, ale aj nezhody, aby sa započítali.
Príjemne ma prekvapilo, že VLOOKUP v hárkoch Google to vie. Pri použití spolu s funkciou FILTER zlúči hárky Google a pridá aj nezhodujúce sa riadky.
Tip. Na záver tiež ukážem, ako jeden doplnok robí to isté s jedným zaškrtávacím políčkom.
Argumenty pre FILTER hárkov Google sú celkom jasné:
=FILTER(range, condition1, [condition2, ...])- rozsah sú údaje, ktoré chcete filtrovať.
- podmienka1 je stĺpec alebo riadok s filtrovacím kritériom.
- kritériá2, kritériá3 atď. sú úplne nepovinné. Použite ich, ak potrebujete použiť viacero kritérií.
Tip. Viac informácií o funkcii FILTER v hárkoch Google sa dozviete v tomto príspevku na blogu.
Ako teda tieto dve funkcie spolupracujú a spájajú hárky Google? FILTER vráti údaje na základe kritérií filtrovania vytvorených funkciou VLOOKUP.
Pozrite sa na tento vzorec:
=FILTER(Sheet1!$A$2:$E$10,ISERROR(VLOOKUP(Sheet1!$B$2:$B$10,$B$2:$C$10,2,FALSE)=1))
Vyhľadá zhody v 2 tabuľkách Google a vytiahne nezhodujúce sa riadky z jednej tabuľky do druhej:
Vysvetlím vám, ako to funguje:
- FILTER prejde do vyhľadávacieho hárku (tabuľka so všetkými údajmi - List1!$A$2:$E$10 ) a použije VLOOKUP na získanie správnych riadkov.
- VLOOKUP vezme názvy položiek zo stĺpca B na tomto vyhľadávacom hárku a porovná ich s názvami z mojej aktuálnej tabuľky. Ak sa nezhodujú, VLOOKUP oznámi chybu.
- ISERROR označí každú takúto chybu číslom 1 a povie FILTER-u, aby tento riadok prevzal do iného listu.
Výsledkom je, že vzorec vytiahne 3 ďalšie riadky pre tie bobule, ktoré sa nevyskytujú v mojej hlavnej tabuľke.
Nie je to až také zložité, keď sa s touto metódou trochu pohráte :)
Ak tým však nechcete tráviť čas, existuje lepší a rýchlejší spôsob - bez jedinej funkcie a vzorca.
Spôsob porovnávania & zlúčenie údajov bez vzorcov - doplnok Merge Sheets
Doplnok Merge Sheets zahŕňa všetky 3 možnosti pri spájaní hárkov Google:
- aktualizuje súvisiace bunky na základe zhody
- pridá nové stĺpce pre tieto zhody
- vloží riadky s nezhodnými záznamami
Aby sa predišlo akýmkoľvek nejasnostiam, proces sa delí na 5 jednoduchých krokov :
- Prvé dve sú tam, kde ste vyberte svoje stoly aj keď sú v rôznych tabuľkách.
- Na stránke 3d , máte vyberte kľúčový stĺpec (stĺpce) ktoré by sa mali kontrolovať na zhodu.
- Stránka 4. krok vám umožňuje nastaviť stĺpce, ktoré sa majú aktualizovať s novými záznamami alebo pridať z jedného listu na druhý:
Trvalo niekoľko sekúnd, kým som videl výsledok:
Nainštalujte si aplikáciu Merge Sheets z obchodu Google Sheets a uvidíte, že spracúva väčšie tabuľky rovnako rýchlo. Vďaka aplikácii Merge Sheets budete mať viac času na dôležité veci.
Nechám tu aj toto 3-minútové demo video, ktoré vám pomôže rozhodnúť sa :)
Tabuľkový procesor s príkladmi vzorcov
Zlúčenie hárkov Google, pridanie súvisiacich stĺpcov & nezhodujúce sa riadky - príklady vzorcov (vytvorte si kópiu tejto tabuľky)