INHOUDSOPGAWE
Die tutoriaal wys hoe om die splinternuwe TEXTSPLIT-funksie te gebruik om stringe in Excel 365 te verdeel deur enige skeidingsteken wat jy spesifiseer.
Daar kan verskeie situasies wees wanneer jy moet verdeel selle in Excel. In vroeëre weergawes was ons reeds toegerus met 'n aantal instrumente om die taak uit te voer, soos Teks na kolomme en Fill Flash. Nou het ons ook 'n spesiale funksie hiervoor, TEXTSPLIT, wat 'n string in veelvuldige selle oor kolomme en/en rye kan skei op grond van die parameters wat jy spesifiseer.
Excel TEXTSPLIT-funksie
Die TEXTSPLIT-funksie in Excel verdeel teksstringe deur 'n gegewe skeidingsteken oor kolomme en/en rye. Die resultaat is 'n dinamiese skikking wat outomaties na verskeie selle mors.
Die funksie neem soveel as 6 argumente, waarvan slegs die eerste twee vereis word.
TEXTSPLIT(text, col_delimiter, [row_delimiter], [ignore_empty], [match_mode], [pad_with])teks (vereis) - die teks om te verdeel. Kan as 'n string of selverwysing verskaf word.
col_delimiter (vereis) - 'n karakter(s) wat aandui waar om die teks oor kolomme te verdeel. As dit weggelaat word, moet ry-skeier gedefinieer word.
ry-skeier (opsioneel) - 'n karakter(e) wat aandui waar om die teks oor rye te verdeel.
ignore_empty (opsioneel) - spesifiseer of leë waardes geïgnoreer moet word of nie:
- FALSE (verstek) -skep leë selle vir opeenvolgende skeidings sonder 'n waarde tussenin.
- WAAR - ignoreer leë waardes, d.w.s. moenie leë selle vir twee of meer opeenvolgende skeidings skep nie.
match_mode (opsioneel) - bepaal hooflettergevoeligheid vir die skeidingsteken. By verstek geaktiveer.
- 0 (verstek) - hooflettergevoelig
- 1 - hoofletteronsensitief
pad_met (opsioneel ) - 'n waarde om te gebruik in plaas van ontbrekende waardes in tweedimensionele skikkings. Die verstek is 'n #N/A-fout.
Om byvoorbeeld 'n teksstring in A2 in veelvuldige selle te verdeel deur 'n komma en 'n spasie as die skeiding te gebruik, is die formule:
=TEXTSPLIT(A2, ", ")
TEXTSPLIT-beskikbaarheid
Die TEXTSPLIT-funksie is slegs beskikbaar in Excel vir Microsoft 365 (Windows en Mac) en Excel vir die web.
Wenke:
- In Excel-weergawes waar die TEXTSPLIT-funksie nie beskikbaar is nie (behalwe Excel 365), kan jy die Teks-na-kolomme-assistent gebruik om selle te verdeel.
- Om die omgekeerde taak uit te voer, dit wil sê om die inhoud van veelvuldige selle in een met 'n sekere skeidingsteken, TEXTJOIN is die funksie om te gebruik.
Basiese TEXTSPLIT formule om 'n sel in Excel te verdeel
Om mee te begin, kom ons kyk hoe om 'n TEXTSPLIT te gebruik formule in sy eenvoudigste vorm om 'n teksstring deur 'n spesifieke skeidingsteken te verdeel.
Verdeel 'n sel horisontaal oor kolomme
Om die inhoud van 'n gegewe sel in veelvuldige kolomme te verdeel, verskaf 'nverwysing na die sel wat die oorspronklike string vir die eerste ( teks ) argument bevat en die skeidingsteken wat die punt aandui waar die verdeling moet plaasvind vir die tweede ( kol_afgrenser ) argument.
Om byvoorbeeld die string in A2 horisontaal deur komma te skei, is die formule:
=TEXTSPLIT(A2, ",")
Vir die skeidingsteken gebruik ons 'n komma wat in dubbele aanhalingstekens (",") .
Gevolglik gaan elke item wat deur 'n komma geskei word in 'n individuele kolom in:
Verdeel 'n sel vertikaal oor rye
Om teks oor veelvuldige rye te verdeel, die derde argument ( ry_skeier ) is waar jy die skeidingsteken plaas. Die tweede argument ( col_delimiter ) word in hierdie geval weggelaat.
Om byvoorbeeld die waardes in A2 in verskillende rye te skei, is die formule:
=TEXTSPLIT(A2, ,",")
Neem asseblief kennis dat die formule in beide gevalle slegs in een sel (C2) ingevoer word. In naburige selle mors die teruggekeerde waardes outomaties. Die resulterende skikking (wat 'n morsreeks genoem word) word uitgelig met 'n blou rand wat aandui dat alles daarin bereken word deur die formule in die boonste linkersel.
Verdeel teks deur substring
In In baie gevalle word die waardes in die bronstring geskei deur 'n reeks karakters, 'n komma en 'n spasie is 'n tipiese voorbeeld. Om hierdie scenario te hanteer, gebruik 'n substring vir die skeidingsteken.
Om byvoorbeeld die teks in A2 in veelvuldige kolomme te skeideur 'n komma en 'n spasie, gebruik die string ", " vir kol_skeier .
=TEXTSPLIT(A2, ", ")
Hierdie formule gaan na B2, en dan kopieer jy dit af deur soveel selle soos benodig.
Verdeel string in kolomme en rye gelyktydig
Om 'n teksstring in rye en kolomme op 'n slag te verdeel, definieer beide skeidingstekens in jou TEXTSPLIT-formule.
Byvoorbeeld, om die teksstring in A2 oor kolomme en rye te verdeel, verskaf ons:
- Die gelykteken ("=") vir kol_afgrenser
- 'n komma en 'n spasie (", ") vir ry-skeier
Die volledige formule neem hierdie vorm aan:
=TEXTSPLIT(A2, "=", ", ")
Die resultaat is 'n 2-D skikking wat uit 2 kolomme en 3 rye bestaan:
Skei selle deur veelvuldige skeidings
Om veelvuldige of inkonsekwente skeidingstekens in die bronstring te hanteer, gebruik 'n skikkingkonstante soos {"x","y" ,"z"} vir die skeidingsargument.
In die skermkiekie hieronder word die teks in A2 geskei deur beide kommas ("",") en kommapunte (";") met en sonder spasies. Om die string vertikaal in rye te verdeel deur al 4 variasies van die skeidingsteken, is die formule:
=TEXTSPLIT(A2, , {",",", ",";","; "})
Of, jy kan slegs 'n komma ("",") en kommapunt ("; ") in die skikking, en verwyder dan ekstra spasies met behulp van die TRIM-funksie:
=TRIM(TEXTSPLIT(A2, , {",",";"}))
Verdeel teks wat leë waardes ignoreer
As die string bevat twee of meer opeenvolgende skeidingstekens sonder 'n waarde tussen hulle, kan jy kies of jy so 'n leeg wil ignoreerwaardes of nie. Hierdie gedrag word beheer deur die vierde ignore_empty parameter, wat as verstek ONWAAR is.
By verstek ignoreer die TEXTSPLIT-funksie nie leë waardes nie. Die verstekgedrag werk goed vir gestruktureerde data soos in die onderstaande voorbeeld.
In hierdie voorbeeldtabel ontbreek die tellings in sommige stringe. Die TEXTSPLIT-formule met die ignore_empty -argument weggelaat of op FALSE gestel, hanteer hierdie saak perfek en skep 'n leë sel vir elke leë waarde.
=TEXTSPLIT(A2, ", ")
Of
=TEXTSPLIT(A2, ", ", FALSE)
Gevolglik verskyn al die waardes in die toepaslike kolomme.
In die geval dat jou stringe homogene data bevat, kan dit rede wees om leë waardes te ignoreer. Stel hiervoor die ignore_empty -argument na WAAR of 1.
Om byvoorbeeld die onderstaande stringe te verdeel wat elke vaardigheid in 'n aparte sel sonder gapings plaas, is die formule:
=TEXTSPLIT(A2, ", ", ,TRUE)
In hierdie geval word die ontbrekende waardes tussen opeenvolgende skeidingstekens heeltemal geïgnoreer:
Selverdeling hooflettergevoelig of hoofletteronsensitief
Om die hoofletters- sensitiwiteit van die skeidingsteken, maak gebruik van die vyfde argument, passing_mode .
By verstek is match_mode op 0 gestel, wat TEXTSPLIT hooflettergevoelig
In hierdie voorbeeld word die syfers geskei deur die kleinletters "x" en hoofletters "X".
Die formule met die verstekhooflettergevoeligheid aanvaar slegs die kleinletters "x". "as dieskeidingsteken:
=TEXTSPLIT(A2, " x ")
Let asseblief daarop dat die skeidingsteken 'n spasie aan beide kante van die letter " x " het om voor- en agterspasies in die resultate te voorkom.
Om hooflettergevoeligheid af te skakel, verskaf jy 1 vir pasmodus om die TEXTSPLIT-formule te dwing om die letterkas te ignoreer:
=TEXTSPLIT(A2, " x ", , ,1)
Nou, almal die stringe word korrek verdeel deur enige skeidingsteken:
Pad ontbrekende waardes in 2D-skikking
Die laaste argument van die TEXTSPLIT-funksie, pad_with , kom handig te pas in geval een of meer waardes ontbreek in die bronstring. Wanneer so 'n string in beide kolomme en rye verdeel word, gee Excel by verstek #N/A-foute in plaas van die ontbrekende waardes om nie die struktuur van 'n tweedimensionele skikking te vermeng nie.
In die onderstaande string, daar is geen "=" ( col_delimiter ) na "Telling" nie. Om die integriteit van die resulterende skikking te behou, voer TEXTSPLIT #N/A langs "Telling" uit.
Om die resultaat meer gebruikersvriendelik te maak, kan jy die #N/A-fout vervang met enige waarde wat jy wil hê. Tik eenvoudig die gewenste waarde in die pad_met argument.
In ons geval kan dit 'n koppelteken ("-") wees:
=TEXTSPLIT(A2, "=", ", ", , ,"-")
Of 'n leë string (""):
=TEXTSPLIT(A2, "=", ", ", , ,"")
Nou dat jy praktiese gebruike van elke argument van die TEXTSPLIT-funksie geleer het, kom ons bespreek 'n paar gevorderde voorbeelde wat jou kan help hanteer nie-onbelangrike uitdagings in jou Excel-sigblaaie.
Verdeel datumsin dag, maand en jaar
Om 'n datum in individuele eenhede te verdeel, moet jy eers datum na teks omskakel, want die TEXTSPLIT-funksie handel oor teksstringe terwyl Excel-datums getalle is.
Die maklikste manier om 'n numeriese waarde na teks om te skakel, is deur die TEXT-funksie te gebruik. Maak net seker dat jy 'n toepaslike formaatkode vir jou datum verskaf.
In ons geval is die formule:
=TEXT(A2, "m/d/yyyy")
Die volgende stap is om die bogenoemde funksie in te nes die 1ste argument van TEXTSPLIT en voer die ooreenstemmende skeidingsteken vir die 2de of 3de argument in, afhangende van of jy oor kolomme of rye verdeel. In hierdie voorbeeld word die datum-eenhede met skuinsstreepies afgebaken, dus gebruik ons "/" vir die col_delimiter -argument:
=TEXTSPLIT(TEXT(A2, "m/d/yyyy"), "/")
Verdeel selle en verwyder sekere karakters
Stel jou dit voor: jy het 'n lang string in stukke verdeel, maar die resulterende skikking bevat steeds 'n paar ongewenste karakters, soos hakies in die skermkiekie hieronder:
=TEXTSPLIT(A2, " ", "; ")
Om te stroop van die opening- en toemaakhakies op 'n slag, nes twee PLAASVERVANGERS-funksies in mekaar (elk vervang een hakies met 'n leë string) en gebruik die TEXTSPLIT-formule vir die teks -argument van die binneste PLAASVERVANGER:
=SUBSTITUTE(SUBSTITUTE(TEXTSPLIT(A2, " ", "; "), "(", ""), ")", "")
Wenk. As die finale skikking te veel ekstra karakters bevat, kan jy dit skoonmaak met een van die metodes wat in hierdie artikel beskryf word: Hoe om ongewenste karakters in Excel te verwyder.
Verdeel stringe wat sekere waardes oorslaan
Gestel jy wil die onderstaande stringe in 4 kolomme skei: Voornaam , Van , Telling , en Resultaat . Die probleem is dat sommige stringe die titel "Mnr." of "Mev.", as gevolg waarvan die resultate almal verkeerd is:
Die oplossing is nie voor die hand liggend nie, maar redelik eenvoudig :)
Benewens die bestaande afbakenings, wat 'n spasie is (" ") en 'n komma en 'n spasie (", "), sluit jy die stringe "Mnr. " en "Mev. " in die col_delimiter -skikkingkonstante in, sodat die funksie die titels self gebruik om die teks. Om leë waardes te ignoreer, stel jy die ignore_empty -argument op TRUE.
=TEXTSPLIT(A2, {" ",", ","Mr. ","Ms. "}, ,TRUE)
Nou, die resultate is absoluut perfek!
TEXTSPLIT alternatiewe
In Excel weergawes waar die TEXTSPLIT funksie nie ondersteun word nie, kan jy stringe verdeel deur verskillende kombinasies van die SOEK / VIND funksie met LINKS, REGS en MIDDEL te gebruik. In die besonder:
- Hoofletter-onsensitief SEARCH of hooflettergevoelig FIND bepaal die posisie van die skeidingsteken binne 'n string, en
- Die LEFT-, RIGHT- en MID-funksies onttrek 'n substring voor , na of tussen twee gevalle van die skeidingsteken.
In ons geval, om die waardes geskei deur 'n komma en 'n spasie te verdeel, gaan die formules soos volg.
Om die naam te onttrek:
=LEFT(A2, SEARCH(",", A2, 1) -1)
Om die telling te trek:
=MID(A2, SEARCH(",", A2) + 2, SEARCH(",", A2, SEARCH(",",A2)+1) - SEARCH(",", A2) - 2)
Om dieresultaat:
=RIGHT(A2, LEN(A2) - SEARCH(",", A2, SEARCH(",", A2) + 1)-1)
Vir die gedetailleerde verduideliking van die formules se logika, sien Hoe om stringe volgens karakter of masker te verdeel.
Hou asseblief in gedagte dat anders as die dinamiese skikking TEXTSPLIT-funksie, hierdie formules volg die tradisionele een-formule-een-sel benadering. Jy voer die formule in die eerste sel in, en sleep dit dan in die kolom af om na die onderstaande selle te kopieer.
Die skermkiekie hieronder wys die resultate:
Dis hoe om selle in Excel 365 te verdeel deur TEXTSPLIT of alternatiewe oplossings in vroeëre weergawes te gebruik. Ek bedank jou vir die lees en hoop om jou volgende week op ons blog te sien!
Oefen werkboek vir aflaai
TEXTSPLIT-funksie om stringe te verdeel – formulevoorbeelde (.xlsx-lêer)