VYHĽADÁVANIE Fx - Hľadanie podreťazcov v reťazci - listy programu Excel, VBA a G.

Stiahnite si ukážkový zošit

Stiahnite si ukážkový zošit

Tento tutoriál ukazuje, ako používať Funkcia Excel SEARCH v Exceli na vyhľadanie polohy textu v bunke.

Prehľad funkcií SEARCH

Funkcia VYHĽADÁVANIE Nájde znak alebo textový reťazec a vráti jeho pozíciu v bunke. Nerozlišuje malé a veľké písmená.

Ak chcete použiť funkciu pracovného hárka SEARCH Excel, vyberte bunku a napíšte:

(Všimnite si, ako sa zobrazujú vstupy vzorcov)

Funkcia vyhľadávania Syntax a vstupy:

= VYHĽADÁVAŤ (find_text, within_text, start_num)

find_text - Reťazec textu, ktorý chcete nájsť.

within_text - Pôvodný reťazec textu.

start_num - VOLITEĽNÉ. Číslo znaku, od ktorého sa má začať vyhľadávanie. Poznámka: Toto iba zmení rozsah vyhľadávania. Nebude to mať vplyv na číslo vrátené pri nájdení zhody. Príklad: hľadaním „s“ v reťazci „suns“ sa predvolene vráti 1, ale ak je počiatočný_číslo nastavený na 2, vráti 4.

Čo je to funkcia VYHĽADÁVANIE?

Funkcia Excel SEARCH „hľadá“ reťazec textu v inom reťazci. Ak je text nájdený, funkcia SEARCH vráti číselnú pozíciu reťazca.

V aplikácii SEARCH sa nerozlišujú malé a veľké písmená. To znamená, že „text“ sa bude zhodovať s „TEXT“. Ak chcete hľadať text s rozlišovaním malých a veľkých písmen, použite namiesto toho funkciu FIND <>.

Ako používať funkciu VYHĽADÁVANIE

Funkcia Excel SEARCH funguje nasledujúcim spôsobom:

= VYHĽADÁVANIE („e“, „slon“)

Tu Excel vráti 1, pretože „e“ je prvým znakom „slona“.

Nasleduje niekoľko ďalších príkladov.

Počiatočné číslo (počiatočné_číslo)

Voliteľne môžete definovať počiatočné číslo (počiatočné_číslo). start_num hovorí funkcii SEARCH, kde začať vyhľadávanie. Ak ho necháte prázdne, vyhľadávanie sa začne od prvého znaku.

= VYHĽADÁVANIE (B3, C3)

Teraz nastavme start_num na 2, čo znamená, že SEARCH začne hľadať od druhého znaku.

= VYHĽADÁVANIE (B3, C3, D3)

V tomto prípade funkcia SEARCH vráti 3: pozícia druhého „e“.

Dôležité: start_num nemá žiadny vplyv na návratovú hodnotu, SEARCH začne vždy počítať s prvým znakom.

Chyby počiatočného čísla (počiatočné_číslo)

Ak použijete počiatočné číslo, uistite sa, že je to celé kladné číslo, ktoré je menšie ako dĺžka reťazca, ktorý chcete hľadať, inak sa zobrazí chyba. Zobrazí sa tiež chyba, ak ako počiatočné číslo zadáte prázdnu bunku:

= VYHĽADÁVANIE (B3, C3, D3)

Neúspešné vyhľadávania vrátia #HODNOTU! Chyba

Ak SEARCH nemôže nájsť hľadanú hodnotu, Excel vráti #HODNOTU! chyba.

Rozlišovanie malých a veľkých písmen

Nasledujúci príklad ukazuje, že funkcia SEARCH nerozlišuje malé a veľké písmená. Hľadali sme „abc“, ale SEARCH vrátil 1, pretože zodpovedal „ABC“.

Hľadanie zástupných znakov

Pomocou funkcie VYHĽADÁVAŤ môžete používať zástupné znaky, ktoré vám umožňujú vyhľadávať nešpecifikované znaky.

Otáznik vo vašom vyhľadávacom texte znamená „ľubovoľný znak“. Takže „? 000“ v nižšie uvedenom príklade znamená „Hľadať ľubovoľný znak, za ktorým nasledujú tri nuly“.

Hviezdička znamená „ľubovoľný počet neznámych znakov“. Tu hľadáme „1*C“ a funkcia SEARCH vráti 2, pretože sa zhoduje s výrazom „1-ABC“.

V nasledujúcom príklade hľadáme „000?“ - to znamená „000“, za ktorým nasleduje ľubovoľný znak. Máme „000“, ale je to na konci reťazca, a preto za ním nie sú žiadne znaky, takže sa zobrazí chyba

Ak by sme však namiesto otáznika použili hviezdičku - teda „000*“ namiesto „000?“, Dostaneme zhodu. Dôvodom je, že hviezdička znamená „ľubovoľný počet znakov“ - vrátane žiadnych znakov.

Ako rozdeliť meno a priezvisko z bunky pomocou funkcie VYHĽADÁVANIE

Ak máte mená a priezviská v tej istej bunke a chcete im priradiť každú bunku, môžete na to použiť VYHĽADÁVANIE - budete však musieť použiť aj niekoľko ďalších funkcií.

