Excel formula: sadalīt tekstu ar atdalītāju -

Vispārēja formula

=TRIM(MID(SUBSTITUTE(A1,delim,REPT(" ",LEN(A1))),(N-1)*LEN(A1)+1,LEN(A1)))

Kopsavilkums

Lai sadalītu tekstu patvaļīgā atdalītājā (komats, atstarpe, caurule utt.), Varat izmantot formulu, kuras pamatā ir funkcijas TRIM, MID, SUBSTITUTE, REPT un LEN. Parādītajā piemērā formula C5 ir:

=TRIM(MID(SUBSTITUTE($B5,"|",REPT(" ",LEN($B5))),(C$4-1)*LEN($B5)+1,LEN($B5)))

Piezīme: atsauces uz B5 un C4 ir jauktas atsauces, lai formulu varētu kopēt pāri un uz leju.

Paskaidrojums

Šīs formulas būtība ir aizstāt norādīto atdalītāju ar lielu atstarpju skaitu, izmantojot SUBSTITUTE un REPT, pēc tam izmantojiet funkciju MID, lai izgūtu tekstu, kas saistīts ar "n-to gadījumu", un funkciju TRIM, lai atbrīvotos no papildu vietas.

Šajā fragmentā norobežotājs (delim) tiek aizstāts ar atstarpju skaitu, kas vienāds ar virknes kopējo garumu:

SUBSTITUTE(A1,delim,REPT(" ",LEN(A1)))

Tad formula izmanto funkciju MID, lai izgūtu n-to apakšvirkni. Sākumpunktu aprēķina ar zemāk redzamo kodu, kur N apzīmē "n-to":

(N-1)*LEN(A1)+1

Iegūto rakstzīmju kopskaits ir vienāds ar pilna teksta virknes garumu. Tad funkcija TRIM noņem visas papildu atstarpes un atgriež tikai n-to virkni.

Izvelciet tikai vienu gadījumu

Lai gan piemērs ir izveidots, lai no B slejas teksta izvilktu 5 apakškārtas, jūs varat viegli iegūt tikai vienu gadījumu. Piemēram, lai iegūtu tikai 4. vienumu (pilsētu), varat izmantot:

=TRIM(MID(SUBSTITUTE(B5,"|",REPT(" ",LEN(B5))),(4-1)*LEN(B5)+1,LEN(B5)))

Funkcija Teksts uz kolonnām

Manuālām, vienreizējām reklāmguvumiem programmā Excel ir iebūvēta funkcija ar nosaukumu “Teksts uz kolonnām”, kas var sadalīt tekstu šūnās ar jūsu izvēlētu atdalītāju. Šo funkciju atradīsit lentes cilnē Dati sadaļā Datu rīki.

Interesanti raksti...