Tento článek popisuje syntaxi vzorce a použití funkce HLEDAT v Microsoft Excelu.
Description (Popis)
Funkce SEARCH vyhledá jeden textový řetězec v druhém textovém řetězci a vrátí číslo počáteční pozice prvního textového řetězce od prvního znaku druhého textového řetězce. Chcete-li například najít pozici písmene „k“ ve slově „tiskárna“, můžete použít následující funkci:
=HLEDAT ("k","tiskárna")
Tato funkce vrátí hodnotu 4, protože „k“ je čtvrtý znak ve slově „tiskárna“.
Můžete také hledat části slov v rámci celých slov. Například funkce
=HLEDAT("báze","databáze")
vrátí hodnotu 5, protože řetězec „báze“ začíná na pátém znaku slova „databáze“. Pomocí funkce HLEDAT můžete určit umístění znaku nebo textového řetězce v jiném textovém řetězci a pak pomocí funkce MID vrátit text nebo pomocí funkce NAHRADIT text změnit. Ukázku těchto funkcí najdete v tomto článku v části Příklad 1.
Syntaxe
HLEDAT(co,kde,[start])
Funkce HLEDAT má následující argumenty:
-
find_text Povinný argument. Jedná se o text, který chcete najít.
-
Kde: Povinný argument. Jedná se o text, ve kterém chcete najít hodnotu argumentu co.
-
Start: Nepovinný argument. Jedná se o číslo znaku v argumentu kde, od kterého má hledání začít.
Poznámka
-
Funkce SEARCH nerozlišuje velká a malá písmena. Pokud chcete hledat velká a malá písmena, můžete použít funkci NAJÍT.
-
V argumentu co lze používat zástupné znaky – otazník (?) a hvězdičku (*). Otazník zastupuje libovolný jeden znak a hvězdička zastupuje libovolný řetězec znaků. Chcete-li vyhledat skutečný znak otazníku nebo hvězdičky, zadejte před něj tildu (~).
-
Pokud se hodnota find_text nenajde, #VALUE! vrátí se chybová hodnota.
-
Pokud není argument start uveden, předpokládá se hodnota 1.
-
Pokud start_num není větší než 0 (nula) nebo je větší než délka argumentu within_text , #VALUE! vrátí se chybová hodnota.
-
Pomocí start_num přeskočíte zadaný počet znaků. Použití funkce SEARCH jako příklad předpokládejme, že pracujete s textovým řetězcem "AYF0093. YoungMensApparel". Pokud chcete najít pozici prvního "Y" v popisné části textového řetězce, nastavte start_num rovnou 8, aby se neprohledali část textu s pořadovým číslem (v tomto případě "AYF0093"). Funkce SEARCH spustí operaci hledání na pozici osmého znaku, najde znak zadaný v argumentu find_text na další pozici a vrátí číslo 9. Funkce SEARCH vždy vrátí počet znaků od začátku argumentu within_text a počítá znaky, které přeskočíte, pokud je argument start_num větší než 1.
Příklady
Zkopírujte vzorová data v následující tabulce a vložte je do buňky A1 nového excelového sešitu. Aby vzorce zobrazily výsledky, vyberte je, stiskněte F2 a potom stiskněte Enter. Pokud potřebujete, můžete přizpůsobit šířky sloupců a zobrazit si všechna data.
Data |
||
---|---|---|
Výkazy |
||
hrubá sazba |
||
sazba |
||
Náš "šéf" je zde. |
||
Vzorec |
Popis |
Výsledek |
=HLEDAT("z";A2;4) |
Pozice prvního znaku „z“ v řetězci v buňce A2 s počátkem hledání od čtvrté pozice |
7 |
=HLEDAT(A4;A3) |
Pozice slova sazba (hledaný řetězec je v buňce A4) v řetězci hrubá sazba (hledá se v buňce A3) |
8 |
=NAHRADIT(A3;HLEDAT(A4;A3);5;"tržba") |
Nahradí slovo sazba slovem tržba. Nejprve vyhledá pozici slova sazba v buňce A3 a potom nahradí pět znaků počínaje nalezenou pozicí slovem tržba. |
hrubá tržba |
=ČÁST(A3;HLEDAT(" ";A3)+1;4) |
Vrátí první čtyři znaky, které následují za první mezerou v řetězci hrubá sazba (teda v buňce A3). |
sazb |
=HLEDAT("""";A5) |
Pozice prvního znaku uvozovek (") v buňce A5 |
5 |
=ČÁST(A5;HLEDAT("""";A5)+1;HLEDAT("""";A5;HLEDAT("""";A5)+1)-HLEDAT("""";A5)-1) |
Vrátí jenom text, který je v buňce A5 uzavřený v uvozovkách. |
šéf |
Důležité informace:
-
Funkce SEARCHB je zastaralá.
-
V sešitech nastavených na kompatibilitu verze 2 funkce SEARCH zlepšila chování náhradních párů a počítá je jako jeden znak místo dvou znaků. Selektory variant (běžně používané s emoji) se budou stále počítat jako samostatné znaky. Další informace najdete tady: Standard Unicode