Funkcie LEFT, RIGHT a MID v Exceli fungujú skvele na extrahovanie textu, ale iba ak poznáte presnú polohu znakov, na ktoré sa zameriavate. Čo robíte, keď neviete, kde presne začať s extrakciou? Ak by ste mali napríklad nasledujúci zoznam kódov produktov, ako by ste postupovali pri extrahovaní celého textu za pomlčkou?
PRT-432
COPR-6758
SVCCALL-58574
Funkcia LEFT by nefungovala, pretože potrebujete správnych pár znakov. Samotná funkcia RIGHT nebude fungovať, pretože jej musíte presne povedať, koľko znakov má extrahovať z pravej časti textového reťazca. Akékoľvek číslo, ktoré zadáte, vytiahne z textu príliš veľa alebo príliš málo znakov.
Samotná funkcia MID nebude fungovať, pretože jej musíte presne povedať, kde v texte začať extrahovať. Opäť platí, že každé zadané číslo vytiahne z textu príliš veľa alebo príliš málo znakov.
Realita je taká, že často budete musieť nájsť konkrétne postavy, aby ste získali vhodnú východiskovú pozíciu na extrakciu.
Tu sa hodí funkcia NÁJSŤ v Exceli. Pomocou funkcie FIND môžete získať číslo pozície konkrétneho znaku a použiť túto pozíciu znaku v iných operáciách.
V zobrazenom príklade použijete funkciu HĽADAŤ v spojení s funkciou MID na extrahovanie stredných čísel zo zoznamu kódov produktov. Ako môžete vidieť zo vzorca, nájdete polohu spojovníka a použijete toto číslo pozície na naplnenie funkcie MID.
=MID(B3,FIND("-";B3)+1,2)
Funkcia FIND má dva povinné argumenty. Prvým argumentom je text, ktorý chcete nájsť. Druhým argumentom je text, ktorý chcete vyhľadať. Funkcia FIND štandardne vracia číslo pozície znaku, ktorý sa pokúšate nájsť. Ak text, ktorý hľadáte, obsahuje viac ako jeden z vašich hľadaných znakov, funkcia FIND vráti číslo pozície prvého stretnutia.
Napríklad nasledujúci vzorec hľadá spojovník v textovom reťazci „PWR-16-Small“. Výsledkom bude číslo 4, pretože prvá pomlčka, na ktorú narazí, je štvrtý znak v textovom reťazci.
=FIND("-","PWR-16-Small")
Funkciu FIND môžete použiť ako argument vo funkcii MID na extrahovanie nastaveného počtu znakov za číslom pozície vráteným funkciou FIND.
Zadaním tohto vzorca do bunky získate dve čísla za prvou pomlčkou v texte. Všimnite si +1 vo vzorci. Zahrnutie +1 zaisťuje, že prejdete cez jeden znak, aby ste sa dostali k textu za pomlčkou.
=MID("PWR-16-Small", FIND("-","PWR-16-Small")+1, 2)