
Obecný vzorec
=TRIM(MID(SUBSTITUTE(A1,delim,REPT(" ",LEN(A1))), (N-1)*LEN(A1)+1, LEN(A1)))
souhrn
Chcete-li extrahovat řádky z víceřádkové buňky, můžete použít chytrý (a zastrašující) vzorec, který kombinuje 5 funkcí aplikace Excel: TRIM, MID, SUBSTITUTE, REPT a LEN. V zobrazeném příkladu je vzorec v D5:
=TRIM(MID(SUBSTITUTE($C5,CHAR(10),REPT(" ",LEN($C5))), (D$4-1)*LEN($C5)+1, LEN($C5)))
Vysvětlení
V zásadě tento vzorec hledá oddělovač řádků („delim“) a nahrazuje jej velkým počtem mezer pomocí funkcí SUBSTITUTE a REPT.
Poznámka: Ve starších verzích aplikace Excel pro Mac použijte CHAR (13) místo CHAR (10). Funkce CHAR vrací znak na základě jeho číselného kódu.
Počet mezer použitých k nahrazení oddělovače řádků je založen na celkové délce textu v buňce. Vzorec poté pomocí funkce MID extrahuje požadovaný řádek. Výchozí bod je zpracován s:
(N-1)*LEN(A1)+1 // start_num
Kde „N“ znamená „n-tý řádek“, který je vyzvednut z řádku 4 s referencí D $ 4.
Celkový počet extrahovaných znaků se rovná délce celého textového řetězce:
LEN(A1) // num_chars
V tomto bodě máme „n-tou linii“, obklopenou mezerami.
Nakonec funkce TRIM odřízne všechny mezery navíc a vrátí pouze řádkový text.
Text do sloupců
Nezapomeňte, že Excel má integrovanou funkci Text na sloupce, která může rozdělit text podle oddělovače podle vašeho výběru, i když to není dynamické řešení jako vzorec. Ve Windows můžete zadat Control + J a zadat ekvivalent nového znaku řádku pro oddělovač „Other“. Můžete také použít Control + J pro nový řádek během operací hledání a nahrazení.
Nejsem si jistý, jak zadat nový znak řádku v Mac Excel, jako oddělovač nebo v dialogu hledání a nahrazení. Pokud víte jak, zanechte prosím níže komentář.