Obsah
V aplikaci Microsoft Excel existuje několik užitečných metod pro vyhledávání částečných shod textu a následné získávání dat na základě této konkrétní shody. V tomto článku se dozvíte všechny vhodné metody pro vyhledávání částečných shod textu v aplikaci Excel se začleněním různých vyhledávacích funkcí a vzorců.
Stáhnout cvičebnici
Můžete si stáhnout sešit aplikace Excel, který jsme použili při přípravě tohoto článku.
Vyhledávání částečné shody textu.xlsx5 vhodných metod pro vyhledávání částečné shody textu v aplikaci Excel
1. Částečná shoda textu pomocí VLOOKUP v aplikaci Excel
Na následujícím obrázku je tabulka obsahující známky z různých předmětů pro některé studenty při zkoušce. Nyní na základě částečné shody textu z Sloupec B , získáme známky z předmětu pro žáka.
Můžeme například vyhledat text "Tick" ve sloupci Název . Na základě částečné shody zjistíme skutečné jméno tohoto žáka a poté z tabulky vybereme známky z matematiky odpovídajícího žáka.
V tomto příkladu použijeme VLOOKUP neboť tato funkce hledá hodnotu v nejlevějším sloupci tabulky a poté vrací hodnotu ve stejném řádku ze zadaného sloupce. Obecný vzorec této funkce VLOOKUP je:
=VLOOKUP(lookup_value, table_array, col_index_number, [range_lookup])
Protože se chystáme vytáhnout známky z matematiky žáka, jehož jméno obsahuje text "Tick" , takže požadovaný vzorec ve výstupu Buňka D17 bude:
=VLOOKUP(D16,B5:G14,5,FALSE)
Nebo,
=VLOOKUP("*Tick*",B5:G14,5,FALSE)
Po stisknutí Vstupte na , zobrazí se vám ihned známky z matematiky pro Ticknera.
Přečtěte si více: Jak použít VLOOKUP pro částečnou shodu v aplikaci Excel (4 způsoby)
2. Hledání částečné shody textu pomocí funkcí INDEX-MATCH
Nyní použijeme kombinaci INDEX a MATCH Funkce INDEX vrací hodnotu nebo odkaz na buňku v průsečíku konkrétního řádku a sloupce v daném rozsahu a funkce MATCH vrací relativní pozici položky v poli, která odpovídá zadané hodnotě v zadaném pořadí.
Budeme hledat podobný výstup, jaký jsme našli v předchozí metodě. V této části tedy požadovaný vzorec ve výstupu Buňka D18 bude:
=INDEX(B5:G14,MATCH(D17,B5:B14,0),MATCH(D17,B4:G4,0))
Nebo,
=INDEX(B5:G14,MATCH("*Tick*",B5:B14,0),MATCH(D17,B4:G4,0))
Nyní stiskněte Vstupte na a vzorec vrátí 91 bodů, které Tickner získal z matematiky.
V tomto vzorci jsou dva MATCH funkce definují čísla řádků jména studenta a sloupců předmětu. INDEX funkce pak vrátí hodnotu v průsečíku těchto definovaných čísel řádků a sloupců z pole.
Přečtěte si více: Jak používat INDEX a Match pro částečnou shodu (2 způsoby)
3. XLOOKUP se zástupným znakem pro vyhledávání částečné shody textu
Na stránkách XLOOKUP Funkce hledá shodu v rozsahu nebo poli a vrací odpovídající položku z druhého rozsahu nebo pole. Obecný vzorec této funkce je:
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
Nyní použijeme tento XLOOKUP funkce přímo pro získání známek z matematiky žáka, jehož jméno obsahuje text "Tick" uvnitř.
Na výstupu Buňka D18 , bude požadovaný vzorec následující:
=XLOOKUP("*"&D16&"*",B5:B14,F5:F14,,2)
Po stisknutí Vstupte na , zobrazí se podobný výstup jako v předchozích dvou příkladech.
V této funkci jsme jako argument [match_mode] použili 2, který označuje shodu se zástupným znakem. Pokud tento argument nepoužijete, funkce vrátí hodnotu #N/A chybu, protože ve výchozím nastavení bude funkce hledat přesnou shodu místo shody se zástupnými znaky.
4. Kombinace funkcí XLOOKUP, ISNUMBER a SEARCH pro vyhledávání částečné shody textu
Pokud se rozhodnete vyhnout použití zástupných znaků ve vyhledávací funkci, musíte použít kombinovaný vzorec. XLOOKUP, ISNUMBER a HLEDAT funkce.
Na stránkách ISNUMBER funkce kontroluje, zda je hodnota buňky číselná, nebo ne. HLEDAT Funkce vrací číslo znaku, na kterém se určitý znak nebo textový řetězec nachází jako první, při čtení zleva doprava. Obecné vzorce těchto dvou funkcí jsou následující:
=ISNUMBER(value)
A
=SEARCH(find_text, within_text, [search_num])
Takže požadovaný vzorec ve výstupu Buňka D18 bude:
=XLOOKUP(TRUE,ISNUMBER(SEARCH(D16,B5:B14)),F5:F14)
Po stisknutí Vstupte na , zobrazí se ihned výsledná hodnota.
🔎 Jak vzorec funguje?
- Na stránkách HLEDAT funkce vyhledá text "Tick v rozsahu buňky B5:B14 a vrací pole:
{#VALUE!;#VALUE!;1;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!}
- Na stránkách ISNUMBER funkce pak vyhledá číselnou hodnotu v tomto poli a vrátí další pole logických hodnot:
{FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}
- Na stránkách XLOOKUP funkce pak hledá zadanou logickou hodnotu - TRUE v poli nalezeném v předchozím kroku a získá číslo řádku této hodnoty v poli B5:B14 .
- Nakonec na základě návratového pole F5:F14 ... XLOOKUP funkce vytáhne známky z matematiky žáka, jehož jméno obsahuje text- "Tick uvnitř.
5. Použití funkcí FILTER, ISNUMBER a SEARCH k vyhledání částečné shody textu
V poslední metodě použijeme kombinaci FILTR, ISNUMBER a HLEDAT funkce. FILTR funkce zde filtruje rozsah buněk nebo pole na základě zadaných podmínek. Obecný vzorec této funkce je:
=FILTER(array, include, [if_empty])
Protože máme co do činění s podobným souborem dat, tak požadovaný vzorec s FILTR funkce ve výstupu Buňka D18 bude:
=FILTR(F5:F14,ISNUMBER(SEARCH(D16,B5:B14)))
Nyní stiskněte Vstupte na a okamžitě získáte výslednou hodnotu.
V tomto vzorci se FILTR funkce filtruje rozsah buněk. F5:F14 na základě logické hodnoty TRUE Pouze kombinace ISNUMBER a HLEDAT funkce vrací pole logických hodnot - TRUE a FALSE a definuje druhý argument (včetně) o FILTR funkce.
Závěrečná slova
Doufám, že všechny výše uvedené metody vám nyní pomohou extrahovat data na základě částečných textových shod v tabulkách Excelu. Pokud máte nějaké dotazy nebo připomínky, dejte mi prosím vědět v sekci komentářů. Nebo se můžete podívat na naše další články týkající se funkcí Excelu na tomto webu.