Vzorec aplikace Excel: Extrahujte více řádků z buňky -

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ář.

Dobré odkazy

Efektivní způsob extrakce n-tého slova z řetězce (fórum MrExcel)

Zajímavé články...