
Všeobecný vzorec
=TRIM(MID(SUBSTITUTE(A1,delim,REPT(" ",LEN(A1))),(N-1)*LEN(A1)+1,LEN(A1)))
Zhrnutie
Na rozdelenie textu pomocou ľubovoľného oddeľovača (čiarka, medzera, rúrka atď.) Môžete použiť vzorec založený na funkciách TRIM, MID, SUBSTITUTE, REPT a LEN. V zobrazenom príklade je vzorec v C5:
=TRIM(MID(SUBSTITUTE($B5,"|",REPT(" ",LEN($B5))),(C$4-1)*LEN($B5)+1,LEN($B5)))
Poznámka: Odkazy na B5 a C4 sú zmiešané odkazy, ktoré umožňujú kopírovanie vzorca naprieč a dole.
Vysvetlenie
Podstata tohto vzorca je nahradiť daný oddeľovač veľkým počtom medzier pomocou SUBSTITUTE a REPT, potom pomocou funkcie MID extrahovať text súvisiaci s „n-tým výskytom“ a funkciou TRIM sa zbaviť medzery navyše.
V tomto úryvku je oddeľovač (oddeľovač) nahradený počtom medzier rovných celkovej dĺžke reťazca:
SUBSTITUTE(A1,delim,REPT(" ",LEN(A1)))
Potom vzorec použije funkciu MID na extrahovanie n-tého podreťazca. Počiatočný bod sa počíta z nižšie uvedeného kódu, kde N predstavuje „n-té“:
(N-1)*LEN(A1)+1
Celkový počet extrahovaných znakov sa rovná dĺžke celého textového reťazca. Funkcia TRIM potom odstráni všetky medzery navyše a vráti iba n-tý reťazec.
Extrahujte iba jednu inštanciu
Aj keď je príklad nastavený na extrakciu 5 podreťazcov z textu v stĺpci B, môžete ľahko extrahovať iba 1 inštanciu. Napríklad na extrahovanie iba štvrtej položky (mesta) môžete použiť:
=TRIM(MID(SUBSTITUTE(B5,"|",REPT(" ",LEN(B5))),(4-1)*LEN(B5)+1,LEN(B5)))
Funkcia prevodu textu na stĺpec
Pre manuálne jednorazové konverzie má Excel vstavanú funkciu s názvom „Text na stĺpce“, ktorá umožňuje rozdeliť text v bunkách pomocou oddeľovača podľa vášho výberu. Túto funkciu nájdete na karte Údaje na páse s nástrojmi v sekcii Dátové nástroje.