V tomto článku sa popisuje syntax vzorca a používanie funkcie SEARCH v Microsoft Exceli.
Popis
Funkcia SEARCH vyhľadá jeden textový reťazec v druhom textovom reťazci a vráti číslo počiatočnej pozície prvého textového reťazca od prvého znaku druhého textového reťazca. Ak napríklad chcete vyhľadať umiestnenie písmena r v slove tlačiareň, môžete použiť nasledujúcu funkciu:
=SEARCH("r";"tlačiareň")
Funkcia vráti hodnotu 7, pretože znak r je siedmym znakom v slove tlačiareň.
Môžete vyhľadávať aj slová v iných slovách. Napríklad funkcia
=SEARCH("báza";"databáza")
vráti hodnotu 5, pretože slovo báza začína piatym písmenom slova databáza. Pomocou funkcie SEARCH môžete určiť umiestnenie znaku alebo textového reťazca v rámci iného textového reťazca a potom vrátiť text pomocou funkcie MID alebo zmeniť text pomocou funkcie REPLACE. Ukážka týchto funkcií sa nachádza v príklade číslo 1.
Syntax
SEARCH(nájsť_text;v_texte;[pozícia_začiatku])
Funkcia SEARCH obsahuje nasledovné argumenty:
-
find_text Povinný argument. Text, ktorý chcete vyhľadať.
-
v_texte Povinný argument. Text, v ktorom chcete vyhľadať hodnotu argumentu nájsť_text.
-
pozícia_začiatku Voliteľný argument. Číslo znaku v argumente v_texte, od ktorého sa má začať vyhľadávanie.
Poznámka
-
Vo funkcii SEARCH sa nerozlišujú malé a veľké písmená. Ak chcete vyhľadávať s rozlišuním malých a veľkých písmen, môžete použiť funkciu FIND.
-
V argumente nájsť_text je možné použiť zástupné znaky, ako je napríklad otáznik (?) alebo hviezdička (*). Otáznik zastupuje ľubovoľný jeden znak a hviezdička ľubovoľnú sekvenciu znakov. Ak chcete vyhľadať skutočný otáznik alebo hviezdičku, zadajte pred znakom vlnovku (~).
-
Ak sa hodnota find_text nenájde, #VALUE! vrátená chybová hodnota.
-
Ak argument pozícia_začiatku nezadáte, použije sa hodnota 1.
-
Ak start_num nie je väčšia ako 0 (nula) alebo je väčšia ako dĺžka argumentu within_text , #VALUE! vrátená chybová hodnota.
-
Argument pozícia_začiatku slúži na preskočenie zadaného počtu znakov. Napríklad pri použití funkcie SEARCH predpokladajme, že pracujete s textovým reťazcom „AYF0093.YoungMensApparel“. Ak chcete vyhľadať prvý znak „Y“ v popisnej časti textového reťazca, priraďte argumentu pozícia_začiatku hodnotu 8, aby sa neprehľadávala časť reťazca obsahujúca poradové číslo. Funkcia SEARCH začne vyhľadávanie na ôsmom znaku, nájde hodnotu znaku, ktorá je zadaná ako argument nájsť_text na ďalšej pozícii, a vráti číslo 9. Funkcia SEARCH vždy vráti počet znakov od začiatku argumentu v_texte a započíta preskočené znaky, ak je argument pozícia_začiatku väčší ako 1.
Príklady
Vzorové údaje skopírujte do nasledujúcej tabuľky a prilepte ich do bunky A1 nového excelového hárka. Ak chcete, aby vzorce zobrazovali výsledky, označte ich, stlačte kláves F2 a potom stlačte kláves Enter. V prípade potreby môžete upraviť šírku stĺpcov, aby sa údaje zobrazovali celé.
Údaje |
||
---|---|---|
Výpisy |
||
Marža zisku |
||
marža |
||
„Šéf“ je tu. |
||
Vzorec |
Popis |
Výsledok |
=SEARCH("p";A2;2) |
Pozícia prvého znaku p v reťazci v bunke A2 od druhého znaku. |
7 |
=SEARCH(A4;A3) |
Pozícia slova marža (reťazec, ktorý sa má vyhľadať, je v bunke A4) v reťazci Marža zisku (bunka, v ktorej sa má vyhľadať, je bunka A3). |
8 |
=REPLACE(A3;SEARCH(A4;A3);1;"výška") |
Nahradí slovo marža slovom výška. Najskôr vyhľadá umiestnenie slova marža v bunke A3 a potom daný znak a ďalšie štyri znaky za ním nahradí reťazcom výška. |
výška zisku |
=MID(A3;SEARCH(" ";A3)+1;4) |
Vráti prvé štyri znaky, ktoré nasledujú po prvej medzere v reťazci Marža zisku (bunka A3). |
zisk |
=SEARCH("""";A5) |
Pozícia prvých dvojitých úvodzoviek (") v bunke A5. |
5 |
=MID(A5;SEARCH("""";A5)+1;SEARCH("""";A5;SEARCH("""";A5)+1)-SEARCH("""";A5)-1) |
Vráti len text uzavretý dvojitými úvodzovkami v bunke A5. |
šéf |
Dôležité:
-
Funkcia SEARCHB je zastaraná.
-
V zošitoch nastavených na kompatibilitu verzie 2 má funkcia SEARCH vylepšené správanie s náhradnými pármi a započítava ich ako jeden znak namiesto dvoch. Selektory variácií (bežne používané s emoji) sa budú naďalej počítať ako samostatné znaky. Prečítajte si viac tu: Štandard Unicode