Excel vzorec: Rozdelenie textu s oddeľovačom -

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.

Zaujímavé články...