Obsah
Včera na maratonu 30 funkcí Excelu za 30 dní pomocí funkce jsme rozpoznali typy chyb CHYBA. TYP (TYP CHYBY) a ujistil se, že může být velmi užitečný pro opravu chyb v Excelu.
18. den maratonu se budeme věnovat studiu funkce VYHLEDÁVÁNÍ (VYHLEDÁVÁNÍ). Hledá znak (nebo znaky) v textovém řetězci a hlásí, kde byl nalezen. Podíváme se také na to, jak řešit situace, kdy tato funkce vyvolá chybu.
Pojďme se tedy blíže podívat na teorii a praktické příklady funkce VYHLEDÁVÁNÍ (VYHLEDÁVÁNÍ). Pokud máte nějaké triky nebo příklady práce s touto funkcí, podělte se o ně v komentářích.
Funkce 18: VYHLEDÁVÁNÍ
funkce VYHLEDÁVÁNÍ (SEARCH) hledá textový řetězec v jiném textovém řetězci, a pokud je nalezen, hlásí jeho polohu.
Jak mohu použít funkci SEARCH?
funkce VYHLEDÁVÁNÍ (SEARCH) hledá textový řetězec v jiném textovém řetězci. Umí:
- Najděte řetězec textu v jiném textovém řetězci (nerozlišují se malá a velká písmena).
- Při hledání použijte zástupné znaky.
- Určete počáteční pozici v zobrazeném textu.
SEARCH Syntaxe
funkce VYHLEDÁVÁNÍ (SEARCH) má následující syntaxi:
SEARCH(find_text,within_text,[start_num])
ПОИСК(искомый_текст;текст_для_поиска;[нач_позиция])
- najít_text (search_text) je text, který hledáte.
- uvnitř_textu (text_for_search) – textový řetězec, ve kterém se provádí vyhledávání.
- počáteční_číslo (start_position) – pokud není zadáno, vyhledávání začne od prvního znaku.
Pasti HLEDAT (HLEDAT)
funkce VYHLEDÁVÁNÍ (SEARCH) vrátí pozici prvního vyhovujícího řetězce, bez ohledu na velikost písmen. Pokud potřebujete rozlišovat malá a velká písmena, můžete tuto funkci použít HLEDAT (NAJÍT), se kterou se později v maratonu setkáme 30 funkcí Excelu za 30 dní.
Příklad 1: Hledání textu v řetězci
Použijte funkci VYHLEDÁVÁNÍ (SEARCH) pro vyhledání nějakého textu v textovém řetězci. V tomto příkladu budeme hledat jeden znak (zadaný do buňky B5) v textovém řetězci nalezeném v buňce B2.
=SEARCH(B5,B2)
=ПОИСК(B5;B2)
Pokud je text nalezen, funkce VYHLEDÁVÁNÍ (SEARCH) vrátí číslo pozice prvního znaku v textovém řetězci. Pokud nebude nalezen, výsledkem bude chybová zpráva #HODNOTA! (#TAK).
V případě, že je výsledkem chyba, můžete funkci použít IFERROR (IFERROR), takže místo provedení funkce VYHLEDÁVÁNÍ (SEARCH) zobrazí odpovídající zprávu. Funkce IFERROR (IFERROR) byl zaveden v Excelu počínaje verzí 2007. V dřívějších verzích bylo možné dosáhnout stejného výsledku pomocí IF (IF) spolu s ISERROR (EOSHIBKA).
=IFERROR(SEARCH(B5,B2),"Not Found")
=ЕСЛИОШИБКА(ПОИСК(B5;B2);"Not Found")
Příklad 2: Použití zástupných znaků s funkcí SEARCH
Další způsob, jak zkontrolovat výsledek, se vrátil VYHLEDÁVÁNÍ (SEARCH), pro chybu – použijte funkci ČÍSLO (ISNUMBER). Pokud je řetězec nalezen, výsledek VYHLEDÁVÁNÍ (SEARCH) bude číslo, které znamená funkci ČÍSLO (ISNUMBER) vrátí hodnotu TRUE. Pokud text není nalezen, pak VYHLEDÁVÁNÍ (SEARCH) ohlásí chybu a ČÍSLO (ISNUMBER) vrátí hodnotu FALSE.
V hodnotě argumentu najít_text (search_text) můžete použít zástupné znaky. Symbol * (hvězdička) nahrazuje libovolný počet znaků nebo žádný, a ? (otazník) nahrazuje libovolný jednotlivý znak.
V našem příkladu je použit zástupný znak *, takže fráze STŘED, STŘED a STŘED najdete v názvech ulic.
=ISNUMBER(SEARCH($E$2,B3))
=ЕЧИСЛО(ПОИСК($E$2;B3))
Příklad 3: Určení počáteční pozice pro SEARCH (SEARCH)
Napíšeme-li před funkci dvě znaménka mínus (dvojitá negace). ČÍSLO (ISNUMBER), vrátí hodnoty 1/0 místo TRUE/FALSE (PRAVDA/NEPRAVDA). Dále funkce SOUČET (SUM) v buňce E2 spočítá celkový počet záznamů, kde byl nalezen hledaný text.
V následujícím příkladu sloupec B ukazuje:
Název města | Profese
Naším úkolem je najít profese obsahující textový řetězec zadaný v buňce E1. Vzorec v buňce C2 by byl:
=--ISNUMBER(SEARCH($E$1,B2))
=--ЕЧИСЛО(ПОИСК($E$1;B2))
Tento vzorec našel řádky, které obsahují slovo „banka“, ale v jednom z nich se toto slovo nenachází v názvu profese, ale v názvu města. Tohle se nám nehodí!
Za každým názvem města následuje symbol | (svislý pruh), tak jsme pomocí funkce VYHLEDÁVÁNÍ (SEARCH), můžeme najít pozici tohoto znaku. Jeho pozici lze zadat jako hodnotu argumentu počáteční_číslo (start_position) ve funkci „hlavní“. VYHLEDÁVÁNÍ (VYHLEDÁVÁNÍ). V důsledku toho budou názvy měst při vyhledávání ignorovány.
Nyní bude testovaný a opravený vzorec počítat pouze ty řádky, které obsahují slovo „banka“ v názvu profese:
=--ISNUMBER(SEARCH($E$1,B2,SEARCH("|",B2)))
=--ЕЧИСЛО(ПОИСК($E$1;B2;ПОИСК("|";B2)))