Excel: Verdeel string volgens skeidingsteken of patroon, skei teks en syfers

  • Deel Dit
Michael Brown

Die tutoriaal verduidelik hoe om selle in Excel te verdeel met behulp van formules en die Verdeel teks-kenmerk. Jy sal leer hoe om teks deur komma, spasie of enige ander afbakener te skei, en hoe om stringe in teks en syfers te verdeel .

Om teks van een sel in verskeie selle te verdeel is die taak wat alle Excel-gebruikers is af en toe hanteer. In een van ons vroeëre artikels het ons bespreek hoe om selle in Excel te verdeel deur die Teks na Kolom -kenmerk en Flitsvul te gebruik. Vandag gaan ons 'n in-diepte kyk na hoe jy stringe kan verdeel deur gebruik te maak van formules en die Verdeel teks hulpmiddel.

    Hoe om teks in Excel te verdeel die gebruik van formules

    Om string in Excel te verdeel, gebruik jy gewoonlik die LEFT, RIGHT of MID funksie in kombinasie met óf FIND óf SOEK. Met die eerste oogopslag kan sommige van die formules kompleks lyk, maar die logika is in werklikheid redelik eenvoudig, en die volgende voorbeelde sal jou 'n paar leidrade gee.

    Verdeel string deur komma, kommapunt, skuinsstreep, streep of ander afbakening

    Wanneer selle in Excel verdeel word, is die sleutel om die posisie van die skeidingsteken binne die teksstring op te spoor. Afhangende van jou taak, kan dit gedoen word deur óf hoofletter-onsensitiewe SEARCH óf hooflettersensitiewe FIND te gebruik. Sodra jy die afbakener se posisie het, gebruik die REGS, LINKS of MID funksie om die ooreenstemmende deel van die teksstring te onttrek. Kom ons kyk na die volgende vir beter begrip(datum)

  • Karakters tussen die 1ste spasie en die woord FOUT: (tyd)
  • Teks tussen FOUT: en Uitsondering: (foutkode)
  • Alles wat na Uitsondering kom: (uitsonderingsteks)
  • Ek hoop jy hou van hierdie vinnige en eenvoudige manier om stringe in Excel te verdeel. As jy nuuskierig is om dit te probeer, is 'n evalueringsweergawe hieronder beskikbaar vir aflaai. Ek bedank jou vir die lees en hoop om jou volgende week op ons blog te sien!

    Beskikbare aflaaie

    Excel Split Cells-formules (.xlsx-lêer)

    Ultimate Suite 14-dag ten volle funksionele weergawe (.exe-lêer)

    voorbeeld.

    Gestel jy het 'n lys van SKU's van die Item-Color-Size -patroon, en jy wil die kolom in 3 aparte kolomme verdeel:

    1. Om die itemnaam te onttrek (alle karakters voor die 1ste koppelteken), voeg die volgende formule in B2 in en kopieer dit dan in die kolom af:

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

      In hierdie formule bepaal SEARCH die posisie van die 1ste koppelteken ("-") in die string, en die LEFT-funksie onttrek al die karakters wat daaraan oorgebly het (jy trek 1 af van die koppelteken se posisie omdat jy nie wil die koppelteken self onttrek).

    2. Om die kleur (alle karakters tussen die 1ste en 2de koppeltekens) te onttrek, voer die volgende in formule in C2, en kopieer dit dan na ander selle:

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

      In hierdie formule gebruik ons ​​die Excel MID-funksie om teks uit A2 te onttrek.

      Die beginposisie en die aantal karakters wat onttrek moet word, word met behulp van 4 verskillende SOEK-funksies bereken:

      • Beginnommer is die posisie van die eerste koppelteken +1:

        SEARCH("-",A2) + 1

      • Aantal karakters om te onttrek : die verskil tussen die posisie van die 2de koppelteken en die 1ste koppelteken, minus 1:

        SEARCH("-", A2, SEARCH("-",A2)+1) - SEARCH("-",A2) -1

    3. Om die grootte (alle karakters na die 3de koppelteken) te onttrek, voer die volgende formule in D2 in:

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

      In hierdie formule gee die LEN-funksie die totale lengte van die string terug,waarvan jy die posisie van die 2de koppelteken aftrek. Die verskil is die aantal karakters na die 2de koppelteken, en die REGS-funksie onttrek hulle.

    Op 'n soortgelyke wyse kan jy kolom verdeel deur enige ander karakter. Al wat jy hoef te doen is om "-" te vervang met die vereiste skeidingsteken, byvoorbeeld spasie (" "), komma (","), skuinsstreep ("/"), dubbelpunt (";"), kommapunt (";"), ensovoorts.

    Wenk. In die bogenoemde formules stem +1 en -1 ooreen met die aantal karakters in die skeidingsteken. In hierdie voorbeeld is dit 'n koppelteken (1 karakter). As jou skeidingsteken uit 2 karakters bestaan, bv. 'n komma en 'n spasie, verskaf dan slegs die komma ("",") aan die SEARCH-funksie, en gebruik +2 en -2 in plaas van +1 en -1.

    Hoe om string vir reëlbreuk in te verdeel Excel

    Om teks volgens spasie te verdeel, gebruik formules soortgelyk aan dié wat in die vorige voorbeeld gedemonstreer is. Die enigste verskil is dat jy die CHAR-funksie sal benodig om die lynbreukkarakter te verskaf, aangesien jy dit nie direk in die formule kan tik nie.

    Gestel, die selle wat jy wil verdeel lyk soos hierdie:

    Neem die formules van die vorige voorbeeld en vervang 'n koppelteken ("-") met CHAR(10) waar 10 die ASCII-kode vir lynvoer is.

    • Om die itemnaam te onttrek:

      =LEFT(A2, SEARCH(CHAR(10),A2,1)-1)

    • Om die kleur te onttrek:

      =MID(A2, SEARCH(CHAR(10),A2) + 1, SEARCH(CHAR(10),A2,SEARCH(CHAR(10),A2)+1) - SEARCH(CHAR(10),A2) - 1)

    • Om die grootte te onttrek:

      =RIGHT(A2,LEN(A2) - SEARCH(CHAR(10), A2, SEARCH(CHAR(10), A2) + 1))

    En so lyk die resultaat:

    Hoe om teks en getalle in Excel te verdeel

    Om mee te begin, is daar geen universele oplossing wat vir alle alfanumeriese stringe sal werk nie. Watter formule om te gebruik hang af van die spesifieke stringpatroon. Hieronder sal jy die formules vir die twee algemene scenario's vind.

    Verdeel string van 'teks + nommer'-patroon

    Gestel, jy het 'n kolom stringe met teks en nommers gekombineer, waar 'n getal volg altyd teks. Jy wil die oorspronklike stringe breek sodat die teks en nommers in aparte selle verskyn, soos volg:

    Die resultaat kan op twee verskillende maniere bereik word.

    Metode 1: Tel syfers en onttrek soveel tekens

    Die maklikste manier om teksstring te verdeel waar nommer na teks kom, is hierdie:

    Om getalle te onttrek , moet jy soek die string vir elke moontlike getal van 0 tot 9, kry die getalle totaal, en gee soveel karakters van die einde van die string terug.

    Met die oorspronklike string in A2 gaan die formule soos volg:

    =RIGHT(A2,SUM(LEN(A2) - LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"},""))))

    Om teks te onttrek , bereken jy hoeveel tekskarakters die string bevat deur die aantal onttrekte syfers (C2) af te trek van die totale lengte van die oorspronklike string in A2 . Daarna gebruik jy die LEFT-funksie om soveel karakters vanaf die begin van die string terug te gee.

    =LEFT(A2,LEN(A2)-LEN(C2))

    Waar A2 die oorspronklike string is,en C2 is die onttrek getal, soos in die skermkiekie gewys:

    Metode 2: Vind uit die posisie van die 1ste syfer in 'n string

    'n Alternatief oplossing sou wees om die volgende formule te gebruik om die posisie van die eerste syfer in die string te bepaal:

    =MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))

    Sodra die posisie van die eerste syfer gevind is, kan jy teks en syfers verdeel deur te gebruik baie eenvoudige LINKS- en REGS-formules.

    Om teks te onttrek:

    =LEFT(A2, B2-1)

    Om nommer te onttrek:

    =RIGHT(A2, LEN(A2)-B2+1)

    Waar A2 die oorspronklike string is, en B2 die posisie van die eerste nommer is.

    Om ontslae te raak van die helperkolom wat die posisie van die eerste syfer, kan jy die MIN formule insluit in die LINKER en REGS funksies:

    Formule om teks te onttrek:

    =LEFT(A2,MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))-1)

    Formule om getalle te onttrek:

    =RIGHT(A2,LEN(A2)-MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))+1)

    Verdeel string van 'nommer + teks' patroon

    As jy selle verdeel waar teks na nommer verskyn, kan jy kan getalle onttrek met die volgende formule:

    =LEFT(A2, SUM(LEN(A2) - LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"}, ""))))

    Die formule is soortgelyk aan die een wat in die vorige voorbeeld bespreek is, behalwe dat jy die LEFT-funksie in plaas van REGS gebruik om die nommer van die linkerkant van die string te kry.

    Sodra jy die nommers het , onttrek teks deur die aantal syfers van die totale lengte van die oorspronklike string af te trek:

    =RIGHT(A2,LEN(A2)-LEN(B2))

    Waar A2 die oorspronklike string en B2 is die onttrek getal,soos in die skermkiekie hieronder gewys:

    Wenk. Om nommer van enige posisie in die teksstring te kry, gebruik óf hierdie formule óf die Onttrek-instrument.

    Dit is hoe jy stringe in Excel kan verdeel deur verskillende kombinasies van verskillende funksies te gebruik. Soos jy sien, is die formules ver van voor die hand liggend, so jy sal dalk die voorbeeld Excel Split Cells-werkboek wil aflaai om hulle nader te ondersoek.

    As dit nie jou gunsteling-beroep is om die argelose kinkels van Excel-formules uit te vind nie, kan jy hou dalk van die visuele metode om selle in Excel te verdeel, wat in die volgende deel van hierdie tutoriaal gedemonstreer word.

    Hoe om selle in Excel te verdeel met Split Text Tool

    'n Alternatiewe manier om 'n te verdeel kolom in Excel gebruik die Split Text-kenmerk wat by ons Ultimate Suite vir Excel ingesluit is, wat die volgende opsies bied:

      Om dinge duideliker te maak, kom ons kyk na elke opsie van naderby, een op 'n slag.

      Verdeel selle volgens karakter

      Kies hierdie opsie wanneer jy die selvinhoud wil verdeel by elke voorkoms van die gespesifiseerde karakter .

      Vir hierdie voorbeeld, kom ons neem die stringe van die Item-Color-Size -patroon wat ons in die eerste deel van hierdie tutoriaal gebruik het. Soos jy dalk onthou, het ons hulle in 3 verskillende kolomme geskei deur 3 verskillende formules te gebruik. En hier is hoe jy dieselfde resultaat in 2 vinnige stappe kan bereik:

      1. As jy aanvaar dat jy Ultimate Suite hetgeïnstalleer is, kies die selle om te verdeel, en klik die Verdeel teks -ikoon op die Ablebits Data -oortjie.

      2. Die Verdeel teks -venster sal aan die regterkant van jou Excel-venster oopmaak, en jy doen die volgende:
        • Vrei die Verdeel volgens karakter -groep uit, en kies een van die vooraf gedefinieerde skeidingstekens of tik enige ander karakter in die Gepasmaakte -blokkie.
        • Kies of selle in kolomme of rye verdeel moet word.
        • Hersien die resultaat onder die Voorskou afdeling, en klik die Verdeel -knoppie.

      Wenk. As daar verskeie opeenvolgende skeidingstekens in 'n sel kan wees (byvoorbeeld meer as een spasiekarakter), kies die Behandel opeenvolgende skeidingstekens as een -blokkie.

      Klaar! Die taak wat 3 formules en 5 verskillende funksies vereis het, neem nou net 'n paar sekondes en 'n knoppie klik.

      Verdeel selle volgens string

      Hierdie opsie laat jy verdeel stringe deur enige kombinasie van karakters as 'n skeidingsteken te gebruik. Tegnies verdeel jy 'n string in dele deur een of meer verskillende substringe as die grense van elke deel te gebruik.

      Byvoorbeeld, om 'n sin te verdeel deur die voegwoorde " en " en " of ", brei die Verdeel deur stringe -groep uit en voer die skeidingsstringe in, een per reël:

      As gevolg hiervan, die bronfrase word geskei by elke voorkoms van elke afbakener:

      Wenk.Die karakters "of" sowel as "en" kan dikwels deel wees van woorde soos "oranje" of "Andalusië", so maak seker dat jy 'n spasie voor en na en en of om te verhoed dat woorde verdeel word.

      En hier nog 'n, werklike voorbeeld. Gestel jy het 'n kolom met datums vanaf 'n eksterne bron ingevoer, wat soos volg lyk:

      5.1.2016 12:20

      5.2.2016 14:50

      Hierdie formaat is nie konvensioneel vir Excel nie, en daarom sal geen van die Datumfunksies enige van die datum- of tydelemente herken nie. Om dag, maand, jaar, ure en minute in afsonderlike selle te verdeel, voer die volgende karakters in die Verdeel deur stringe -blokkie in:

      • Koppel (.) om dag, maand te skei , en jaar
      • Dubbelpunt (:) om ure en minute te skei
      • Spasie om datum en tyd te skei

      Tik die Verdeel -knoppie, en jy sal dadelik die resultaat kry:

      Verdeel selle volgens masker (patroon)

      Skei 'n sel vir masker beteken om 'n string te verdeel gebaseer op 'n patroon .

      Hierdie opsie is baie handig wanneer jy 'n lys van homogene stringe in sommige elemente, of substringe, moet verdeel. Die komplikasie is dat die bronteks nie by elke voorkoms van 'n gegewe afbakener verdeel kan word nie, slegs by een of ander spesifieke gebeurtenis(s). Die volgende voorbeeld sal dinge makliker maak om te verstaan.

      Gestel jy het 'n lys stringe wat uit 'n logboek onttrek islêer:

      Wat jy wil hê, is om datum en tyd, indien enige, foutkode en uitsonderingsbesonderhede in 3 aparte kolomme te hê. Jy kan nie 'n spasie as die afbakener gebruik nie, want daar is spasies tussen datum en tyd, wat in een kolom moet verskyn, en daar is spasies binne die uitsonderingsteks, wat ook in een kolom moet verskyn.

      Die oplossing is verdeling van 'n string deur die volgende masker: *FOUT:*Uitsondering:*

      Waar die asterisk (*) enige aantal karakters verteenwoordig.

      Die dubbelpunte (:) word by die afbakenings ingesluit omdat ons nie wil hê hulle moet in die resulterende selle verskyn nie.

      En brei nou die Verdeel deur masker -afdeling op die Verdeel teks uit. paneel, tik die masker in die Voer skeidingstekens in in, en klik Verdeel :

      Die resultaat sal soortgelyk lyk soos hierdie:

      Let wel. Om string vir masker te verdeel is hooflettergevoelig . Maak dus seker dat jy die karakters in die masker presies tik soos hulle in die bronstringe verskyn.

      'n Groot voordeel van hierdie metode is buigsaamheid. Byvoorbeeld, as al die oorspronklike stringe datum- en tydwaardes het, en jy wil hê hulle moet in verskillende kolomme verskyn, gebruik hierdie masker:

      * *FOUT:*Uitsondering:*

      Vertaal in gewone Engels, die masker gee die byvoeging opdrag om die oorspronklike stringe in 4 dele te verdeel:

      • Alle karakters voor die 1ste spasie wat binne die string gevind word

      Michael Brown is 'n toegewyde tegnologie-entoesias met 'n passie om komplekse prosesse te vereenvoudig deur sagteware-instrumente te gebruik. Met meer as 'n dekade se ondervinding in die tegnologiebedryf, het hy sy vaardighede in Microsoft Excel en Outlook, sowel as Google Sheets en Docs, opgeskerp. Michael se blog is toegewy daaraan om sy kennis en kundigheid met ander te deel, en verskaf maklik-om-te volg wenke en tutoriale vir die verbetering van produktiwiteit en doeltreffendheid. Of jy nou 'n ervare professionele persoon of 'n beginner is, Michael se blog bied waardevolle insigte en praktiese raad om die meeste uit hierdie noodsaaklike sagteware-nutsmiddels te kry.