Split / rozdělení v Excelu pomocí vzorce
01.11.2020 09:50Nechť máme v buňce text, který chceme rozdělit pomocí vzorce do více buněk a jako oddělovač je vybraný znak v textu. Já mám rád praktické příklady. Takže budeme předpokládat tento text v buňce B2 = "123-vstupní text pro rozdělení-800123456-telefonní číslo".
jako oddělovač je zde patrný znak "-". z toho plyne, že text po rozdělení má 4 samostatné části.
Pak můžeme do buňky C2 vložit první, do D2 druhou, E2 třetí a F2 čtvrtou část textu.
Pužijeme tento vzorec:
C2 =pročistit(část(dosadit($B2;"-";opakovat(" ";délka($B2)));(1-1)*délka($B2)+1;délka($B2)))
D2 =pročistit(část(dosadit($B2;"-";opakovat(" ";délka($B2)));(2-1)*délka($B2)+1;délka($B2)))
E2 =pročistit(část(dosadit($B2;"-";opakovat(" ";délka($B2)));(3-1)*délka($B2)+1;délka($B2)))
F2 =pročistit(část(dosadit($B2;"-";opakovat(" ";délka($B2)));(4-1)*délka($B2)+1;délka($B2)))
nyní si rozebereme jak to funguje:
"-" -> oddělovač
(1-1), (2-1),... je právě pořadí samostatné části. dá se nahradit dalším vzorečkem
délka($B2) = 56 znaků
opakovat(" ";délka($B2)) nám vytvoří text z mezer dlouhý 56 znaků
dosadit($B2;"-";opakovat(" ";délka($B2))) nám vytvoří text, kdy znak "-" bude nahrazen 56 mezerami,.... text bude vypadat takhle:
123 vstupní text pro rozdělení 800123456 telefonní číslo |
část je funkce, která vykopíruje část textu od pozice (parametr 1) a dané délce (parametr 2)
parametr 1 pro C2 : (1-1)*délka($B2)+1 je 0*56+1 =1
parametr 1 pro D2 : (2-1)*délka($B2)+1 je 1*56+1 = 57
parametr 1 pro D2 : (3-1)*délka($B2)+1 je 2*56+1 = 113
parametr 2 je vždy délka($B2) a to je 56
poslední vzoreček je pročistit, který mám odstraní všechny mezery před a za textem.
———
Zpět