V tomto článku sa popisuje syntax vzorca a používanie funkcií SEARCH a SEARCHB v Microsoft Exceli.
Popis
Funkcie SEARCH a SEARCHB vyhľadávajú jeden textový reťazec v rámci druhého textového reťazca a vrátia čí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. Funkcie SEARCH a SEARCHB môžete použiť na zistenie umiestnenia znaku alebo textového reťazca v rámci iného textového reťazca a potom použiť funkcie MID a MIDB na vrátenie textu alebo použiť funkcie REPLACE a REPLACEB na zmenu textu. Ukážka týchto funkcií sa nachádza v príklade číslo 1.
Dôležité:
-
Tieto funkcie nemusia byť k dispozícii vo všetkých jazykoch.
-
Funkcia SEARCHB započíta každý znak ako dvojbajtový iba vtedy, ak ste jazyk DBCS nastavili ako predvolený. V opačnom prípade sa funkcia SEARCHB správa rovnako ako funkcia SEARCH a započíta každý znak ako jednobajtový.
Medzi jazyky podporujúce dvojbajtovú tabuľku znakov DBCS patrí japončina, čínština (zjednodušená), čínština (tradičná) a kórejčina.
Syntax
SEARCH(nájsť_text;v_texte;[pozícia_začiatku])
SEARCHB(nájsť_text;v_texte;[pozícia_začiatku])
Funkcie SEARCH a SEARCHB obsahujú nasledovné argumenty:
-
nájsť_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
-
Funkcie SEARCH a SEARCHB nerozlišujú malé a veľké písmená. Ak chcete, aby sa pri vyhľadávaní rozlišovali malé a veľké písmená, môžete použiť funkcie FIND a FINDB.
-
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 |