TEXTSPLIT funkcija programoje "Excel": teksto eilučių skaidymas pagal skirtuką

  • Pasidalinti
Michael Brown

Šioje pamokoje rodoma, kaip naudoti visiškai naują funkciją TEXTSPLIT, kad "Excel 365" eilutes padalytumėte pagal bet kurį nurodytą skirtuką.

Gali pasitaikyti įvairių situacijų, kai "Excel" reikia padalyti ląsteles. Ankstesnėse versijose jau turėjome keletą priemonių šiai užduočiai atlikti, pavyzdžiui, "Text to Columns" ir "Fill Flash". Dabar taip pat turime specialią tam skirtą funkciją TEXTSPLIT, kuri gali padalyti eilutę į kelias ląsteles stulpeliuose ir (arba) eilutėse pagal nurodytus parametrus.

    "Excel" TEXTSPLIT funkcija

    "Excel" funkcija TEXTSPLIT teksto eilutes pagal tam tikrą skirtuką padalina į stulpelius ir (arba) eilutes. Rezultatas - dinaminis masyvas, kuris automatiškai išsilieja į kelis langelius.

    Funkcija priima net 6 argumentus, iš kurių reikalingi tik pirmieji du.

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

    tekstas (privaloma) - tekstas, kurį reikia padalyti. Galima pateikti kaip eilutę arba ląstelės nuorodą.

    col_delimiter (privaloma) - simbolis (-iai), nurodantis (-ys), kur tekstas turi būti padalytas į stulpelius, eilutės_delimiteris turi būti apibrėžta.

    eilutės_delimiteris (neprivaloma) - simbolis (-iai), nurodantis (-ys), kur tekstas turi būti padalytas į eilutes.

    ignore_empty (neprivaloma) - nurodo, ar ignoruoti tuščias reikšmes, ar ne:

    • FALSE (numatytoji reikšmė) - sukurti tuščius langelius iš eilės einantiems skiriamiesiems ženklams be tarp jų esančios reikšmės.
    • TRUE - ignoruoti tuščias reikšmes, t. y. nekurti tuščių langelių, jei yra du ar daugiau iš eilės riboženklių.

    match_mode (neprivaloma) - nustato skirtuko jautrumą didžiosioms raidėms. Pagal numatytuosius nustatymus įjungta.

    • 0 (numatytoji reikšmė) - atsižvelgiama į mažąsias ir didžiąsias raides
    • 1 - neatsižvelgiama į mažąsias ir didžiąsias raides

    pad_with (neprivaloma) - reikšmė, naudojama vietoj trūkstamų reikšmių dvimatėse lentelėse. Numatytoji reikšmė yra #N/A klaida.

    Pavyzdžiui, norėdami A2 esančią teksto eilutę padalyti į kelis langelius, kaip skirtuką naudodami kablelį ir tarpą, formulė yra tokia:

    =TEXTSPLIT(A2, ", ")

    TEXTSPLIT prieinamumas

    Funkcija TEXTSPLIT galima tik "Excel" programoje "Microsoft 365" ("Windows" ir "Mac") ir "Excel" programoje žiniatinkliui.

    Patarimai:

    • "Excel" versijose, kuriose nėra funkcijos TEXTSPLIT (išskyrus "Excel 365"), galite naudoti vedlį "Tekstas į stulpelius", kad padalytumėte ląsteles.
    • Norint atlikti atvirkštinę užduotį, t. y. sujungti kelių langelių turinį į vieną naudojant tam tikrą skiriamąjį ženklą, reikia naudoti funkciją TEXTJOIN.

    Pagrindinė TEXTSPLIT formulė ląstelei padalyti "Excel" programoje

    Pirmiausia pažiūrėkime, kaip naudoti TEXTSPLIT formulę paprasčiausia forma teksto eilutei padalyti pagal tam tikrą skirtuką.

    Padalykite ląstelę horizontaliai per stulpelius

    Norėdami padalyti tam tikro langelio turinį į kelis stulpelius, pirmajam stulpeliui pateikite nuorodą į langelį, kuriame yra pradinė eilutė ( tekstas ) argumentas ir riboženklis, žymintis tašką, kuriame turėtų būti atliktas antrojo ( col_delimiter ) argumentas.

    Pavyzdžiui, norint A2 eilutę horizontaliai atskirti kableliu, formulė yra tokia:

    =TEXTSPLIT(A2, ",")

    Kaip skiriamąjį ženklą naudojame kablelį, įtrauktą į dvigubas kabutes (",").

    Todėl kiekvienas kableliu atskirtas elementas patenka į atskirą stulpelį:

    Padalykite ląstelę vertikaliai per eilutes

    Jei norite padalyti tekstą keliose eilutėse, trečiasis argumentas ( eilutės_delimiteris ) yra ta vieta, kur dedamas skirtukas. Antrasis argumentas ( col_delimiter ) šiuo atveju praleidžiamas.

    Pavyzdžiui, norint A2 reikšmes išskirti į skirtingas eilutes, formulė yra tokia:

    =TEXTSPLIT(A2, ,",")

    Atkreipkite dėmesį, kad abiem atvejais formulė įvedama tik į vieną langelį (C2). Kaimyniniuose langeliuose grąžinamos reikšmės išsilieja automatiškai. Gautas masyvas (kuris vadinamas išsiliejimo diapazonu) paryškinamas mėlynu apvadu, nurodančiu, kad viskas, kas jame yra, apskaičiuojama pagal viršutiniame kairiajame langelyje esančią formulę.

    Teksto skaidymas pagal posričių eilutes

    Daugeliu atvejų šaltinio eilutės reikšmės yra atskirtos simbolių seka, pavyzdžiui, kablelis ir tarpas. Tokiam atvejui spręsti kaip skirtuką naudokite dalelytę.

    Pavyzdžiui, norėdami A2 tekstą atskirti į kelis stulpelius kableliu ir tarpeliu, naudokite eilutę ", ". col_delimiter .

    =TEXTSPLIT(A2, ", ")

    Ši formulė perkeliama į B2, o tada kopijuokite ją žemyn per tiek ląstelių, kiek reikia.

    Padalykite eilutę į stulpelius ir eilutes vienu metu

    Jei norite teksto eilutę padalyti į eilutes ir stulpelius vienu metu, TEXTSPLIT formulėje apibrėžkite abu skirtukus.

    Pavyzdžiui, norėdami A2 teksto eilutę padalyti į stulpelius ir eilutes, pateikiame:

    • Lygybės ženklas ("=") col_delimiter
    • Kablelis ir tarpas (", ") eilutės_delimiteris

    Pilna formulė yra tokios formos:

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

    Rezultatas - 2-D masyvas, sudarytas iš 2 stulpelių ir 3 eilučių:

    Atskirkite ląsteles keliais skirtukais

    Jei norite tvarkyti kelis arba nenuoseklius skirtukus pradinėje eilutėje, kaip skirtuko argumentą naudokite masyvo konstantą, pvz., {"x", "y", "z"}.

    Toliau pateiktame paveikslėlyje A2 tekstas yra ribojamas kableliais (",") ir kabliataškiais (";") su tarpais ir be jų. Norint vertikaliai padalyti eilutę į eilutes pagal visus 4 ribotuvo variantus, formulė yra tokia:

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

    Arba galite į masyvą įtraukti tik kablelį (",") ir kabliataškį (";"), o tada papildomus tarpus pašalinti naudodami TRIM funkciją:

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

    Teksto skaidymas ignoruojant tuščias reikšmes

    Jei eilutėje yra du ar daugiau iš eilės einančių skiriamųjų ženklų be reikšmės tarp jų, galite pasirinkti, ar ignoruoti tokias tuščias reikšmes, ar ne. ignore_empty parametras, kurio numatytoji reikšmė yra FALSE.

    Pagal numatytuosius nustatymus funkcija TEXTSPLIT neignoruoja tuščių reikšmių. Numatytoji elgsena puikiai tinka struktūrizuotiems duomenims, kaip toliau pateiktame pavyzdyje.

    Šioje pavyzdinėje lentelėje kai kuriose eilutėse trūksta balų. TEXTSPLIT formulė su ignore_empty argumentas praleistas arba nustatytas į FALSE, šis atvejis puikiai išsprendžiamas - kiekvienai tuščiai reikšmei sukuriamas tuščias langelis.

    =TEXTSPLIT(A2, ", ")

    Arba

    =TEXTSPLIT(A2, ", ", FALSE)

    Dėl to visos reikšmės rodomos atitinkamuose stulpeliuose.

    Jei jūsų eilutėse yra vienarūšių duomenų, gali būti tikslinga ignoruoti tuščias reikšmes. ignore_empty argumentas yra TRUE arba 1.

    Pavyzdžiui, norėdami padalyti t žemiau esančias eilutes ir kiekvieną įgūdį įrašyti į atskirą ląstelę be tarpų, formulė yra tokia:

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

    Šiuo atveju į trūkstamas reikšmes tarp iš eilės einančių skiriamųjų ženklų visiškai neatsižvelgiama:

    Ląstelių skirstymas pagal mažųjų ir didžiųjų raidžių skirtumą arba pagal mažųjų ir didžiųjų raidžių skirtumą

    Jei norite kontroliuoti skirtuko jautrumą didžiosioms raidėms, naudokite penktąjį argumentą, match_mode .

    Pagal numatytuosius nustatymus, match_mode nustatoma į 0, todėl TEXTSPLIT , kai atsižvelgiama į mažąsias ir didžiąsias raides. .

    Šiame pavyzdyje skaičiai atskirti mažosiomis "x" ir didžiosiomis "X" raidėmis.

    Formulėje su numatytuoju didžiųjų ir mažųjų raidžių jautrumu kaip skyrybos ženklas priimamas tik mažasis "x":

    =TEXTSPLIT(A2, " x ")

    Atkreipkite dėmesį į tai, kad abiejose raidės " x " pusėse būtų tarpas, kad rezultatuose nebūtų pradinių ir galinių tarpų.

    Norėdami išjungti didžiųjų raidžių jautrumą, įrašykite 1 už match_mode priversti TEXTSPLIT formulę ignoruoti raidžių raidę:

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

    Dabar visos eilutės teisingai padalijamos pagal abu skirtukus:

    Trūkstamų verčių užpildymas 2D masyve

    Paskutinis funkcijos TEXTSPLIT argumentas, pad_with , praverčia tuo atveju, jei pradinėje eilutėje trūksta vienos ar daugiau reikšmių. Kai tokia eilutė padalijama į stulpelius ir eilutes, pagal numatytuosius nustatymus "Excel" vietoj trūkstamų reikšmių grąžina #N/A klaidas, kad nebūtų iškraipyta dvimatės matricos struktūra.

    Toliau pateiktoje eilutėje nėra simbolio "=" ( col_delimiter ) po "Score". Kad būtų išlaikytas gauto masyvo vientisumas, TEXTSPLIT šalia "Score" išveda #N/A.

    Kad rezultatas būtų patogesnis, klaidą #N/A galite pakeisti bet kokia norima reikšme. Tiesiog įveskite norimą reikšmę į laukelį pad_with argumentas.

    Mūsų atveju tai galėtų būti brūkšnys ("-"):

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

    Arba tuščia eilutė (""):

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

    Dabar, kai sužinojote, kaip praktiškai naudoti kiekvieną funkcijos TEXTSPLIT argumentą, aptarsime keletą pažangių pavyzdžių, kurie gali padėti susidoroti su netrivialiais iššūkiais "Excel" skaičiuoklėse.

    Suskirstykite datas į dieną, mėnesį ir metus

    Norėdami padalyti datą į atskirus vienetus, pirmiausia turite konvertuoti datą į tekstą, nes funkcija TEXTSPLIT skirta teksto eilutėms, o "Excel" datos yra skaičiai.

    Paprasčiausias būdas konvertuoti skaitinę vertę į tekstą - naudoti funkciją TEXT. Tik būtinai nurodykite tinkamą datos formato kodą.

    Mūsų atveju formulė yra tokia:

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

    Kitas žingsnis - pirmiau minėtą funkciją įterpti į TEXTSPLIT 1-ąjį argumentą, o 2-ajame arba 3-iajame argumente įvesti atitinkamą skiriamąjį ženklą, priklausomai nuo to, ar skirstote į stulpelius, ar į eilutes. Šiame pavyzdyje datos vienetai yra atskirti brūkšneliais, todėl naudojame "/". col_delimiter argumentas:

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

    Padalykite ląsteles ir pašalinkite tam tikrus simbolius

    Įsivaizduokite: ilgą eilutę suskaidėte į dalis, tačiau gautame masyve vis dar yra nepageidaujamų simbolių, pvz., skliaustai, kaip parodyta toliau pateiktoje ekrano kopijoje:

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

    Norėdami vienu metu pašalinti pradinius ir baigiamuosius skliaustelius, įterpkite dvi SUBSTITUTE funkcijas vieną į kitą (kiekviena iš jų pakeičia vieną skliaustelį tuščia eilute) ir naudokite TEXTSPLIT formulę tekstas vidinio SUBSTITUTE argumentas:

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

    Patarimas. Jei galutiniame masyve yra per daug papildomų simbolių, galite juos išvalyti naudodami vieną iš metodų, aprašytų šiame straipsnyje: Kaip pašalinti nepageidaujamus simbolius "Excel" programoje.

    Padalyti eilutes praleidžiant tam tikras reikšmes

    Tarkime, kad toliau pateiktas eilutes norite suskirstyti į 4 stulpelius: Vardas ir pavardė , Pavardė , Rezultatai , ir Rezultatas . Problema ta, kad kai kuriose eilutėse yra titulas "ponas" arba "ponia", dėl to visi rezultatai yra neteisingi:

    Sprendimas nėra akivaizdus, bet gana paprastas :)

    Be esamų skiriamųjų ženklų - tarpo (" ") ir kablelio bei tarpo (", ") - į eilutę "Mr. " ir "Ms. " įtraukite eilutes "Mr. " ir "Ms. ". col_delimiter masyvo konstantą, kad funkcija tekstą atskirtų pačiais pavadinimais. Jei norite ignoruoti tuščias reikšmes, nustatykite ignore_empty argumentą į TRUE.

    =TEXTSPLIT(A2, {" ",",", ", "Ponas", "Ponia"}, ,TRUE)

    Dabar rezultatai visiškai puikūs!

    TEXTSPLIT alternatyvos

    "Excel" versijose, kuriose nepalaikoma funkcija TEXTSPLIT, eilutes galite padalyti naudodami įvairius funkcijos SEARCH / FIND derinius su LEFT, RIGHT ir MID. Visų pirma:

    • Ieškoti, neatsižvelgiant į didžiąsias raides, arba ieškoti, neatsižvelgiant į didžiąsias raides, nustato riboženklio padėtį eilutėje, o
    • Funkcijos LEFT, RIGHT ir MID išskiria dalelytę prieš, po arba tarp dviejų skirtuko atvejų.

    Mūsų atveju, norėdami padalyti reikšmes, atskirtas kablelis ir tarpas , formulės yra tokios.

    Norėdami išgauti pavadinimą:

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

    Norėdami ištraukti rezultatą:

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

    Norėdami gauti rezultatą:

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

    Išsamesnį formulių logikos paaiškinimą rasite straipsnyje Kaip padalyti eilutes pagal simbolį arba kaukę.

    Nepamirškite, kad, kitaip nei dinaminio masyvo funkcija TEXTSPLIT, šioms formulėms taikomas tradicinis vienos formulės ir vieno langelio metodas. Įveskite formulę į pirmąjį langelį, tada vilkite ją stulpeliu žemyn ir kopijuokite į tolesnius langelius.

    Toliau pateiktoje ekrano nuotraukoje matyti rezultatai:

    Štai kaip padalyti ląsteles "Excel 365" naudojant TEXTSPLIT arba alternatyvius sprendimus ankstesnėse versijose. Dėkoju, kad perskaitėte, ir tikiuosi, kad kitą savaitę susitiksime mūsų tinklaraštyje!

    Atsisiųsti praktikos sąsiuvinį

    TEXTSPLIT funkcija eilutėms skaidyti - formulių pavyzdžiai (.xlsx failas)

    Michaelas Brownas yra atsidavęs technologijų entuziastas, mėgstantis supaprastinti sudėtingus procesus naudojant programinės įrangos įrankius. Turėdamas daugiau nei dešimtmetį patirtį technologijų pramonėje, jis patobulino savo įgūdžius „Microsoft Excel“ ir „Outlook“, taip pat „Google“ skaičiuoklėse ir dokumentuose. Michaelio tinklaraštis skirtas dalytis savo žiniomis ir patirtimi su kitais, jame pateikiami lengvai įgyvendinami patarimai ir vadovėliai, kaip pagerinti produktyvumą ir efektyvumą. Nesvarbu, ar esate patyręs profesionalas, ar pradedantysis, Michaelo tinklaraštyje rasite vertingų įžvalgų ir praktinių patarimų, kaip išnaudoti visas šių pagrindinių programinės įrangos įrankių galimybes.