Funkcija TEXTSPLIT v Excelu: razdelitev besedilnih nizov z razmejitvenim znakom

  • Deliti To
Michael Brown

V vodniku je prikazano, kako uporabiti povsem novo funkcijo TEXTSPLIT za razdelitev nizov v Excelu 365 s katerim koli ločilom, ki ga določite.

V Excelu lahko pride do različnih situacij, ko morate razdeliti celice. V prejšnjih različicah smo bili že opremljeni s številnimi instrumenti za to nalogo, kot sta Besedilo v stolpce in Izpolniti bliskavico. Zdaj imamo za to tudi posebno funkcijo TEXTSPLIT, ki lahko na podlagi določenih parametrov razdeli niz v več celic v stolpcih ali/in vrsticah.

    Funkcija Excel TEXTSPLIT

    Funkcija TEXTSPLIT v Excelu razdeli besedilne nize z danim ločilom po stolpcih in/ali vrsticah. Rezultat je dinamično polje, ki se samodejno razširi v več celic.

    Funkcija sprejme kar 6 argumentov, od katerih sta obvezna le prva dva.

    TEXTSPLIT(besedilo, col_delimiter, [row_delimiter], [ignore_empty], [match_mode], [pad_with])

    besedilo (obvezno) - besedilo, ki se razdeli. Lahko je podano kot niz ali sklic na celico.

    col_delimiter (obvezno) - znak(-i), ki označuje(-jo), kje se besedilo razdeli v stolpce, row_delimiter je treba opredeliti.

    row_delimiter (neobvezno) - znak(-i), ki označuje(-jo), kje naj se besedilo razdeli po vrsticah.

    ignore_empty (neobvezno) - določa, ali naj se prazne vrednosti ignorirajo ali ne:

    • FALSE (privzeto) - ustvarite prazne celice za zaporedne razmejitve brez vmesne vrednosti.
    • TRUE - prezrite prazne vrednosti, tj. ne ustvarite praznih celic za dva ali več zaporednih razmejitvenih znakov.

    match_mode (neobvezno) - določa občutljivost za velike in male črke pri razmejitvenem znaku. Privzeto je omogočeno.

    • 0 (privzeto) - občutljivo na velikost črk
    • 1 - ne glede na velikost črk

    pad_with (neobvezno) - vrednost, ki se uporabi namesto manjkajočih vrednosti v dvodimenzionalnih poljih. Privzeto je #N/A.

    Če želite na primer besedilni niz v A2 razdeliti v več celic z uporabo vejice in presledka kot ločila, je formula naslednja:

    =TEXTSPLIT(A2, ", ")

    Razpoložljivost TEXTSPLIT

    Funkcija TEXTSPLIT je na voljo samo v Excelu za Microsoft 365 (Windows in Mac) in Excelu za splet.

    Nasveti:

    • V različicah programa Excel, kjer funkcija TEXTSPLIT ni na voljo (razen v Excelu 365), lahko za razdelitev celic uporabite čarovnika za razdelitev besedila v stolpce.
    • Če želite opraviti obratno nalogo, tj. združiti vsebino več celic v eno z uporabo določenega razmejitvenega elementa, uporabite funkcijo TEXTJOIN.

    Osnovna formula TEXTSPLIT za razdelitev celice v Excelu

    Za začetek poglejmo, kako uporabiti formulo TEXTSPLIT v najpreprostejši obliki za razdelitev besedilnega niza z določenim ločilom.

    Vodoravna razdelitev celice po stolpcih

    Če želite vsebino dane celice razdeliti v več stolpcev, za prvi stolpec navedite sklic na celico, ki vsebuje izvirni niz ( besedilo ) in razmejitveni znak, ki označuje točko, na kateri naj bi prišlo do delitve za drugi ( col_delimiter ).

    Če želite niz v A2 vodoravno ločiti z vejico, je na primer formula naslednja:

    =TEXTSPLIT(A2, ",")

    Za razmejitev uporabimo vejico, ki je v dvojnih narekovajih (",").

    Zato je vsaka postavka, ločena z vejico, v posebnem stolpcu:

    Razdelite celico navpično po vrsticah

    Če želite besedilo razdeliti v več vrstic, uporabite tretji argument ( row_delimiter ) je mesto, kamor postavite ločilo. Drugi argument ( col_delimiter ) se v tem primeru izpusti.

    Če želite na primer vrednosti v A2 ločiti v različne vrstice, je formula naslednja:

    =TEXTSPLIT(A2, ,",")

    Upoštevajte, da je v obeh primerih formula vnesena samo v eno celico (C2). V sosednjih celicah se vrnjene vrednosti samodejno prelijejo. Nastalo polje (ki se imenuje območje prelivanja) je označeno z modro obrobo, kar pomeni, da je vse v njem izračunano s formulo v zgornji levi celici.

    Razdelitev besedila po podredu

    V mnogih primerih so vrednosti v izvornem nizu ločene z zaporedjem znakov, tipičen primer sta vejica in presledek. V tem primeru za razmejitev uporabite podredje.

    Če želite na primer besedilo v A2 ločiti v več stolpcev z vejico in presledkom, uporabite niz ", " za col_delimiter .

    =TEXTSPLIT(A2, ", ")

    To formulo prenesite v B2, nato pa jo kopirajte navzdol po poljubnem številu celic.

    Razdelitev niza v stolpce in vrstice naenkrat

    Če želite besedilni niz hkrati razdeliti v vrstice in stolpce, v formuli TEXTSPLIT določite oba razmejitvena elementa.

    Če želimo na primer besedilni niz v A2 razdeliti po stolpcih in vrsticah, uporabimo:

    • Znak za enakost ("=") za col_delimiter
    • Vmesnik in presledek (", ") za row_delimiter

    Celotna formula ima naslednjo obliko:

    =TEXTSPLIT(A2, "=", ", ")

    Rezultat je 2-D polje, sestavljeno iz 2 stolpcev in 3 vrstic:

    Ločite celice z več ločili

    Če želite v izvornem nizu obravnavati več ali nedosledne ločilce, za argument ločilca uporabite konstanto polja, kot so {"x", "y", "z"}.

    Na spodnji sliki je besedilo v A2 razmejeno z vejicami (",") in podpičji (";") s presledki in brez njih. Za vertikalno razdelitev niza v vrstice po vseh štirih različicah razmejitve je formula naslednja:

    =TEXTSPLIT(A2, , {",",",", ",";",";"})

    Lahko pa v polje vključite samo vejico (",") in podpičje (";"), nato pa s pomočjo funkcije TRIM odstranite dodatne presledke:

    =TRIM(TEXTSPLIT(A2, , {",",";;"}))

    Razdelitev besedila brez upoštevanja praznih vrednosti

    Če niz vsebuje dva ali več zaporednih razmejitvenih znakov brez vrednosti med njimi, lahko izberete, ali naj se te prazne vrednosti ignorirajo ali ne. ignore_empty ki je privzeto nastavljen na FALSE.

    Funkcija TEXTSPLIT privzeto ne upošteva praznih vrednosti. Privzeto obnašanje se dobro obnese pri strukturiranih podatkih, kot v spodnjem primeru.

    V tej vzorčni preglednici v nekaterih nizih manjkajo ocene. Formula TEXTSPLIT z ignore_empty Argument je izpuščen ali nastavljen na vrednost FALSE se v tem primeru odlično obnese in ustvari prazno celico za vsako prazno vrednost.

    =TEXTSPLIT(A2, ", ")

    Ali

    =TEXTSPLIT(A2, ", ", FALSE)

    Tako se vse vrednosti prikažejo v ustreznih stolpcih.

    Če nizi vsebujejo homogene podatke, je smiselno ignorirati prazne vrednosti. ignore_empty na TRUE ali 1.

    Če želite na primer razdeliti spodnje nize in vsako spretnost postaviti v ločeno celico brez presledkov, je formula naslednja:

    =TEXTSPLIT(A2, ", ", ,TRUE)

    V tem primeru se manjkajoče vrednosti med zaporednimi razmejitvami v celoti prezrejo:

    Delitev celic po velikosti črk ali brez njih

    Če želite nadzorovati občutljivost razmejitve na velike in male črke, uporabite peti argument, match_mode .

    Privzeto, match_mode je nastavljena na 0, zaradi česar je TEXTSPLIT , ki upošteva velike in male črke. .

    V tem primeru so številke ločene z malimi in velikimi črkami "x".

    Formula s privzeto občutljivostjo na velike in male črke kot razmejitveni znak sprejme samo malo črko "x":

    =TEXTSPLIT(A2, " x ")

    Bodite pozorni, da ima razmejitveni znak na obeh straneh črke " x " presledek, da v rezultatih ne bi bilo vodilnih in končnih presledkov.

    Če želite izklopiti občutljivost na velika in mala črka, vnesite 1 za match_mode da prisilite formulo TEXTSPLIT, da ne upošteva velikosti črk:

    =TEXTSPLIT(A2, " x ", , ,1)

    Zdaj so vsi nizi pravilno razdeljeni glede na oba razmejitvena elementa:

    Podlaganje manjkajočih vrednosti v 2D polju

    Zadnji argument funkcije TEXTSPLIT, pad_with , pride prav, če v izvornem nizu manjka ena ali več vrednosti. Kadar je tak niz razdeljen na stolpce in vrstice, Excel privzeto namesto manjkajočih vrednosti vrne napake #N/A, da ne bi spremenil strukture dvodimenzionalnega polja.

    V spodnjem nizu ni znakov "=" ( col_delimiter ) za "Score". Da se ohrani celovitost dobljenega polja, TEXTSPLIT izpiše #N/A poleg "Score".

    Da bi bil rezultat uporabniku prijaznejši, lahko napako #N/A nadomestite s poljubno vrednostjo. Preprosto vnesite želeno vrednost v polje pad_with argument.

    V našem primeru je to lahko pomišljaj ("-"):

    =TEXTSPLIT(A2, "=", ", ", , , ,"-")

    Ali prazen niz (""):

    =TEXTSPLIT(A2, "=", ", ", , , ,"")

    Zdaj, ko ste se naučili praktične uporabe vsakega argumenta funkcije TEXTSPLIT, obravnavajmo nekaj naprednih primerov, ki vam lahko pomagajo pri spopadanju z netrivialnimi izzivi v vaših preglednicah Excel.

    Razdelitev datumov na dan, mesec in leto

    Če želite datum razdeliti na posamezne enote, morate datum najprej pretvoriti v besedilo, saj funkcija TEXTSPLIT obravnava besedilne nize, datumi v Excelu pa so številke.

    Številčno vrednost najlažje pretvorite v besedilo z uporabo funkcije TEXT. Pazite le, da za datum navedete ustrezno kodo formata.

    V našem primeru je formula naslednja:

    =TEXT(A2, "m/d/yyyy")

    Naslednji korak je, da zgornjo funkcijo vgradite v 1. argument TEXTSPLIT in v 2. ali 3. argument vnesete ustrezen razmejitveni znak, odvisno od tega, ali delite po stolpcih ali vrsticah. V tem primeru so datumske enote ločene s poševnimi črkami, zato za razmejitveni znak uporabimo "/". col_delimiter argument:

    =TEXTSPLIT(TEXT(A2, "m/d/yyyy"), "/")

    Razdelite celice in odstranite določene znake

    Predstavljajte si naslednje: dolg niz ste razdelili na dele, vendar dobljeno polje še vedno vsebuje nekaj neželenih znakov, kot so oklepaji na spodnji sliki:

    =TEXTSPLIT(A2, " ", "; ")

    Če želite hkrati odstraniti začetni in končni oklepaj, vstavite dve funkciji SUBSTITUTE eno v drugo (vsaka nadomesti en oklepaj s praznim nizom) in uporabite formulo TEXTSPLIT za besedilo argument notranjega SUBSTITUTE:

    =SUBSTITUTE(SUBSTITUTE(TEXTSPLIT(A2, " ", "; "), "(", ""), ")", "")

    Nasvet. Če končno polje vsebuje preveč dodatnih znakov, jih lahko odstranite z eno od metod, opisanih v tem članku: Kako odstraniti neželene znake v Excelu.

    Razdelitev nizov s preskokom določenih vrednosti

    Recimo, da želite spodnje nize ločiti v 4 stolpce: Ime in priimek , Priimek , Rezultati in Rezultat Težava je v tem, da nekateri nizi vsebujejo naslov "gospod" ali "gospa", zaradi česar so vsi rezultati napačni:

    Rešitev ni očitna, je pa zelo preprosta :)

    Poleg obstoječih ločil, ki so presledek (" ") ter vejica in presledek (", "), vključite niza "gospod " in "gospa " v col_delimiter polje, tako da funkcija za ločevanje besedila uporabi naslove. Če želite prezreti prazne vrednosti, nastavite konstanto ignore_empty na TRUE.

    =TEXTSPLIT(A2, {" ","," ", "Gospod ", "Gospa"}, ,TRUE)

    Zdaj so rezultati popolnoma popolni!

    Alternative TEXTSPLIT

    V različicah programa Excel, kjer funkcija TEXTSPLIT ni podprta, lahko nize razdelite z uporabo različnih kombinacij funkcije SEARCH / FIND z LEFT, RIGHT in MID:

    • Iskanje brez upoštevanja velikih in malih črk ali iskanje z upoštevanjem velikih in malih črk določa položaj razmejitvenega elementa v nizu in
    • Funkcije LEFT, RIGHT in MID izvlečejo podrejeni niz pred, za ali med dvema primeroma razmejitvenega znaka.

    V našem primeru za razdelitev vrednosti, ločenih z vejica in presledek , so formule naslednje.

    Izpis imena:

    =LEVO(A2, SEARCH(",", A2, 1) -1)

    Izvleči rezultat:

    =MID(A2, SEARCH(",", A2) + 2, SEARCH(",", A2, SEARCH(",",A2)+1) - SEARCH(",", A2) - 2)

    Za pridobitev rezultata:

    =DESNO(A2, LEN(A2) - ISKANJE(",", A2, ISKANJE(",", A2) + 1)-1)

    Za podrobno razlago logike formul glejte Kako razdeliti niz po znaku ali maski.

    Ne pozabite, da za razliko od funkcije TEXTSPLIT v dinamičnem polju te formule uporabljajo tradicionalni pristop z eno formulo in eno celico. Formulo vnesete v prvo celico, nato pa jo povlečete po stolpcu navzdol in kopirate v spodnje celice.

    Spodnja slika zaslona prikazuje rezultate:

    To je način delitve celic v Excelu 365 z uporabo TEXTSPLIT ali alternativnih rešitev v prejšnjih različicah. Zahvaljujem se vam za branje in upam, da se naslednji teden vidimo na našem blogu!

    Praktični delovni zvezek za prenos

    Funkcija TEXTSPLIT za delitev nizov - primeri formul (.xlsx datoteka)

    Michael Brown je predan tehnološki navdušenec s strastjo do poenostavljanja kompleksnih procesov z uporabo programskih orodij. Z več kot desetletnimi izkušnjami v tehnološki industriji je svoje veščine izpopolnil v Microsoft Excelu in Outlooku ter Google Preglednicah in Dokumentih. Michaelov blog je namenjen deljenju svojega znanja in strokovnega znanja z drugimi ter ponuja preproste nasvete in vadnice za izboljšanje produktivnosti in učinkovitosti. Ne glede na to, ali ste izkušen strokovnjak ali začetnik, Michaelov blog ponuja dragocene vpoglede in praktične nasvete, kako kar najbolje izkoristiti ta osnovna programska orodja.