Tento článek popisuje syntaxi vzorce a použití funkce HLEDAT v Microsoft Excelu.
Popis
Funkce HLEDAT vyhledá 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í funkce HLEDAT můžete zjistit umístění znaku nebo textového řetězce v rámci jiného textového řetězce a potom pomocí funkce ČÁST vrátit požadovaný 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é. Jedná se o text, který chcete najít.
- within_text Povinné. Jedná se o text, ve kterém chcete hledat hodnotu argumentu find_text .
- start_num Volitelné. Číslo znaku v argumentu within_text , od kterého chcete začít hledat.
Poznámka
- Funkce HLEDAT nerozlišuje malá a velká písmena. Pokud chcete při hledání rozlišovat malá a velká písmena, můžete použít funkci NAJÍT.
- V argumentu find_text můžete použít zástupné znaky – otazník (?) a hvězdičku (*). Otazník zastupuje jeden libovolný znak, hvězdička zastupuje jakoukoli posloupnost libovolných znaků. Chcete-li vyhledat skutečný znak otazníku nebo hvězdičky, zadejte před ně vlnovku (~).
- Pokud není hodnota find_text nalezena, #VALUE! vrátí chybovou hodnotu.
- Pokud je argument start_num vynechán, předpokládá se hodnota 1.
- Pokud start_num není větší než 0 (nula) nebo větší než délka argumentu within_text , #VALUE! vrátí chybovou hodnotu.
- Pro přeskočení zadaného počtu znaků použijte start_num . Použijeme-li jako příklad funkci HLEDAT , předpokládejme, že pracujete s textovým řetězcem "AYF0093. YoungMensApparel". Chcete-li najít pozici prvního "Y" v popisné části textového řetězce, nastavte start_num rovno hodnotě 8, aby se neprohledávala část textu se sériovým číslem (v tomto případě "AYF0093"). Funkce HLEDAT zahájí operaci hledání na osmé pozici znaku, najde znak zadaný v argumentu find_text na další pozici a vrátí číslo 9. Funkce HLEDAT vždy vrátí počet znaků od začátku argumentu within_text a spočítá se znaky, které vynechá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é
- Funkce SEARCHB je zastaralá.
- V sešitech nastavených na kompatibilitu verze 2 se funkce HLEDAT zlepšila u náhradních dvojic, které se počítají jako jeden znak místo dvou. Selektory variant (běžně používané s emotikony) se budou počítat jako samostatné znaky. Více se dočtete zde: Standard Unicode