Obsah
Dnešný príspevok na blogu obsahuje všetky spôsoby zlúčenia 2 hárkov Google. Budete používať VLOOKUP, INDEX/MATCH, QUERY a doplnok Merge Sheets na aktualizáciu buniek v jednom hárku zo záznamov z druhého hárku na základe zhody v spoločných stĺpcoch.
Zlúčenie hárkov Google pomocou funkcie VLOOKUP
Keď potrebujete porovnať a zlúčiť dva hárky Google, ako prvú môžete použiť funkciu VLOOKUP.
Syntax & použitie
Táto funkcia vyhľadá v zadanom stĺpci určitú kľúčovú hodnotu a vytiahne jeden zo súvisiacich záznamov z toho istého riadku do inej tabuľky alebo listu.
Hoci sa VLOOKUP v tabuľkách Google zvyčajne považuje za jednu z najťažších funkcií, v skutočnosti je celkom jednoduchá a dokonca ľahká, keď sa s ňou zoznámite.
Pozrime sa na jeho súčasti:
=VLOOKUP(search_key, range, index, [is_sorted])- search_key je hľadaná hodnota kľúča. Môže to byť akýkoľvek textový reťazec, číslo alebo odkaz na bunku.
- rozsah je skupina buniek (alebo tabuľka), v ktorej budete hľadať search_key a odkiaľ budete ťahať súvisiace záznamy.
Poznámka: VLOOKUP v hárkoch Google prehľadáva vždy prvý stĺpec rozsah pre search_key .
- index je číslo stĺpca v rámci tohto rozsah odkiaľ chcete čerpať údaje.
Napr. ak je váš rozsah na vyhľadávanie A2:E20 a potrebujete získať údaje zo stĺpca E, zadajte 5. Ak je však váš rozsah D2:E20, musíte zadať 2, aby ste získali záznamy zo stĺpca E.
- [is_sorted] je jediný argument, ktorý môžete vynechať. Používa sa na určenie, či je stĺpec s hodnotami kľúčov zoradený (TRUE) alebo nie (FALSE). Ak je TRUE, funkcia bude pracovať s najbližšou zhodou, ak FALSE - s úplnou. Ak je vynechaný, predvolene sa použije TRUE.
Tip. Máme podrobného sprievodcu venovaného funkcii VLOOKUP v tabuľkách Google. Pozrite si ho, aby ste sa dozvedeli viac o tejto funkcii, jej zvláštnostiach & obmedzeniach a získali ďalšie príklady vzorcov.
S týmito argumentmi na pamäti použime VLOOKUP na zlúčenie dvoch hárkov Google.
Predpokladajme, že mám malú tabuľku s bobuľami a ich ID v hárku 2. Dostupnosť zásob je však neznáma:
Nazvime túto tabuľku hlavnou, pretože mojím cieľom je vyplniť ju.
V hárku 1 je aj ďalšia tabuľka so všetkými údajmi vrátane skladovej dostupnosti:
Nazvem ju vyhľadávacia tabuľka, pretože sa do nej pozriem, aby som získal údaje.
Na zlúčenie týchto dvoch hárkov použijem funkciu VLOOKUP v tabuľkách Google Sheets. Funkcia porovná bobule v oboch tabuľkách a stiahne príslušné informácie o "zásobách" z vyhľadávania do hlavnej tabuľky.
=VLOOKUP(B2,Sheet1!$B$2:$C$10,2,FALSE)
Tu je uvedený presný postup zlúčenia dvoch hárkov Google:
- Hľadá hodnotu z B2 (hlavný hárok) v stĺpci B na hárku 1 (vyhľadávací hárok).
Poznámka: Pamätajte, že VLOOKUP prehľadáva 1. stĺpec zadaného rozsahu - List1!$B$2:$C$10 .
Poznámka: Pre rozsah používam absolútne odkazy, pretože vzorec kopírujem do stĺpca, a preto potrebujem, aby tento rozsah zostal v každom riadku rovnaký, aby sa výsledok nezlomil.
- FALSE na konci hovorí, že údaje v stĺpci B (v hárku vyhľadávania) nie sú zoradené, takže sa budú brať do úvahy len presné zhody.
- Keď sa nájde zhoda, VLOOKUP v tabuľkách Google vytiahne súvisiaci záznam z druhého stĺpca tohto rozsahu (stĺpec C).
Skrytie chýb vrátených funkciou VLOOKUP v tabuľkách Google - IFERROR
Ale čo tie chyby #N/A?
Vidíte ich v tých riadkoch, kde bobule nemajú zhodu v inom hárku a nie je čo vrátiť. Našťastie existuje spôsob, ako takéto bunky nechať namiesto nich prázdne.
Stačí, ak svoj VLOOKUP v tabuľke Google zabalíte do IFERROR:
=IFERROR(VLOOKUP(B2,Sheet1!$B$2:$C$10,2,FALSE),"")
Tip. Pomocou riešení z tejto príručky zachyťte a opravte ďalšie chyby, ktoré môže vrátiť VLOOKUP v tabuľkách Google.
Zhoda & aktualizácia záznamov pre celý stĺpec naraz - ArrayFormula
Ešte by som rád spomenul, ako porovnať a zlúčiť údaje z hárkov Google naraz pre celý stĺpec.
Nie je to nič zvláštne, len jedna funkcia navyše - ArrayFormula.
Jednoducho nahraďte svoj jednobunkový záznam s kľúčom vo VLOOKUP v hárkoch Google s celým stĺpcom a vložte celý tento vzorec do ArrayFormula:
=ArrayFormula(IFERROR(VLOOKUP(B2:B10,Sheet1!$B$2:$C$10,2,FALSE),""))
Takto nebudete musieť vzorec kopírovať do stĺpca. ArrayFormula vráti správny výsledok do každej bunky hneď.
Hoci je VLOOKUP v tabuľkách Google ideálny na takéto jednoduché úlohy, má určité obmedzenia. Tu je jedna z nevýhod: nemôže sa pozerať doľava. Nech zadáte akýkoľvek rozsah, vždy prehľadá jeho prvý stĺpec.
Ak teda potrebujete zlúčiť 2 hárky Google a vytiahnuť ID (údaje v 1. stĺpci) na základe bobúľ (2. stĺpec), VLOOKUP vám nepomôže. Jednoducho nebudete môcť zostaviť správny vzorec.
V takýchto prípadoch vstupuje do hry INDEX MATCH pre Google Sheets.
Porovnanie a zlúčenie hárkov Google pomocou dua INDEX MATCH
INDEX MATCH, alebo skôr INDEX & MATCH, sú v skutočnosti dve rôzne funkcie Google Sheets. Keď sa však použijú spoločne, je to ako ďalšia úroveň VLOOKUP.
Áno, tiež spájajú hárky Google: aktualizujú bunky v jednej tabuľke záznamami z inej tabuľky na základe spoločných kľúčových záznamov.
Ale robia to oveľa lepšie, pretože ignorujú všetky obmedzenia, ktoré má VLOOKUP.
Dnes sa nebudem venovať všetkým základom, pretože som to urobil v tomto príspevku na blogu. Ale uvediem niekoľko príkladov vzorcov INDEX MATCH, aby ste mohli vidieť, ako fungujú priamo v tabuľkách Google. Použijem tie isté vzorové tabuľky z vyššie uvedeného.
INDEX MATCH v akcii v tabuľkách Google
Najprv zlúčime tieto hárky Google a aktualizujme dostupnosť zásob pre všetky zodpovedajúce bobule:
=INDEX(Sheet1!$C$1:$C$10,MATCH(B2,Sheet1!$B$1:$B$10,0))
Ako funguje INDEX & MATCH pri takomto použití?
- MATCH sa pozrie na B2 a vyhľadá presne rovnaký záznam v stĺpci B na hárku 1. Po nájdení vráti číslo riadku, ktorý obsahuje danú hodnotu - v mojom prípade 10.
- INDEX prechádza aj na tento 10. riadok na hárku 1, len preberá hodnotu z iného stĺpca - C.
Teraz vyskúšajme INDEX MATCH proti tomu, čo VLOOKUP v hárkoch Google nedokáže - zlúčiť hárky a aktualizovať ľavý stĺpec s požadovanými ID:
=INDEX(Sheet1!$A$2:$A$10,MATCH(B2,Sheet1!$B$2:$B$10,0))
Jednoduché a ľahké :)
Spracovanie chýb vrátených pomocou INDEX MATCH v hárkoch Google
Poďme ďalej a zbavme sa týchto chýb v bunkách bez zhody. Opäť nám pomôže IFERROR. Stačí, ak ako jeho prvý argument uvediete INDEX MATCH z Google Sheets.
Príklad 1.
=IFERROR(INDEX(Sheet1!$C$1:$C$10,MATCH(B2,Sheet1!$B$1:$B$10,0)),"")
Príklad 2.
=IFERROR(INDEX(Sheet1!$A$2:$A$10,MATCH(B2,Sheet1!$B$2:$B$10,0)),"")
Ako teraz zlúčite tieto hárky Google pomocou INDEX MATCH a aktualizujete všetky bunky v celom stĺpci naraz?
No... Nemusíte. Je tu malý problém: ArrayFormula s nimi nefunguje.
Budete musieť skopírovať vzorec INDEX MATCH do stĺpca alebo použiť funkciu Google Sheets QUERY ako alternatívu.
Zlúčiť hárky Google & aktualizovať bunky pomocou QUERY
Hárky Google QUERY sú najvýkonnejšou funkciou v tabuľkách. Vzhľadom na túto vec nie je prekvapením, že ponúkajú spôsob, ako ako zlúčiť tabuľky - porovnať & zlúčiť hodnoty z rôznych hárkov.
=QUERY(dáta, dotaz, [hlavičky])Tip: Ak ste ešte nikdy nepoužívali hárky Google QUERY, tento návod vás oboznámi s ich zvláštnym jazykom.
Ako by mal vyzerať vzorec QUERY na aktualizáciu Zásoby stĺpec s aktuálnymi údajmi?
=QUERY(Sheet1!$A$2:$C$10, "select C where&Sheet4!$B2:$B$10&"")
- Google Sheets QUERY sa pozrie na môj vyhľadávací hárok (hárok 1 so záznamami, ktoré potrebujem vytiahnuť do hlavnej tabuľky)
- a vráti všetky tie bunky zo stĺpca C, v ktorých sa stĺpec B zhoduje s bobuľami v mojej hlavnej tabuľke
Dovoľte mi, aby som tieto chyby pre bunky bez zápaliek stratil:
=IFERROR(QUERY(Sheet1!$A$2:$C$10, "select C where&Sheet4!$B2:$B$10&""),"")
Tak to je lepšie :)
Zlúčenie tabuliek z rôznych tabuliek Google - funkcia IMPORTRANGE
Rád by som spomenul ešte jednu funkciu. Je dôležitá, pretože umožňuje zlúčiť hárky, ktoré sa nachádzajú v rôznych tabuľkách (súboroch) Google.
Funkcia sa nazýva IMPORTRANGE:
=IMPORTRANGE("spreadsheet_url", "range_string")- v prvom prípade ide o odkaz na tabuľku, z ktorej sa údaje čerpajú.
- ten ide na hárok & rozsah, ktorý chcete prevziať z tejto tabuľky
Poznámka: Dôrazne odporúčam prejsť dokumenty Google o tejto funkcii, aby vám neunikla žiadna dôležitá nuansa jej fungovania.
Predstavte si, že váš vyhľadávací hárok (s referenčnými údajmi) sa nachádza v tabuľke Spreadsheet 2 (tzv. vyhľadávací hárok). Váš hlavný hárok sa nachádza v tabuľke Spreadsheet 1 (hlavný hárok).
Poznámka: Aby IMPORTRANGE fungoval, musíte prepojiť oba súbory. A hoci vám na to hárok Google ponúka tlačidlo hneď po zadaní vzorca do bunky a stlačení Vstúpte na stránku , v prípade nižšie uvedených vzorcov to možno budete musieť urobiť vopred. Tento sprievodca vám pomôže krok za krokom.
Nižšie sú uvedené príklady na zlúčenie hárkov Google z rôznych súborov pomocou funkcie IMPORTRANGE s každou funkciou, ktorú ste sa dnes naučili.
Príklad 1. IMPORTRANGE + VLOOKUP
Použite IMPORTRAGE ako rozsah vo VLOOKUP na zlúčenie 2 samostatných tabuliek Google:
=ArrayFormula(IFERROR(VLOOKUP(B2:B10,IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$B$2:$C$10"),2,FALSE),"")
Príklad 2. IMPORTRANGE + INDEX MATCH
Pokiaľ ide o INDEX MATCH & IMPORTRANGE, vzorec sa stáva objemnejším, pretože musíte dvakrát odkazovať na inú tabuľku: ako na rozsah pre INDEX a ako na rozsah pre MATCH:
=IFERROR(INDEX(IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$A$1:$A$10"),MATCH(B2,IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$B$2:$B$10"),0)),"")
Príklad 3. IMPORTRANGE + QUERY
Tento tandem vzorcov je mojím osobným favoritom. Pri spoločnom použití si dokážu poradiť takmer so všetkým v tabuľkách. Výnimkou nie je ani spájanie hárkov Google zo samostatných tabuliek.
=IFERROR(QUERY(IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$A$2:$C$10"), "select Col3 where&QUERY!$B2:$B$10&"""),"")
Fúha!
To je všetko pre funkcie & vzorce.
Môžete si vybrať ľubovoľnú funkciu & zostavte si vlastný vzorec podľa uvedených príkladov...
alebo...
...vyskúšajte špeciálny nástroj, ktorý za vás zlúči hárky Google! ;)
Spôsob porovnávania a spájania údajov bez použitia vzorcov - doplnok Merge Sheets pre Google Sheets
Ak nemáte čas vytvárať alebo sa dokonca učiť vzorce, alebo ak jednoducho hľadáte najjednoduchší spôsob spájania údajov na základe spoločných záznamov, bude pre vás nástroj Merge Sheets ideálny.
Všetko, čo musíte urobiť, je zaškrtnúť políčka v 5 používateľsky jednoduchých krokoch:
- vyberte svoj hlavný list
- vyberte svoj vyhľadávací hárok
- označiť kľúčové stĺpce (tie, ktoré obsahujú záznamy, ktoré sa majú porovnať) pomocou zaškrtávacích políčok.
- vyberte stĺpce, ktoré chcete aktualizovať:
Existuje dokonca možnosť uložiť všetky vybrané možnosti do scenára a použiť ho kedykoľvek budete potrebovať:
Pozrite si toto 3-minútové ukážkové video, aby ste videli, ako to funguje:
Odporúčam vám, aby ste si nainštalovali Merge Sheets z obchodu Google Sheets a podľa týchto pokynov vyskúšali aktualizovať vlastnú tabuľku s informáciami z iného hárku.
Tabuľkový procesor s príkladmi vzorcov
Zlúčenie hárkov Google & aktualizácia údajov - príklady vzorcov (vytvorte kópiu súboru)