Získanie krstného mena

Funkcia LEFT Excel vracia určitý počet znakov z reťazca, začínajúc zľava.

Ak použijeme HĽADAŤ na vrátenie polohy medzery medzi krstným a priezviskom, odčítame od toho 1, vieme, aké dlhé je krstné meno. Potom to môžeme preniesť doľava.

Vzorec prvého mena je:

= VĽAVO (B3, VYHĽADÁVANIE („“, B3) -1)

Získanie priezviska

RIGHT Excel funkcia vracia určitý počet znakov sprava od reťazca.

Aby sme získali počet znakov rovný dĺžke priezviska, pomocou funkcie VYHĽADÁVANIE nám oznámime polohu medzery a potom toto číslo odpočítame od celkovej dĺžky reťazca - ktorú môžeme získať pomocou LEN.

Vzorec priezviska je:

= SPRÁVNE (B3, LEN (B3)-VYHĽADÁVANIE („“, B3))

Upozorňujeme, že ak vaše meno obsahuje stredné mená, stredné meno bude rozdelené do bunky Priezvisko.

Použitie VYHĽADÁVANIA na vrátenie n -tého znaku v reťazci

Ako je uvedené vyššie, funkcia SEARCH vracia pozíciu prvej zhody, ktorú nájde. Ale skombinovaním s CHAR a SUBSTITUTE ho môžeme použiť na lokalizáciu neskorších výskytov znaku, ako je druhá alebo tretia inštancia.

Tu je vzorec:

= VYHĽADÁVANIE (CHAR (134), NÁHRADA (D3, C3, CHAR (134), B3))

Na prvý pohľad to môže vyzerať trochu komplikovane, takže si to rozoberieme:

  • Používame VYHĽADÁVANIE a hľadaný reťazec je „CHAR (134)“. CHAR vracia znak na základe svojho kódu ASCII. CHAR (134) je symbol dýky - môžete tu použiť čokoľvek, pokiaľ sa to nezobrazuje vo vašom skutočnom reťazci.
  • SUBSTITUTE prechádza reťazcom a nahradí jeden znak alebo podreťazec iným. Tu nahradíme reťazec, ktorý chceme nájsť (ktorý je v C3), za CHAR (134). Dôvod, prečo to funguje, je ten, že štvrtým parametrom SUBSTITUTE je číslo inštancie, ktoré sme uložili do B3.
  • SUBSTITUTE teda zamení n -tý znak v reťazci za symbol dýky a potom funkcia SEARCH vráti jeho pozíciu.

Takto to vyzerá:

Nájdenie strednej časti reťazca

Predstavte si, že máte veľa sériových čísel v nasledujúcom formáte:

AB1XCDC-1BB/BB99

Boli ste požiadaní, aby ste vytiahli strednú časť každého z nich. Na automatizáciu tejto úlohy namiesto ručného ovládania môžete kombinovať funkciu VYHĽADÁVANIE a MID.

Funkcia MID Excel vracia časť reťazca. Jeho vstupmi sú textový reťazec, počiatočný bod a množstvo znakov.

Pretože počiatočným bodom, ktorý chceme, je znak za spojovníkom, môžeme pomocou funkcie VYHĽADÁVAŤ zistiť pozíciu spojovníka a pridať k nej 1. Ak by sériové číslo bolo v B3, použili by sme:

= VYHĽADÁVANIE ("-", B3) +1

Aby sme odtiaľto získali počet znakov, ktoré chceme vytiahnuť, môžeme použiť vyhľadávanie na získanie polohy lomky, odčítanie polohy spojovníka a potom odčítanie 1, aby sme zaistili, že nevrátime lomku samotnú:

= VYHĽADÁVANIE ("/", B3) -HĽADANIE ("-", B3) -1

Potom jednoducho zapojíme tieto dva vzorce do MID:

VYHĽADÁVANIE vs.

SEARCH a FIND sú podobné funkcie. Oba vracajú pozíciu daného znaku alebo podreťazca v rámci iného reťazca. Existujú však dva kľúčové rozdiely:

  • FIND rozlišuje veľké a malé písmena, ale SEARCH nie
  • FIND nepovoľuje zástupné znaky, ale funkcia SEARCH áno

Nižšie môžete vidieť niekoľko príkladov týchto rozdielov:

VYHĽADÁVANIE v Tabuľkách Google

Funkcia VYHĽADÁVANIE funguje v Tabuľkách Google úplne rovnako ako v programe Excel:

Doplňujúce Poznámky

Funkcia SEARCH je verziou funkcie FIND, ktorá nerozlišuje malé a veľké písmená. SEARCH podporuje aj zástupné znaky. Nájsť nemá.

VYHĽADÁVANIE Príklady vo VBA

Vo VBA môžete použiť aj funkciu VYHĽADÁVANIE. Typ:
application.worksheetfunction.search (find_text, within_text, start_num)
Argumenty funkcie (find_text, atď.) Môžete buď zadať priamo do funkcie, alebo definovať premenné, ktoré sa majú použiť.

Vráťte sa do zoznamu všetkých funkcií v programe Excel

wave wave wave wave wave