Sloučení 2 listů Google a aktualizace dat na základě společných záznamů

  • Sdílet Toto
Michael Brown

Dnešní příspěvek na blogu obsahuje všechny způsoby sloučení 2 listů Google. Budete používat VLOOKUP, INDEX/MATCH, QUERY a doplněk Merge Sheets k aktualizaci buněk v jednom listu ze záznamů z druhého listu na základě shod ve společných sloupcích.

    Sloučení listů Google pomocí funkce VLOOKUP

    Když potřebujete porovnat a sloučit dva listy Google, můžete se nejprve obrátit na funkci VLOOKUP.

    Syntaxe & použití

    Tato funkce prohledá zadaný sloupec pro určitou klíčovou hodnotu a vytáhne jeden ze souvisejících záznamů ze stejného řádku do jiné tabulky nebo listu.

    Ačkoli je funkce VLOOKUP v tabulkách Google obvykle považována za jednu z nejsložitějších, ve skutečnosti je poměrně jednoduchá a dokonce snadná, jakmile se s ní seznámíte.

    Podívejme se na jeho součásti:

    =VLOOKUP(search_key, range, index, [is_sorted])
    • search_key je hledaná hodnota klíče. Může to být libovolný textový řetězec, číslo nebo odkaz na buňku.
    • rozsah je skupina buněk (nebo tabulka), ve které se hledají údaje o search_key a odkud budete stahovat související záznamy.

      Poznámka: VLOOKUP v Tabulkách Google vždy prohledává první sloupec rozsah pro search_key .

    • index je číslo sloupce v rámci tohoto rozsah odkud chcete data čerpat.

      Např. pokud je rozsah pro vyhledávání A2:E20 a potřebujete získat data ze sloupce E, zadejte 5. Pokud je však rozsah D2:E20, musíte zadat 2, abyste získali záznamy ze sloupce E.

    • [is_sorted] je jediným argumentem, který můžete vynechat. Slouží k určení, zda je sloupec s hodnotami klíče setříděn (TRUE) nebo ne (FALSE). Pokud je TRUE, bude funkce pracovat s nejbližší shodou, pokud FALSE - s úplnou. Pokud je vynecháno, použije se standardně TRUE.

    Tip: Máme pro vás podrobného průvodce věnovaného funkci VLOOKUP v tabulkách Google. Přečtěte si jej, abyste se dozvěděli více o této funkci, jejích zvláštnostech & omezeních a získali další příklady vzorců.

    S těmito argumenty na paměti použijme VLOOKUP ke sloučení dvou listů Google.

    Předpokládejme, že mám malou tabulku s bobulemi a jejich ID v listu 2. Skladová dostupnost je však neznámá:

    Nazvěme tuto tabulku hlavní, protože mým cílem je ji vyplnit.

    V listu 1 je také další tabulka se všemi údaji, včetně skladové dostupnosti:

    Budu ji nazývat vyhledávací tabulka, protože se do ní podívám, abych získal data.

    Ke sloučení těchto dvou listů použiji funkci VLOOKUP v tabulkách Google Sheets. Funkce porovná bobule v obou tabulkách a vytáhne odpovídající informace o "zásobách" z vyhledávání do hlavní tabulky.

    =VLOOKUP(B2,List1!$B$2:$C$10,2,FALSE)

    Zde je uveden přesný postup sloučení dvou listů Google:

    1. Hledá hodnotu z B2 (hlavní list) ve sloupci B na listu 1 (vyhledávací list).

      Poznámka: Pamatujte, že VLOOKUP prohledává 1. sloupec zadaného rozsahu - List1!$B$2:$C$10 .

      Poznámka: Pro rozsah používám absolutní odkazy, protože vzorec kopíruji dolů do sloupce, a proto potřebuji, aby tento rozsah zůstal v každém řádku stejný, aby se výsledek nerozbil.

    2. FALSE na konci říká, že data ve sloupci B (v listu vyhledávání) nejsou seřazena, takže budou zohledněny pouze přesné shody.
    3. Jakmile je nalezena shoda, funkce VLOOKUP v tabulkách Google vytáhne související záznam z druhého sloupce tohoto rozsahu (sloupec C).

    Skrytí chyb vrácených funkcí VLOOKUP v Tabulkách Google - IFERROR

    Ale co ty chyby #N/A?

    Vidíte je v těch řádcích, kde bobule nemají shody v jiném listu a není co vracet. Naštěstí existuje způsob, jak takové buňky místo toho nechat prázdné.

    Stačí zabalit VLOOKUP v tabulkách Google do IFERROR:

    =IFERROR(VLOOKUP(B2,Sheet1!$B$2:$C$10,2,FALSE),"")

    Tip. Pomocí řešení z této příručky zachyťte a opravte další chyby, které může VLOOKUP v tabulkách Google vrátit.

    Shoda & aktualizace záznamů pro celý sloupec najednou - ArrayFormula

    Ještě bych se rád zmínil o tom, jak porovnat a sloučit data v tabulkách Google najednou pro celý sloupec.

    Nic zvláštního, jen jedna další funkce - ArrayFormula.

    Jednoduše nahraďte svůj jednobuněčný klíčový záznam ve VLOOKUP v tabulkách Google Sheets celým sloupcem a celý tento vzorec vložte do pole ArrayFormula:

    =ArrayFormula(IFERROR(VLOOKUP(B2:B10,Sheet1!$B$2:$C$10,2,FALSE),""))

    Tímto způsobem nebudete muset vzorec kopírovat dolů do sloupce. ArrayFormula vrátí do každé buňky hned správný výsledek.

    Přestože je VLOOKUP v Tabulkách Google pro takovéto jednoduché úlohy ideální, má jistá omezení. Zde je jedna z nevýhod: neumí se podívat vlevo. Ať zadáte jakýkoli rozsah, vždy prohledá jeho první sloupec.

    Pokud tedy potřebujete sloučit 2 listy Google a vytáhnout ID (data v 1. sloupci) na základě bobulí (2. sloupec), VLOOKUP vám nepomůže. Prostě nebudete schopni sestavit správný vzorec.

    V takových případech vstupuje do hry INDEX MATCH pro Google Sheets.

    Shoda &; sloučení listů Google pomocí dua INDEX MATCH

    INDEX MATCH, nebo spíše INDEX & MATCH, jsou ve skutečnosti dvě různé funkce Tabulky Google. Když se však použijí společně, je to jako další úroveň VLOOKUP.

    Ano, také sloučí listy Google: aktualizují buňky v jedné tabulce záznamy z jiné tabulky na základě společných klíčových záznamů.

    Dělají to však mnohem lépe, protože ignorují všechna omezení, která má VLOOKUP.

    Dnes se nebudu zabývat všemi základy, protože to jsem udělal v tomto příspěvku na blogu. Uvedu ale několik příkladů vzorců INDEX MATCH, abyste viděli, jak fungují přímo v tabulkách Google. Použiji stejné ukázkové tabulky jako výše.

    INDEX MATCH v akci v Tabulkách Google

    Nejprve sloučíme tyto listy Google a aktualizujeme skladovou dostupnost všech odpovídajících bobulí:

    =INDEX(List1!$C$1:$C$10,MATCH(B2,List1!$B$1:$B$10,0))

    Jak funguje INDEX & MATCH při takovémto použití?

    1. MATCH se podívá na B2 a vyhledá přesně stejný záznam ve sloupci B na listu 1. Po nalezení vrátí číslo řádku, který obsahuje danou hodnotu - v mém případě 10.
    2. INDEX přejde také na tento 10. řádek listu 1, pouze převezme hodnotu z jiného sloupce - C.

    Nyní vyzkoušejme INDEX MATCH proti tomu, co VLOOKUP v tabulkách Google neumí - sloučit listy a aktualizovat sloupec úplně vlevo požadovanými ID:

    =INDEX(List1!$A$2:$A$10,MATCH(B2,List1!$B$2:$B$10,0))

    Snadné a jednoduché :)

    Zpracování chyb vrácených pomocí INDEX MATCH v Tabulkách Google

    Půjdeme ještě dál a zbavíme se těchto chyb v buňkách bez shody. Opět nám pomůže IFERROR. Stačí, když jako jeho první argument uvedete INDEX MATCH z Google Sheets.

    Příklad 1.

    =IFERROR(INDEX(List1!$C$1:$C$10,MATCH(B2,List1!$B$1:$B$10,0)),"")

    Příklad 2.

    =IFERROR(INDEX(List1!$A$2:$A$10,MATCH(B2,List1!$B$2:$B$10,0)),"")

    Jak nyní sloučit tyto listy Google pomocí INDEX MATCH a aktualizovat všechny buňky v celém sloupci najednou?

    No... Nemáte. Je tu malý problém: ArrayFormula s těmito dvěma nefunguje.

    Budete muset zkopírovat vzorec INDEX MATCH dolů sloupce nebo použít funkci Google Sheets QUERY jako alternativu.

    Sloučit listy Google & amp; aktualizovat buňky pomocí QUERY

    Funkce QUERY v tabulkových procesorech Google Sheets je nejmocnější funkcí v tabulkových procesorech. Vzhledem k této věci není překvapením, že nabízí způsob, jak sloučit tabulky - porovnat & sloučit hodnoty z různých listů.

    =QUERY(data, query, [headers])

    Tip: Pokud jste nikdy předtím nepoužívali dotazník Google Sheets QUERY, tento návod vás seznámí s jeho zvláštním jazykem.

    Jak by měl vypadat vzorec QUERY pro aktualizaci Stock sloupec se skutečnými údaji?

    =QUERY(Sheet1!$A$2:$C$10, "select C where&Sheet4!$B2:$B$10&""))

    • Google Sheets QUERY se podívá na můj vyhledávací list (list1 se záznamy, které potřebuji vytáhnout do mé hlavní tabulky)
    • a vrátí všechny buňky ze sloupce C, kde sloupec B odpovídá bobulím v mé hlavní tabulce.

    Dovolte mi, abych tyto chyby pro buňky bez shod ztratil:

    =IFERROR(QUERY(Sheet1!$A$2:$C$10, "select C where&Sheet4!$B2:$B$10&""),"")

    Tak to je lepší :)

    Sloučení tabulek z různých tabulek Google - funkce IMPORTRANGE

    Rád bych se zmínil ještě o jedné funkci. Je důležitá, protože umožňuje sloučit listy, které se nacházejí v různých tabulkách (souborech) Google.

    Funkce se nazývá IMPORTRANGE:

    =IMPORTRANGE("spreadsheet_url", "range_string")
    • v prvním případě jde o odkaz na tabulku, ze které čerpáte data.
    • druhý jde list & rozsah, který chcete vzít z tohoto tabulky

    Poznámka: Důrazně doporučuji projít si dokumenty Google o této funkci, aby vám neunikla žádná důležitá nuance její práce.

    Představte si, že váš vyhledávací list (s referenčními údaji) je v Tabulce 2 (tzv. vyhledávací tabulka). Váš hlavní list je v Tabulce 1 (hlavní tabulka).

    Poznámka: Aby IMPORTRANGE fungoval, musíte oba soubory propojit. A zatímco List Google nabízí tlačítko pro tento účel hned po zadání vzorce do buňky a stisknutí tlačítka Vstupte na , u níže uvedených vzorců to možná budete muset udělat předem. Tento průvodce vám pomůže krok za krokem.

    Níže jsou uvedeny příklady sloučení listů Google z různých souborů pomocí funkce IMPORTRANGE, které jste se dnes naučili.

    Příklad 1. IMPORTRANGE + VLOOKUP

    Použijte IMPORTRAGE jako rozsah ve VLOOKUP ke sloučení 2 samostatných tabulek Google:

    =ArrayFormula(IFERROR(VLOOKUP(B2:B10,IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$B$2:$C$10"),2,FALSE),""))

    Příklad 2. IMPORTRANGE + INDEX MATCH

    V případě INDEX MATCH & IMPORTRANGE je vzorec objemnější, protože je třeba odkazovat na jinou tabulku dvakrát: jako na rozsah pro INDEX a jako na rozsah pro 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)),"")

    Příklad 3. IMPORTRANGE + QUERY

    Tento tandem vzorců je mým osobním favoritem. Při společném použití si poradí téměř s čímkoli v tabulkách. Výjimkou není ani slučování listů Google ze samostatných tabulek.

    =IFERROR(QUERY(IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$A$2:$C$10"), "select Col3 where&QUERY!$B2:$B$10&"""),"")

    Uf!

    To je pro funkce & vzorce vše.

    Můžete si vybrat libovolnou funkci & sestavte si vlastní vzorec podle výše uvedených příkladů...

    nebo...

    ...zkuste speciální nástroj, který za vás sloučí listy Google! ;)

    Slučování dat bez použití vzorců - doplněk Merge Sheets pro Google Sheets

    Pokud nemáte čas vytvářet nebo se dokonce učit vzorce, nebo pokud jednoduše hledáte nejjednodušší způsob, jak spojit data na základě společných záznamů, bude pro vás nástroj Merge Sheets ideální.

    Stačí zaškrtnout políčka v 5 uživatelsky přívětivých krocích:

    1. vyberte hlavní list
    2. vyberte vyhledávací list
    3. označit klíčové sloupce (ty, které obsahují záznamy, jež mají být porovnány) pomocí zaškrtávacích políček.
    4. vyberte sloupce, které chcete aktualizovat:

  • upravit další možnosti, např. označit aktualizované záznamy barvou nebo ve stavovém sloupci atd.
  • Existuje dokonce možnost uložit všechny vybrané možnosti do scénáře a znovu jej použít, kdykoli budete potřebovat:

    Podívejte se na tříminutové ukázkové video a zjistěte, jak to funguje:

    Doporučuji vám, abyste si nainstalovali Merge Sheets z obchodu Google Sheets a podle těchto pokynů zkusili aktualizovat vlastní tabulku pomocí informací z jiného listu.

    Tabulkový procesor s příklady vzorců

    Sloučení listů Google & aktualizace dat - příklady vzorců (vytvořte kopii souboru)

    Michael Brown je oddaný technologický nadšenec s vášní pro zjednodušování složitých procesů pomocí softwarových nástrojů. S více než desetiletými zkušenostmi v technologickém průmyslu zdokonalil své dovednosti v aplikacích Microsoft Excel a Outlook a také v Tabulkách a Dokumentech Google. Michaelův blog je věnován sdílení jeho znalostí a odborných znalostí s ostatními a poskytuje snadno pochopitelné tipy a návody pro zlepšení produktivity a efektivity. Ať už jste zkušený profesionál nebo začátečník, Michaelův blog nabízí cenné postřehy a praktické rady, jak tyto základní softwarové nástroje co nejlépe využít.