S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.

Autor: Miroslav Lorenc

Už jste se určitě setkali s případem, kdy máme více údajů v jedné buňce najednou a nám by se hodilo mít údaje rozdělené do více buněk. Mít např. v jedné buňce jméno i příjmení zaměstnance a navíc i s tituly před a za jménem není systematicky dobře. Takové zaměstnance nemůžeme seřadit podle příjmení, nemůžeme sečíst, kolik máme ve firmě Karlů apod.

Při vytváření tabulek v Excelu se vždy snažíme o přiměřenou míru podrobnosti rozčlenění údajů do sloupců.

V našem demonstrativním příkladu máme k dispozici seznam klientů pojišťovny a jejich bonitní hodnocení. Ve sloupci A jsou záznamy o klientech – jméno, příjmení, bonita a případně kategorie.

Tabulku chceme upravit tak, abychom mohli vybírat klienty podle bonity (údaj v závorkách) a kategorie. K oddělení těchto údajů do separátních sloupců využijeme funkce ČÁST a NAJÍT (předpokládáme tedy, že nechceme použít nástroj Text do sloupců).

Oddělení textu v závorkách

Údaj o bonitě klienta je uveden v závorce. Toho využijeme pro stanovení pozice čísla v rámci textového řetězce. Obecně pro získání části textu v rámci textového řetězce používáme funkci ČÁST (MID). Funkce ČÁST má tři argumenty – kde hledáme, číslo pozice prvního znaku a počet znaků, které chceme získat.

My přesnou pozici prvního znaku neznáme, proto použijeme funkci NAJÍT (FIND). Úplně stejně by v tomto případě fungovala funkce HLEDAT (SEARCH) – funkce se liší pouze tím, jestli respektují nebo ignorují velikost písmen, což je v případě závorek úplně jedno.

Délku textového řetězce (třetí argument funkce ČÁST) určíme jako rozdíl pozice uzavírací závorky a otevírací závorky.

  • =ČÁST(A2;NAJÍT(“(“;A2)+1;NAJÍT(“)”;A2)-NAJÍT(“(“;A2)-1)*1

Funkce ČÁST, ZLEVA, ZPRAVA a další textové funkce vrací výsledek vždy ve formě textu, a to bez ohledu na to, zda jde o písmena, čísla nebo jiné znaky (stejně jako finanční funkce v českém prostředí vrací číslo v Kč). Abychom jako výsledek textové funkce dostali místo textového formátu číselný výsledek, musíme textovou funkci obalit do funkce HODNOTA nebo jednodušeji s výsledkem provést nějakou nevýznamnou výpočtovou operaci (vynásobit jedničkou, přičíst nulu apod.). Existují i jiné postupy, o nich třeba v jiném článku.

  • HODNOTA(textová funkce)
  • textová funkce * 1

Oddělení textu za určitým znakem nebo znaky

Někteří klienti mají v původních záznamech uvedenou (kromě jména, příjmení a bonity) ještě kategorii. Tento údaj můžeme z původního textu dostat do samostatného sloupce opět pomocí vyhledávání textu “kat. “ – tedy kombinací funkce ČÁST a NAJÍT. Pro případy, kdy není text “kat. “ v řetězci obsažen, by funkce vracela chybovou hodnotu – proto obalíme funkci ČÁST ještě funkcí IFERROR.

  • =IFERROR(ČÁST(A2;NAJÍT(“kat. “;A2)+5;10)*1;””)

Zdrojový soubor

S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.