INDEX MATCH v Tabulkách Google - další způsob vertikálního vyhledávání

  • Sdílet Toto
Michael Brown

Když potřebujete v listu najít data, která odpovídají určitému klíčovému záznamu, obvykle se obracíte na VLOOKUP v tabulkách Google. Ale vidíte: VLOOKUP vás téměř okamžitě udeří omezeními. Proto raději zvyšte prostředky pro tento úkol tím, že se naučíte INDEX MATCH.

INDEX MATCH v Tabulkách Google je kombinací dvou funkcí: INDEX a MATCH. Při použití v tandemu fungují jako lepší alternativa pro VLOOKUP v Tabulkách Google. Pojďme se o jejich schopnostech přesvědčit společně v tomto příspěvku na blogu. Nejprve bych vás ale rád krátce seznámil s jejich vlastními rolemi v tabulkách.

    Funkce MATCH v tabulkách Google

    Rád bych začal s nástrojem MATCH v tabulkách Google, protože je opravdu jednoduchý. Prohledá vaše data a vrátí jejich pozici:

    =MATCH(search_key, range, [search_type])
    • search_key je ten záznam, který hledáte. Požadováno.
    • rozsah je buď řádek, nebo sloupec, ve kterém se má hledat. Požadováno.

      Poznámka: MATCH přijímá pouze jednorozměrná pole: buď řádková, nebo sloupcová.

    • search_type je nepovinná a určuje, zda má být shoda přesná nebo přibližná. Pokud je vynechána, je výchozí hodnota 1:
      • 1 znamená, že rozsah je seřazen vzestupně. Funkce získá největší hodnotu menší nebo rovnou vaší hodnotě. search_key .
      • 0 přiměje funkci hledat přesnou shodu v případě, že váš rozsah není seřazen.
      • -1 napovídá, že záznamy jsou řazeny sestupně. V tomto případě funkce získá nejmenší hodnotu větší nebo rovnou vaší hodnotě. search_key .

    Zde je příklad: chci-li získat pozici určité bobule v seznamu všech bobulí, potřebuji v tabulkách Google následující vzorec MATCH:

    =MATCH("Blueberry", A1:A10, 0)

    Funkce INDEX v tabulkách Google

    Zatímco funkce MATCH ukazuje, kde hledat hodnotu (její umístění v rozsahu), funkce INDEX v Tabulkách Google načte samotnou hodnotu na základě jejího řádkového a sloupcového posunu:

    =INDEX(reference, [řádek], [sloupec])
    • odkaz je rozsah, který je třeba hledat. Požadováno.
    • řádek je počet řádků, které mají být odsazeny od první buňky rozsahu. Nepovinné, pokud není uvedeno, je to 0.
    • sloupec , stejně jako řádek , je počet odsazených sloupců. Rovněž nepovinné, pokud je vynecháno, také 0.

    Pokud zadáte oba nepovinné argumenty (řádek a sloupec), vrátí nástroj Google Sheets INDEX záznam z cílové buňky:

    =INDEX(A1:C10, 7, 1)

    Pokud jeden z těchto argumentů vynecháte, funkce vám odpovídajícím způsobem zobrazí celý řádek nebo sloupec:

    =INDEX(A1:C10, 7)

    Jak používat INDEX MATCH v Tabulkách Google - příklady vzorců

    Když se INDEX a MATCH používají v tabulkách společně, jsou nejmocnější. Mohou naprosto nahradit VLOOKUP v tabulkách Google a načíst požadovaný záznam z tabulky na základě klíčové hodnoty.

    Vytvoření prvního vzorce INDEX MATCH pro Tabulky Google

    Předpokládejme, že byste chtěli získat informace o zásobách brusinek ze stejné tabulky, kterou jsem použil výše. Pouze jsem prohodil sloupce B a C (proč, to se dozvíte o něco později).

    1. Nyní jsou všechny bobule uvedeny ve sloupci C. Funkce MATCH v tabulkách Google vám pomůže najít přesný řádek brusinky: 8

      =MATCH("Brusinka", C1:C10, 0)

    2. Celý vzorec MATCH vložte do řádek argument ve funkci INDEX:

      =INDEX(A1:C10, MATCH("Brusinka", C1:C10, 0))

      Ten vrátí celou řadu s brusinkami.

    3. Protože však potřebujete pouze informace o zásobách, zadejte také číslo sloupce pro vyhledávání: 3

      =INDEX(A1:C10, MATCH("Brusinka", C1:C10,0), 2)

    4. Voila!

    5. Můžete jít ještě dál a vzdát se posledního sloupcového indikátoru ( 2 ). Pokud používáte pouze sloupec pro vyhledávání ( B1:B10 ), nikoliv celé tabulky ( A1:C10 ) jako první argument:

      =INDEX(B1:B10, MATCH("Brusinka", C1:C10, 0))

      Tip. Pohodlnějším způsobem, jak zkontrolovat dostupnost různých bobulí, by bylo umístit je do rozevíracího seznamu ( E2 ) a odkažte funkci MATCH na buňku s tímto seznamem:

      =INDEX(B1:B10, MATCH(E2, C1:C10, 0))

      Po výběru bobulí se odpovídajícím způsobem změní související hodnota:

    Proč je INDEX MATCH v Tabulkách Google lepší než VLOOKUP

    Už víte, že INDEX MATCH v Tabulkách Google vyhledá vaši hodnotu v tabulce a vrátí jiný související záznam ze stejného řádku. A víte, že VLOOKUP v Tabulkách Google dělá přesně totéž. Tak proč se tím zabývat?

    Jde o to, že, INDEX MATCH má adresu některé hlavní výhody nad VLOOKUP:

    1. Je možné vyhledávání na levé straně . pro ilustraci jsem dříve změnil místa sloupců: funkce INDEX MATCH v Google Sheets může hledat a hledá nalevo od hledaného sloupce. VLOOKUP vždy hledá úplně první sloupec rozsahu a hledá shody napravo od něj - jinak dostane pouze chyby #N/A:

    2. Žádné zmatené odkazy při přidávání nových sloupců a přesouvání stávajících. Pokud přidáte nebo přesunete sloupce, INDEX MATCH tyto změny automaticky zohlední, aniž by zasahoval do výsledku. Protože používáte odkazy na sloupce, Tabulky Google je okamžitě upraví:

      Klidně to zkuste udělat pomocí VLOOKUP: vyžaduje číslo objednávky, nikoli odkaz na buňku pro vyhledávací sloupec. Tím pádem nakonec jen získáte špatnou hodnotu, protože na stejném místě je jiný sloupec - sloupec 2 v mém příkladu:

    3. Zvažuje případ textu v případě potřeby (více o tom níže).
    4. Lze použít pro vertikální vyhledávání na základě více kritérií.

    Vyzývám vás, abyste se na poslední dva body podívali podrobněji níže.

    Vyhledávání v s rozlišováním malých a velkých písmen pomocí INDEX MATCH v Tabulkách Google

    INDEX MATCH je vhodný, pokud jde o citlivost na velká a malá písmena.

    Předpokládejme, že všechny bobule se prodávají dvěma způsoby - volně (vážené u pultu) a balené v krabicích. Proto jsou v seznamu dva výskyty každé bobule zapsané v různých případech, každý s vlastním ID, které se v případech také liší:

    Jak tedy můžete vyhledat informace o zásobách bobulí prodávaných určitým způsobem? VLOOKUP vrátí první nalezený název bez ohledu na jeho velikost.

    Naštěstí to INDEX MATCH pro Tabulky Google umí správně. Stačí použít jednu další funkci - FIND nebo EXACT.

    Příklad 1. FIND pro Vlookup s rozlišováním velkých a malých písmen

    Funkce FIND rozlišuje v tabulkách Google velká a malá písmena, takže se skvěle hodí pro vertikální vyhledávání podle velikosti písmen:

    =ArrayFormula(INDEX(B2:B19, MATCH(1, FIND(E2, C2:C19)), 0))

    Podívejme se, co se stane v tomto vzorci:

    1. FIND prohledá sloupec C ( C2:C19 ) pro záznam z E2 ( cherry ) s ohledem na velikost písmen. Po nalezení vzorec "označí" danou buňku číslem - 1 .
    2. MATCH vyhledává tuto značku - 1 - ve stejném sloupci ( C ) a předá číslo jeho řádku do INDEXu.
    3. INDEX přejde na tento řádek ve sloupci B ( B2:B19 ) a načte požadovaný záznam.
    4. Po dokončení sestavení vzorce stiskněte kombinaci kláves Ctrl+Shift+Enter, abyste na začátek přidali ArrayFormula. Je to nutné, protože bez něj nebude FIND schopen vyhledávat v polích (ve více než jedné buňce). Nebo můžete zadat ' ArrayFormula ' z klávesnice.

    Příklad 2. EXACT pro Vlookup s rozlišováním velkých a malých písmen

    Pokud nahradíte funkci FIND funkcí EXACT, bude tato funkce vyhledávat záznamy s přesně stejnými znaky, včetně velikosti písmen v textu.

    Jediný rozdíl je v tom, že EXACT "označí" shodu pomocí TRUE spíše než počet 1 . Proto by první argument pro MATCH měl být TRUE :

    =ArrayFormula(INDEX(B2:B19, MATCH(TRUE, EXACT(E2, C2:C19), 0)))

    INDEX MATCH v tabulkách Google s více kritérii

    Co když existuje několik podmínek, na jejichž základě chcete záznam načíst?

    Zkontrolujme cenu cherry která se prodává v Vědra z PP a je již vyčerpání :

    Všechna kritéria jsem uspořádal do rozevíracích seznamů ve sloupci F. A právě INDEX MATCH v tabulkách Google podporuje více kritérií, nikoli VLOOKUP. Zde je vzorec, který budete muset použít:

    =ArrayFormula(INDEX(B2:B24, MATCH(CONCATENATE(F2:F4), A2:A24&C2:C24&D2:D24, 0),))

    Nepropadejte panice! :) Jeho logika je vlastně docela jednoduchá:

    1. CONCATENATE(F2:F4) spojí všechny tři záznamy z buněk s kritérii do jednoho řetězce takto:

      CherryPP bucketDochází

      Jedná se o search_key pro MATCH, jinými slovy, co hledáte v tabulce.

    2. A2:A24&C2:C24&D2:D24 představují rozsah pro funkci MATCH. Protože všechna tři kritéria probíhají ve třech samostatných sloupcích, tímto způsobem je jakoby spojíte:

      CherryKartonový podnosSkladem

      Obal CherryFilmNení skladem

      CherryPP bucketDochází

      atd.

    3. Poslední argument v MATCH - 0 - umožňuje najít přesnou shodu pro CherryPP bucketDochází mezi všemi těmi řádky kombinovaných sloupců. Jak vidíte, je to ve 3. řádku.
    4. A pak INDEX provede svou práci: načte záznam ze 3. řádku sloupce B.
    5. ArrayFormula slouží k tomu, aby ostatní funkce mohly pracovat s poli.

    Tip: Pokud vzorec nenajde shodu, vrátí chybu. Chcete-li se tomu vyhnout, můžete celý vzorec obalit IFERROR (aby byl prvním argumentem) a jako druhý argument zadat cokoli, co chcete v buňce vidět místo chyb:

    =IFERROR(ArrayFormula(INDEX(B2:B27, MATCH(CONCATENATE(F2:F4), A2:A27&C2:C27&D2:D27, 0),)), "Not found")

    Lepší alternativa k INDEX MATCH v tabulkách Google - vícenásobné shody VLOOKUP

    Ať už dáváte přednost funkci VLOOKUP nebo INDEX MATCH, k oběma existuje lepší alternativa.

    Multiple VLOOKUP Matches je speciální doplněk pro Tabulky Google určený k:

    • vyhledávání bez vzorců
    • vyhledávání ve všech směrech
    • vyhledávání podle více podmínek pro různé typy dat: text, čísla, data, čas, atd.
    • načíst několik zápalek, tolik, kolik potřebujete (samozřejmě za předpokladu, že jich je v tabulce tolik, kolik potřebujete).

    Rozhraní je jednoduché, takže nemusíte pochybovat, zda vše děláte správně:

    1. Vyberte rozsah zdroje.
    2. Nastavení počtu shod a sloupců, které se mají vrátit.
    3. Dolaďte podmínky pomocí předdefinovaných operátorů ( obsahuje, =, není prázdný , mezi , atd.).

    Budete také umět:

    • náhled výsledku
    • rozhodnout, kam ji umístit.
    • a jak: jako vzorec nebo jen hodnoty

    Nenechte si ujít příležitost vyzkoušet tento doplněk. Pusťte se do jeho instalace z Google Workspace Marketplace. Na jeho stránce s návodem vám budou všechny možnosti podrobně vysvětleny.

    Připravili jsme také speciální instruktážní video:

    Uvidíme se v komentářích níže nebo v dalším článku ;)

    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.