TEXTSPLIT funktsioon Excelis: teksti stringide jagamine eraldaja järgi

  • Jaga Seda
Michael Brown

Õpetus näitab, kuidas kasutada täiesti uut funktsiooni TEXTSPLIT, et jagada stringid Excel 365-s mis tahes määratud eraldaja järgi.

Võib esineda erinevaid olukordi, kus teil on vaja Excelis lahtreid jagada. Varasemates versioonides olid meil juba olemas mitmed vahendid selle ülesande täitmiseks, nagu näiteks Tekst veergudeks ja Täitevälk. Nüüd on meil selleks ka spetsiaalne funktsioon TEXTSPLIT, mis võib eraldada stringi mitmesse lahtrisse üle veergude ja/või ridade, lähtudes teie poolt määratud parameetritest.

    Exceli funktsioon TEXTSPLIT

    Exceli funktsioon TEXTSPLIT jagab tekstisõnu antud eraldaja järgi veergude ja/või ridade vahel. Tulemuseks on dünaamiline massiivi, mis jaguneb automaatselt mitmesse lahtrisse.

    Funktsioon võtab vastu kuni 6 argumenti, millest ainult kaks esimest on vajalikud.

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

    tekst (nõutav) - jagatav tekst. Võib esitada stringina või lahtriviitena.

    col_delimiter (nõutav) - märk(id), mis näitab, kus tekst jagatakse veergude vahel. Kui see jäetakse välja, row_delimiter tuleb määratleda.

    row_delimiter (valikuline) - märk(id), mis näitab, kus tekst ridade vahel jagatakse.

    ignore_empty (valikuline) - määrab, kas ignoreerida tühje väärtusi või mitte:

    • FALSE (vaikimisi) - loob tühjad lahtrid järjestikuste eraldusmärkide jaoks ilma vahepealse väärtuseta.
    • TRUE - ignoreerib tühje väärtusi, st ei loo tühje lahtreid kahe või enama järjestikuse eraldusjoone puhul.

    match_mode (valikuline) - määrab eraldaja suur- ja väiketähtede tundlikkuse. Vaikimisi on sisse lülitatud.

    • 0 (vaikimisi) - suur- ja väiketähelepanu
    • 1 - suur- ja väiketähtedest sõltumata

    pad_with (valikuline) - väärtus, mida kasutatakse puuduvate väärtuste asemel kahemõõtmelistes massiivides. Vaikimisi on #N/A viga.

    Näiteks, et jagada tekstirida A2-s mitu lahtrit, kasutades eraldajana koma ja tühikut, on valem järgmine:

    =TEXTSPLIT(A2, ", ")

    TEXTSPLIT kättesaadavus

    Funktsioon TEXTSPLIT on saadaval ainult Excel for Microsoft 365 (Windows ja Mac) ja Excel for the web.

    Näpunäited:

    • Exceli versioonides, kus funktsioon TEXTSPLIT ei ole saadaval (v.a Excel 365), saate lahtrite jagamiseks kasutada teksti veerudeks jaotamise viisardit.
    • Vastupidise ülesande täitmiseks, st mitme lahtri sisu ühendamiseks ühte lahtrisse, kasutades kindlat eraldajat, tuleb kasutada funktsiooni TEXTJOIN.

    Põhiline TEXTSPLIT valem Exceli lahtri jagamiseks

    Alustuseks vaatame, kuidas kasutada valemit TEXTSPLIT selle lihtsaimal kujul, et jagada tekstijada konkreetse eraldaja järgi.

    Jagage lahter horisontaalselt üle veergude

    Et jagada antud lahtri sisu mitmesse veergu, esitage viide lahtrisse, mis sisaldab algset stringi esimese ( tekst ) argument ja eraldaja, mis tähistab punkti, kus jagamine peaks toimuma teise ( col_delimiter ) argument.

    Näiteks, et eraldada string A2 horisontaalselt komaga, on valem:

    =TEXTSPLIT(A2, ",")

    Eraldaja jaoks kasutame koma, mis on suletud topeltlause alla (",").

    Selle tulemusena läheb iga komaga eraldatud kirje eraldi veergu:

    Jagage lahter vertikaalselt üle ridade

    Teksti jagamiseks mitme rea vahel tuleb kolmandaks argumendiks ( row_delimiter ) on koht, kuhu paigutate eraldaja. Teine argument ( col_delimiter ) on antud juhul välja jäetud.

    Näiteks, et eraldada A2 väärtused erinevatesse ridadesse, on valem järgmine:

    =TEXTSPLIT(A2, ,",")

    Pange tähele, et mõlemal juhul sisestatakse valem ainult ühte lahtrisse (C2). Naaberrakudesse voolavad tagastatud väärtused automaatselt. Saadud massiivi (mida nimetatakse voolu vahemikuks) on sinise raamiga esile tõstetud, mis näitab, et kõik selle sees olev arvutatakse vasakpoolses ülemises lahtris oleva valemi järgi.

    Teksti jagamine alajaotuse järgi

    Paljudel juhtudel on lähtekirje väärtused eraldatud tähemärkide jadaga, näiteks koma ja tühik. Sellise stsenaariumi käsitlemiseks kasutage eraldusmärkide jaoks alamjada.

    Näiteks, kui soovite eraldada teksti A2 mitmes veerus koma ja tühiku abil, kasutage stringi ", " jaoks col_delimiter .

    =TEXTSPLIT(A2, ", ")

    See valem läheb B2-sse ja seejärel kopeerite selle alla läbi nii paljude lahtrite kui vaja.

    Jagab stringi korraga veergudeks ja ridadeks

    Tekstijada korraga ridadeks ja veergudeks jagamiseks määrake mõlemad eraldusjooned oma TEXTSPLIT-valemis.

    Näiteks, et jagada tekstistring A2 veergude ja ridade vahel, anname:

    • Võrdsuse märk ("=") tähistab col_delimiter
    • Koma ja tühik (", ") tähistab row_delimiter

    Täielik valem on sellisel kujul:

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

    Tulemuseks on 2-D massiivi, mis koosneb 2 veerust ja 3 reast:

    Eraldage lahtrid mitme eraldusjoonega

    Mitme või ebajärjekindla eraldaja käsitlemiseks lähtekirje stringis kasutage eraldaja argumendina massiivi konstanti, näiteks {"x", "y", "z"}.

    Alljärgneval ekraanipildil on tekst A2-s piiritletud nii komadega (",") kui ka semikoolonitega (";") koos tühikutega ja ilma. Et jagada string vertikaalselt ridadesse kõigi 4 piiritleja variatsiooniga, on valem järgmine:

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

    Või võite lisada massiivi ainult koma (",") ja semikoolon (";") ning seejärel eemaldada üleliigsed tühikud funktsiooni TRIM abil:

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

    Teksti jagamine, ignoreerides tühje väärtusi

    Kui string sisaldab kahte või enamat järjestikust eraldusjoont, mille vahel ei ole väärtust, saate valida, kas selliseid tühje väärtusi ignoreerida või mitte. Seda käitumist kontrollib neljas käsk ignore_empty parameeter, mille vaikimisi väärtus on FALSE.

    Vaikimisi ei jäta funktsioon TEXTSPLIT tühje väärtusi tähelepanuta. Vaikimisi käitumine toimib hästi struktureeritud andmete puhul, nagu alljärgnevas näites.

    Selles näidistabelis puuduvad mõnes stringis hinded. TEXTSPLIT valemiga TEXTSPLIT koos ignore_empty argumendi puudumine või FALSE seadmine käsitleb seda juhtumit suurepäraselt, luues iga tühja väärtuse jaoks tühja lahtri.

    =TEXTSPLIT(A2, ", ")

    Või

    =TEXTSPLIT(A2, ", ", FALSE)

    Selle tulemusel ilmuvad kõik väärtused vastavatesse veergudesse.

    Juhul kui teie stringid sisaldavad homogeenseid andmeid, võib olla mõistlik ignoreerida tühje väärtusi. Selleks määrake parameeter ignore_empty argument TRUE või 1.

    Näiteks, et jagada t allolevad stringid, mis paigutavad iga oskuse eraldi lahtrisse ilma lünkadeta, on valem:

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

    Sellisel juhul jäetakse järjestikuste eraldusmärkide vahel olevad puuduvad väärtused täielikult tähelepanuta:

    Raku jagamine suur- ja väiketähelepanu alusel või väiketähelepanuta

    Eraldaja suur- ja väiketähenduslikkuse kontrollimiseks kasutage viiendat argumenti, match_mode .

    Vaikimisi, match_mode on määratud 0, muutes TEXTSPLITi suur- ja väiketähelepanu .

    Selles näites on numbrid eraldatud väikse "x" ja suure "X" tähega.

    Valem vaikimisi suur- ja väiketähtede tundlikkusega aktsepteerib eraldusmärkidena ainult väikest "x":

    =TEXTSPLIT(A2, " x ")

    Palun pöörake tähelepanu sellele, et eraldaja mõlemal pool tähte " x " oleks tühik, et vältida juhtivaid ja tagumisi tühikuid tulemustes.

    Suur- ja väiketundlikkuse väljalülitamiseks annate 1 jaoks match_mode et sundida valemit TEXTSPLIT ignoreerima tähestikku:

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

    Nüüd on kõik stringid jagatud õigesti kummagi eraldaja järgi:

    Puuduvate väärtuste täitmine 2D-massiivis

    Funktsiooni TEXTSPLIT viimane argument, pad_with , tuleb kasuks juhul, kui lähtekriipsust puudub üks või mitu väärtust. Kui selline string on jagatud nii veergudeks kui ka ridadeks, tagastab Excel vaikimisi #N/A vead puuduvate väärtuste asemel, et mitte moonutada kahemõõtmelise massiivi struktuuri.

    Alljärgnevas stringis puudub "=" ( col_delimiter ) pärast "Score". Et säilitada saadud massiivi terviklikkust, väljastab TEXTSPLIT "Score" kõrval #N/A.

    Et tulemus oleks kasutajasõbralikum, võite asendada vea #N/A mistahes väärtusega. Lihtsalt kirjutage soovitud väärtus lahtrisse pad_with argument.

    Meie puhul võiks see olla sidekriips ("-"):

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

    Või tühi string (""):

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

    Nüüd, kui olete õppinud funktsiooni TEXTSPLIT iga argumendi praktilist kasutamist, arutleme paari edasijõudnud näite üle, mis aitavad teil oma Exceli tabelites mittetriviaalsete probleemidega toime tulla.

    Jagage kuupäevad päevaks, kuuks ja aastaks

    Kuupäeva jagamiseks üksikuteks ühikuteks peate kõigepealt konverteerima kuupäeva tekstiks, sest funktsioon TEXTSPLIT tegeleb tekstisõnadega, samas kui Exceli kuupäevad on numbrid.

    Kõige lihtsam viis teisendada numbriline väärtus tekstiks on kasutada funktsiooni TEXT. Veenduge, et annate kuupäeva jaoks sobiva vormingukoodi.

    Meie puhul on valem:

    =TEXT(A2, "k/kk/aaaa")

    Järgmine samm on ülaltoodud funktsiooni pesitsemine TEXTSPLIT-i 1. argumendiks ja vastava eraldaja sisestamine 2. või 3. argumendiks, sõltuvalt sellest, kas te jagate veergude või ridade vahel. Selles näites on kuupäevaühikud eraldatud kaldkriipsudega, seega kasutame "/" jaoks col_delimiter argument:

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

    Lahutage lahtrid ja eemaldage teatud tähemärgid

    Kujutage ette järgmist: olete pika stringi osadeks jaotanud, kuid saadud massiiv sisaldab siiski mõningaid soovimatuid märke, näiteks sulgudes olevaid sümboleid, nagu alltoodud ekraanipildil:

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

    Selleks, et eemaldada algavad ja lõplikud sulgud korraga, pesitsege kaks funktsiooni SUBSTITUTE üksteise sisse (asendades kumbki ühe sulgu tühja stringiga) ja kasutage valemit TEXTSPLIT valemit tekst sisemise SUBSTITUTE'i argument:

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

    Vihje. Kui lõplik massiiv sisaldab liiga palju lisatähti, saate need puhastada, kasutades ühte meetodit, mida on kirjeldatud selles artiklis: Kuidas eemaldada soovimatuid sümboleid Excelis.

    Teatud väärtuste vahelejätmine stringide jagamisel

    Oletame, et soovite jagada allpool olevad stringid 4 veergu: Eesnimi , Perekonnanimi , Tulemus ja Tulemus Probleem on selles, et mõned stringid sisaldavad tiitlit "Mr." või "Ms.", mille tõttu on tulemused kõik valed:

    Lahendus ei ole ilmne, kuid üsna lihtne :)

    Lisaks olemasolevatele eraldusmärkidele, milleks on tühik (" ") ning koma ja tühik (", "), lisate te stringid "Mr. " ja "Ms. " sisse col_delimiter massiivi konstant, nii et funktsioon kasutab teksti eraldamiseks pealkirju endid. Tühjade väärtuste ignoreerimiseks seadistad funktsiooni ignore_empty argument TRUE.

    =TEXTSPLIT(A2, {" ",", ", "Mr. ", "Ms."}, ,TRUE)

    Nüüd on tulemused absoluutselt täiuslikud!

    TEXTSPLIT alternatiivid

    Exceli versioonides, kus funktsiooni TEXTSPLIT ei toetata, saate jagada stringid, kasutades erinevaid kombinatsioone funktsiooniga SEARCH / FIND koos LEFT, RIGHT ja MID. Eelkõige:

    • Suur- ja väiketähelepanuta SEARCH või suur- ja väiketähelepanuta FIND määrab eraldaja positsiooni stringis ja
    • Funktsioonid LEFT, RIGHT ja MID eraldavad osaühendi enne, pärast või vahel kahte piiritlejat.

    Meie puhul, et jagada väärtused, mis on eraldatud läbi koma ja tühik , siis valemid on järgmised.

    Nime väljavõtmiseks:

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

    Et tõmmata skoor:

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

    Tulemuse saamiseks:

    =RIGHT(A2, LEN(A2) - SEARCH(",", A2, SEARCH(",", A2) + 1)-1)

    Valemite loogika üksikasjalikuks selgitamiseks vt Kuidas jagada stringid märkide või maski järgi.

    Pidage meeles, et erinevalt dünaamilise massiivi TEXTSPLIT funktsioonist järgivad need valemid traditsioonilist ühe valemi ja ühe lahtri lähenemisviisi. Te sisestate valemi esimesse lahtrisse ja seejärel lohistate selle veerus alla, et kopeerida see allolevatesse lahtritesse.

    Tulemused on näha alloleval ekraanipildil:

    See on, kuidas jagada lahtreid Excel 365-s, kasutades TEXTSPLIT või alternatiivseid lahendusi varasemates versioonides. Tänan teid lugemise eest ja loodan, et näeme teid järgmisel nädalal meie blogis!

    Praktiline töövihik allalaadimiseks

    TEXTSPLIT funktsioon stringide jagamiseks - valemite näited (.xlsx fail)

    Michael Brown on pühendunud tehnoloogia entusiast, kelle kirg on tarkvaratööriistade abil keerukate protsesside lihtsustamine. Rohkem kui kümneaastase kogemusega tehnoloogiatööstuses on ta lihvinud oma oskusi Microsoft Excelis ja Outlookis, samuti Google Sheetsis ja Docsis. Michaeli ajaveebi eesmärk on jagada oma teadmisi ja teadmisi teistega, pakkudes hõlpsasti järgitavaid näpunäiteid ja õpetusi tootlikkuse ja tõhususe parandamiseks. Olenemata sellest, kas olete kogenud professionaal või algaja, pakub Michaeli ajaveebi väärtuslikke teadmisi ja praktilisi nõuandeid nende oluliste tarkvaratööriistade maksimaalseks kasutamiseks.