Funkce LEFT, RIGHT a MID aplikace Excel fungují skvěle pro extrakci textu, ale pouze pokud znáte přesnou polohu znaků, na které cílíte. Co děláte, když přesně nevíte, kde s extrakcí začít? Pokud byste například měli následující seznam kódů produktů, jak byste postupovali při extrahování celého textu za pomlčkou?
PRT-432
COPR-6758
SVCCALL-58574
Funkce LEFT by nefungovala, protože potřebujete správných pár znaků. Samotná funkce RIGHT nebude fungovat, protože jí musíte přesně říct, kolik znaků má extrahovat z pravé části textového řetězce. Jakékoli číslo, které zadáte, vytáhne z textu buď příliš mnoho nebo příliš málo znaků.
Samotná funkce MID nebude fungovat, protože jí musíte přesně říct, kde v textu má začít extrahovat. Opět platí, že jakékoli číslo, které zadáte, vytáhne z textu buď příliš mnoho nebo příliš málo znaků.
Realita je taková, že často budete muset najít konkrétní postavy, abyste získali vhodnou výchozí pozici pro extrakci.
Zde se hodí funkce FIND v Excelu. Pomocí funkce FIND můžete získat číslo pozice konkrétního znaku a použít tuto pozici znaku v dalších operacích.
V uvedeném příkladu použijete funkci FIND ve spojení s funkcí MID k extrahování středních čísel ze seznamu kódů produktů. Jak můžete vidět ze vzorce, najdete polohu pomlčky a použijete toto číslo pozice k naplnění funkce MID.
=MID(B3,FIND("-";B3)+1,2)
Funkce FIND má dva povinné argumenty. První argument je text, který chcete najít. Druhý argument je text, který chcete hledat. Ve výchozím nastavení vrací funkce FIND číslo pozice znaku, který se snažíte najít. Pokud text, který hledáte, obsahuje více než jeden z vašich vyhledávacích znaků, funkce FIND vrátí číslo pozice prvního setkání.
Například následující vzorec hledá pomlčku v textovém řetězci „PWR-16-Small“. Výsledkem bude číslo 4, protože první pomlčka, na kterou narazí, je čtvrtý znak v textovém řetězci.
=FIND("-","PWR-16-Small")
Funkci FIND můžete použít jako argument ve funkci MID k extrahování nastaveného počtu znaků za číslem pozice vráceným funkcí FIND.
Zadáním tohoto vzorce do buňky získáte dvě čísla za první pomlčkou v textu. Všimněte si +1 ve vzorci. Zahrnutí +1 zajistí, že se přesunete přes jeden znak, abyste se dostali k textu za pomlčkou.
=MID("PWR-16-Small", FIND("-","PWR-16-Small")+1, 2)