Applies ToExcel pro Microsoft 365 Excel pro Microsoft 365 pro Mac Excel pro web Excel 2024 Excel 2024 pro Mac Excel 2021 Excel 2021 pro Mac Excel 2019 Excel 2016

Tento článek popisuje syntaxi vzorce a použití funkcí HLEDAT a SEARCHB v Microsoft Excelu.

Popis

Funkce HLEDAT a SEARCHB vyhledají jeden textový řetězec v rámci druhého textového řetězce 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í funkcí HLEDAT a SEARCHB můžete zjistit umístění určitého znaku nebo textového řetězce v rámci jiného textového řetězce a potom můžete pomocí funkcí ČÁST a MIDB vrátit daný text nebo pomocí funkcí NAHRADIT a NAHRADITB text změnit. Ukázku těchto funkcí najdete v tomto článku v části Příklad 1.

Důležité informace: 

  • Tyto funkce nemusí být v některých jazycích dostupné.

  • Pokud je jako výchozí jazyk nastaven jazyk podporující znakovou sadu DBCS, počítá funkce SEARCHB na každý znak 2 bajty. V opačném případě se funkce SEARCHB chová stejně jako funkce HLEDAT – počítá na každý znak 1 bajt.

Mezi jazyky podporující znakovou sadu DBCS patří japonština, čínština (zjednodušená), čínština (tradiční) a korejština.

Syntaxe

HLEDAT(co,kde,[start])

SEARCHB(co,kde,[start])

Syntaxe funkcí HLEDAT a SEARCHB má následující argumenty:

  • Co:    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 HLEDAT a SEARCHB nerozlišují malá a velká písmena. Pokud chcete při hledání rozlišovat malá a velká písmena, můžete použít funkce NAJÍT a FINDB.

  • 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

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.