Sisällysluettelo
Ohjeessa näytetään, miten käytät upouutta TEXTSPLIT-toimintoa jakamaan merkkijonoja Excel 365:ssä minkä tahansa määrittämäsi rajaajan avulla.
Excelissä voi olla erilaisia tilanteita, joissa sinun on jaettava soluja. Aikaisemmissa versioissa meillä oli jo useita välineitä tehtävän suorittamiseen, kuten Tekstiä sarakkeisiin ja Täytä välähdys. Nyt meillä on myös erityinen toiminto, TEXTSPLIT, joka voi jakaa merkkijonon useisiin soluihin sarakkeissa tai/ja riveillä määrittelemiesi parametrien perusteella.
Excel TEXTSPLIT-toiminto
Excelin TEXTSPLIT-toiminto jakaa tekstijonot tietyn erottimen mukaan sarakkeiden ja/tai rivien välillä. Tuloksena on dynaaminen joukko, joka jakautuu automaattisesti useisiin soluihin.
Funktio ottaa vastaan jopa 6 argumenttia, joista vain kaksi ensimmäistä vaaditaan.
TEXTSPLIT(text, col_delimiter, [row_delimiter], [ignore_empty], [match_mode], [pad_with])teksti (pakollinen) - jaettava teksti. Voidaan antaa merkkijonona tai soluviitteenä.
col_delimiter (pakollinen) - merkki(t), joka osoittaa, missä kohtaa teksti jaetaan sarakkeisiin. Jos se jätetään pois, row_delimiter on määriteltävä.
row_delimiter (valinnainen) - merkki(t), joka osoittaa, mihin kohtaan teksti jaetaan riveillä.
ignore_empty (valinnainen) - määrittää, jätetäänkö tyhjät arvot huomiotta vai ei:
- FALSE (oletusarvo) - luo tyhjiä soluja peräkkäisille rajausmerkeille ilman arvoa niiden välissä.
- TRUE - jätä tyhjät arvot huomiotta, eli älä luo tyhjiä soluja kahdelle tai useammalle peräkkäiselle rajausmerkille.
match_mode (valinnainen) - määrittää erottimen isojen ja pienten kirjainten herkkyyden. Oletusarvoisesti käytössä.
- 0 (oletusarvo) - isojen ja pienten kirjainten erottelu
- 1 - isojen ja pienten kirjainten erotus
pad_with (valinnainen) - arvo, jota käytetään puuttuvien arvojen sijasta kaksiulotteisissa matriiseissa. Oletusarvo on #N/A-virhe.
Jos esimerkiksi haluat jakaa A2-kentässä olevan merkkijonon useampaan soluun käyttämällä pilkkua ja välilyöntiä erottimena, kaava on seuraava:
=TEXTSPLIT(A2, ", ")
TEXTSPLIT saatavuus
TEXTSPLIT-toiminto on käytettävissä vain Excel for Microsoft 365:ssä (Windows ja Mac) ja Excel for the webissä.
Vinkkejä:
- Excel-versioissa, joissa TEXTSPLIT-toiminto ei ole käytettävissä (muut kuin Excel 365), voit jakaa soluja ohjatulla toiminnolla Tekstiä sarakkeisiin.
- Jos haluat suorittaa käänteisen tehtävän, eli yhdistää useiden solujen sisällön yhdeksi soluksi käyttäen tiettyä erotinta, voit käyttää TEXTJOIN-funktiota.
Basic TEXTSPLIT -kaava solun jakamiseksi Excelissä
Katsotaan aluksi, miten TEXTSPLIT-kaavaa käytetään yksinkertaisimmillaan jakamaan merkkijono tietyn erottimen mukaan.
Solun jakaminen vaakasuunnassa sarakkeiden välillä
Jos haluat jakaa tietyn solun sisällön useampaan sarakkeeseen, anna viittaus soluun, joka sisältää alkuperäisen merkkijonon ensimmäistä ( teksti ) argumentti ja rajaaja, joka merkitsee kohtaa, jossa jakamisen pitäisi tapahtua toisen ( col_delimiter ) argumentti.
Jos esimerkiksi haluat erottaa merkkijonon A2 vaakasuoraan pilkulla, kaava on seuraava:
=TEXTSPLIT(A2, ",")
Käytämme erottimena pilkkua kaksinkertaisten lainausmerkkien sisällä (",").
Tämän seurauksena jokainen pilkulla erotettu kohta tulee omaan sarakkeeseensa:
Jaa solu pystysuoraan rivien yli
Jos haluat jakaa tekstin useammalle riville, kolmas argumentti ( row_delimiter ) on se, mihin sijoitat rajaajan. Toinen argumentti ( col_delimiter ) jätetään tässä tapauksessa pois.
Jos esimerkiksi haluat jakaa A2:n arvot eri riveille, kaava on seuraava:
=TEXTSPLIT(A2, ,",")
Huomaa, että molemmissa tapauksissa kaava syötetään vain yhteen soluun (C2). Naapurisoluissa palautetut arvot valuvat automaattisesti. Tuloksena syntyvä joukko (jota kutsutaan valuma-alueeksi) on korostettu sinisellä kehyksellä osoittaen, että kaikki sen sisällä oleva lasketaan vasemmassa yläsolussa olevan kaavan avulla.
Tekstin jakaminen osajonon mukaan
Monissa tapauksissa lähdejonon arvot on erotettu toisistaan merkkijonolla, esimerkiksi pilkulla ja välilyönnillä. Tätä tapausta varten voit käyttää erottimena merkkijonoa.
Jos haluat esimerkiksi jakaa A2-kohdan tekstin useisiin sarakkeisiin pilkulla ja välilyönnillä, käytä merkkijonoa ", " merkkinä col_delimiter .
=TEXTSPLIT(A2, ", ")
Tämä kaava siirretään B2:een, ja sen jälkeen se kopioidaan alaspäin niin moneen soluun kuin tarvitaan.
Jaa merkkijono sarakkeisiin ja riveihin kerralla
Jos haluat jakaa tekstijonon riveihin ja sarakkeisiin kerrallaan, määritä molemmat rajausmerkit TEXTSPLIT-kaavaan.
Jos esimerkiksi haluamme jakaa A2-kohdan tekstijonon sarakkeisiin ja riveihin, annamme:
- Yhtäsuuruusmerkki ("=") on col_delimiter
- Pilkku ja välilyönti (", "), kun kyseessä on row_delimiter
Täydellinen kaava on seuraavassa muodossa:
=TEXTSPLIT(A2, "=", ", ")
Tuloksena on 2-D-matriisi, jossa on 2 saraketta ja 3 riviä:
Erottele solut useilla rajausmerkeillä
Jos haluat käsitellä useita tai epäjohdonmukaisia erottimia lähdejonossa, käytä erottimena array-vakiota, kuten {"x", "y", "z"}.
Alla olevassa kuvakaappauksessa A2:n teksti on rajattu sekä pilkuilla (",") että puolipisteillä (";") välilyönneillä ja ilman välilyöntejä. Jos merkkijono halutaan jakaa pystysuoraan riveihin kaikilla neljällä erottimen variaatiolla, kaava on seuraava:
=TEXTSPLIT(A2, , {",",", ",";",",";"})
Voit myös sisällyttää matriisiin vain pilkun (",") ja puolipisteen (";") ja poistaa ylimääräiset välilyönnit TRIM-funktion avulla:
=TRIM(TEXTSPLIT(A2, , {",",";"})))
Jaettu teksti, joka ei huomioi tyhjiä arvoja
Jos merkkijono sisältää kaksi tai useampia peräkkäisiä erottimia, joiden välissä ei ole arvoa, voit valita, jätetäänkö nämä tyhjät arvot huomiotta vai ei. Tätä käyttäytymistä ohjaa neljäs komento ignore_empty parametri, jonka oletusarvo on FALSE.
Oletusarvoisesti TEXTSPLIT-funktio ei jätä tyhjiä arvoja huomioimatta. Oletuskäyttäytyminen toimii hienosti strukturoiduille tiedoille, kuten alla olevassa esimerkissä.
Tässä esimerkkitaulukossa pistemäärät puuttuvat joistakin merkkijonoista. TEXTSPLIT-kaava, jossa on merkkijono ignore_empty argumentin poisjättäminen tai asettaminen FALSE:ksi hoitaa tämän tapauksen täydellisesti luomalla tyhjän solun jokaiselle tyhjälle arvolle.
=TEXTSPLIT(A2, ", ")
Tai
=TEXTSPLIT(A2, ", ", FALSE)
Tämän seurauksena kaikki arvot näkyvät asianmukaisissa sarakkeissa.
Jos merkkijonot sisältävät homogeenista dataa, voi olla järkevää jättää tyhjät arvot huomioimatta. Tätä varten aseta parametrin ignore_empty argumentin arvoksi TRUE tai 1.
Esimerkiksi, jos haluat jakaa t alla olevat merkkijonot sijoittamalla jokaisen taidon erilliseen soluun ilman aukkoja, kaava on:
=TEXTSPLIT(A2, ", ", ,TRUE)
Tässä tapauksessa peräkkäisten rajausmerkkien välissä olevat puuttuvat arvot jätetään kokonaan huomiotta:
Solun jakaminen tapauskohtaisesti tai tapauskohtaisesti
Jos haluat säätää erottimen isojen ja pienten kirjainten herkkyyttä, käytä viidettä argumenttia, match_mode .
Oletusarvoisesti, match_mode asetetaan arvoon 0, jolloin TEXTSPLIT case-sensitive .
Tässä esimerkissä numerot on erotettu toisistaan pienillä "x"- ja isoilla "X"-kirjaimilla.
Kaava, jossa on oletusarvoisesti käytössä isojen ja pienten kirjainten herkkyys, hyväksyy erottimeksi vain pienen kirjaimen "x":
=TEXTSPLIT(A2, " x ")
Huomioi, että erotuskirjaimessa on välilyönti " x " -kirjaimen molemmin puolin, jotta tuloksissa ei ole etu- ja jälkivälejä.
Jos haluat poistaa isojen ja pienten kirjainten herkkyyden käytöstä, annat 1 merkiksi match_mode pakottaa TEXTSPLIT-kaavan jättämään huomiotta kirjainten iskut:
=TEXTSPLIT(A2, " x ", , ,1)
Nyt kaikki merkkijonot jaetaan oikein kummalla tahansa erottimella:
Puuttuvien arvojen täyttäminen 2D-massassa
TEXTSPLIT-funktion viimeinen argumentti, pad_with , on kätevä, jos lähdejonosta puuttuu yksi tai useampi arvo. Kun tällainen merkkijono on jaettu sekä sarakkeisiin että riveihin, Excel palauttaa oletusarvoisesti #N/A-virheet puuttuvien arvojen sijasta, jotta kaksiulotteisen matriisin rakenne ei menisi sekaisin.
Alla olevassa merkkijonossa ei ole "=" ( col_delimiter ) "Score":n jälkeen. Jotta tuloksena oleva joukko pysyisi eheänä, TEXTSPLIT antaa #N/A:n "Score":n vieressä.
Jotta tulos olisi käyttäjäystävällisempi, voit korvata #N/A-virheen haluamallasi arvolla. Kirjoita yksinkertaisesti haluamasi arvo kenttään pad_with argumentti.
Meidän tapauksessamme se voisi olla väliviiva ("-"):
=TEXTSPLIT(A2, "=", ", ", ", , ,"-")
Tai tyhjä merkkijono (""):
=TEXTSPLIT(A2, "=", ", ", ", , ,""")
Nyt kun olet oppinut TEXTSPLIT-funktion kunkin argumentin käytännön käyttötarkoitukset, käsitellään nyt pari edistynyttä esimerkkiä, jotka voivat auttaa sinua selviytymään Excel-taulukoiden ei-triviaaleista haasteista.
Jaa päivämäärät päivään, kuukauteen ja vuoteen
Jos haluat jakaa päivämäärän yksittäisiin yksiköihin, sinun on ensin muunnettava päivämäärä tekstiksi, koska TEXTSPLIT-toiminto käsittelee tekstijonoja, kun taas Excelin päivämäärät ovat numeroita.
Helpoin tapa muuntaa numeerinen arvo tekstiksi on käyttää TEXT-toimintoa. Muista vain antaa päivämäärälle sopiva muotoilukoodi.
Meidän tapauksessamme kaava on:
=TEXT(A2, "pp/kk/vvvvv")
Seuraava vaihe on sijoittaa yllä oleva funktio TEXTSPLIT:n 1. argumenttiin ja antaa vastaava rajaaja 2. tai 3. argumenttiin riippuen siitä, jaatko sarakkeiden vai rivien välillä. Tässä esimerkissä päivämääräyksiköt on erotettu vinoviivoilla, joten käytämme "/" -merkkiä. col_delimiter argumentti:
=TEXTSPLIT(TEXT(A2, "pp.kk.vvvv"), "/")
Jaa solut ja poista tietyt merkit
Kuvittele tämä: olet jakanut pitkän merkkijonon osiin, mutta tuloksena syntyvässä joukossa on edelleen joitakin ei-toivottuja merkkejä, kuten sulkeissa alla olevassa kuvakaappauksessa:
=TEXTSPLIT(A2, " ", "; ")
Jos haluat poistaa avaavat ja sulkevat sulkeet kerrallaan, liitä kaksi SUBSTITUTE-funktiota toisiinsa (kukin korvaa yhden sulkeista tyhjällä merkkijonolla) ja käytä TEXTSPLIT-kaavaa teksti sisäisen SUBSTITUTE-olion argumentti:
=SUBSTITUTE(SUBSTITUTE(TEXTSPLIT(A2, " ", "; "), "(", ""), ")", ")", ""), "")
Vihje. Jos lopullinen joukko sisältää liikaa ylimääräisiä merkkejä, voit poistaa ne jollakin tässä artikkelissa kuvatuista menetelmistä: Miten poistaa ei-toivottuja merkkejä Excelissä.
Jaa merkkijonot ohittaen tietyt arvot
Oletetaan, että haluat jakaa alla olevat merkkijonot neljään sarakkeeseen: Etunimi , Sukunimi , Pisteet ja Tulos Ongelmana on, että jotkut merkkijonot sisältävät otsikon "Mr." tai "Ms.", minkä vuoksi tulokset ovat kaikki vääriä:
Ratkaisu ei ole itsestään selvä, mutta melko yksinkertainen :)
Olemassa olevien erottimien lisäksi, jotka ovat välilyönti (" ") ja pilkku ja välilyönti (", "), lisäät merkkijonot "Mr. " ja "Ms. " kohtaan col_delimiter array-vakiota, jotta funktio käyttää itse otsikoita tekstin erottamiseen. Jos haluat jättää tyhjät arvot huomioimatta, asetat arvon ignore_empty argumentin arvoksi TRUE.
=TEXTSPLIT(A2, {" ",",", ", "Mr. ", "Ms."}, ,TRUE)
Nyt tulokset ovat aivan täydellisiä!
TEXTSPLIT-vaihtoehdot
Excel-versioissa, joissa TEXTSPLIT-toimintoa ei tueta, voit jakaa merkkijonoja käyttämällä SEARCH / FIND-toiminnon eri yhdistelmiä LEFT-, RIGHT- ja MID-toimintojen kanssa. Erityisesti:
- Case-insensitive SEARCH tai case-sensitive FIND määrittää erotinmerkin sijainnin merkkijonossa, ja
- LEFT-, RIGHT- ja MID-toiminnot poimivat merkkijonon ennen kahta erotinta, niiden jälkeen tai niiden välissä.
Meidän tapauksessamme, jakaa arvot, jotka on erotettu toisistaan kirjaimella pilkku ja välilyönti Kaavat ovat seuraavat.
Nimen poimiminen:
=LEFT(A2, SEARCH(",", A2, 1) -1)
Vetää pisteet:
=MID(A2, SEARCH(",", A2) + 2, SEARCH(",", A2, SEARCH(",",A2)+1) - SEARCH(",", A2) - 2)
Tuloksen saamiseksi:
=RIGHT(A2, LEN(A2) - SEARCH(",", A2, SEARCH(",", A2) + 1)-1)
Yksityiskohtainen selitys kaavojen logiikasta on kohdassa Merkkijonojen jakaminen merkin tai maskin mukaan.
Muista, että toisin kuin dynaaminen TEXTSPLIT-toiminto, nämä kaavat noudattavat perinteistä yhden kaavan ja yhden solun lähestymistapaa. Kirjoitat kaavan ensimmäiseen soluun ja vedät sen sitten saraketta alaspäin kopioidaksesi sen alla oleviin soluihin.
Alla olevassa kuvakaappauksessa näkyvät tulokset:
Näin jaat soluja Excel 365:ssä käyttämällä TEXTSPLIT-ohjelmaa tai vaihtoehtoisia ratkaisuja aiemmissa versioissa. Kiitos lukemisesta ja toivottavasti tapaamme blogissamme ensi viikolla!
Käytännön työkirja ladattavissa
TEXTSPLIT-toiminto merkkijonojen jakamiseen - kaavaesimerkkejä (.xlsx-tiedosto)