Excel: Split string troch delimiter of patroan, aparte tekst en sifers

  • Diel Dit
Michael Brown

De tutorial ferklearret hoe't jo sellen kinne splitse yn Excel mei formules en de Split Text-funksje. Jo sille leare hoe't jo tekst skieden kinne troch komma, spaasje of in oar skiedingsteken, en hoe't jo tekenrige kinne splitsen yn tekst en sifers .

Tekst splitsen fan ien sel yn ferskate sellen is de taak dy't alle Excel-brûkers binne omgean mei ien kear yn in skoftke. Yn ien fan ús eardere artikels hawwe wy besprutsen hoe't jo sellen yn Excel kinne splitse mei de funksje Tekst nei kolom en Flash ynfolje . Hjoed sille wy yngeand sjen hoe't jo stringen kinne splitse mei formules en it ark Tekst splitsen .

    Hoe tekst te splitsen yn Excel formules brûke

    Om string yn Excel te splitsen, brûke jo yn 't algemien de LEFT, RIGHT of MID-funksje yn kombinaasje mei FYN of SEARCH. Op it earste gesicht kinne guon fan 'e formules kompleks lykje, mar de logika is yn feite frij simpel, en de folgjende foarbylden sille jo wat oanwizings jaan.

    Trêde splitse troch komma, puntkomma, slash, dash of oare delimiter

    By it splitsen fan sellen yn Excel is de kaai om de posysje fan it skiedingsteken te finen binnen de tekststring. Ofhinklik fan jo taak, kin dit dien wurde troch te brûken SEARCH of case-sensitive FIND. As jo ​​​​ienris de posysje fan 'e delimiter hawwe, brûk dan de funksje RIGHT, LEFT of MID om it oerienkommende diel fan 'e tekststring te ekstrahearjen. Foar better begryp, litte wy it folgjende beskôgje(datum)

  • Tekens tusken de 1e spaasje en it wurd FOUT: (tiid)
  • Tekst tusken ERROR: en Utsûndering: (flaterkoade)
  • Alles dat komt nei Utsûndering: (útsûnderingstekst)
  • Ik hoopje dat jo leuk dizze rappe en rjochte manier om snaren yn Excel te splitsen. As jo ​​​​nijsgjirrich binne om it te besykjen, is in evaluaasjeferzje hjirûnder te downloaden. Ik tankje jo foar it lêzen en hoopje jo nije wike op ús blog te sjen!

    Beskikbere downloads

    Excel Split Cells-formules (.xlsx-bestân)

    Ultimate Suite 14-dagen folslein funksjonele ferzje (.exe-bestân)

    foarbyld.

    Stel dat jo in list mei SKU's hawwe fan it patroan Item-Color-Size , en jo wolle de kolom splitse yn 3 aparte kolommen:

    1. Om de itemnamme te ekstrahearjen (alle tekens foar it 1e koppelteken), ynfoegje de folgjende formule yn B2, en kopiearje it dan yn 'e kolom:

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

      Yn dizze formule bepaalt SEARCH de posysje fan it 1e koppelteken ("-") yn 'e tekenrige, en de LEFT-funksje ekstrahearret alle tekens dy't der oerbliuwe (jo lûke 1 ôf fan 'e posysje fan it koppelteken, om't jo dat net dogge wol it koppelteken sels ekstrahearje).

    2. Om de kleur (alle tekens tusken de 1e en 2e koppeltekens) te heljen, fier it folgjende yn formule yn C2, en kopiearje it dan nei oare sellen:

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

      Yn dizze formule brûke wy de Excel MID-funksje om tekst út A2 te ekstrahearjen.

      De útgongsposysje en it oantal te ekstrahearjen tekens wurde berekkene mei help fan 4 ferskillende SEARCH-funksjes:

      • Startnûmer is de posysje fan it earste keppelteken +1:

        SEARCH("-",A2) + 1

      • Aantal tekens om út te pakken : it ferskil tusken de posysje fan it 2e keppelteken en it 1e keppelteken, minus 1:

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

    3. Om de grutte te ekstrahearjen (alle tekens nei it 3e koppelteken), fier de folgjende formule yn D2 yn:

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

      Yn dizze formule jout de LEN-funksje de totale lingte fan 'e tekenrige werom,wêrfan jo de posysje fan it 2e koppelteken ôflûke. It ferskil is it oantal karakters nei it 2e koppelteken, en de RIGHT-funksje ekstrahearret se.

    Op in fergelykbere wize kinne jo kolom splitse troch elk oar karakter. Alles wat jo hoege te dwaan is "-" te ferfangen troch de fereaske skiedingsteken, bygelyks spaasje (" "), komma (","), slash ("/"), kolon (";"), puntkomma (";"), ensafuorthinne.

    Tip. Yn 'e boppesteande formules komme +1 en -1 oerien mei it oantal tekens yn' e skiedingsteken. Yn dit foarbyld is it in koppelteken (1 karakter). As jo ​​skiedingsteken bestiet út 2 tekens, bgl. in komma en in spaasje, leverje dan allinich de komma ("",") oan 'e SEARCH-funksje, en brûk +2 en -2 ynstee fan +1 en -1.

    Hoe kinne jo in tekenrige foar rigel ynsplitse Excel

    Om tekst te splitsen troch romte, brûk formules dy't fergelykber binne mei de yn it foarige foarbyld oantoand. It iennichste ferskil is dat jo de CHAR-funksje nedich hawwe om it line-break-karakter oan te jaan, om't jo it net direkt yn 'e formule kinne ynfiere.

    Sjoch, de sellen dy't jo splitse wolle lykje op dizze:

    Nim de formules út it foarige foarbyld en ferfange in keppelteken ("-") mei CHAR(10) wêrby't 10 de ASCII-koade is foar Linefeed.

    • Om de itemnamme te ekstrahearjen:

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

    • Om de kleur te ekstrahearjen:

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

    • Om de grutte te ekstrahearjen:

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

    En dit is hoe't it resultaat derút sjocht:

    Hoe kinne jo tekst en sifers splitse yn Excel

    Om te begjinnen is d'r gjin universele oplossing dy't soe wurkje foar alle alfanumerike snaren. Hokker formule te brûken hinget ôf fan it bepaalde tekenrige patroan. Hjirûnder fine jo de formules foar de twa mienskiplike senario's.

    Spjalte string fan 'tekst + nûmer' patroan

    Sjoch, jo hawwe in kolom fan snaren mei tekst en sifers kombinearre, wêrby't in nûmer folget altyd tekst. Jo wolle de orizjinele tekenrige brekke sadat de tekst en nûmers yn aparte sellen ferskine, lykas dit:

    It resultaat kin op twa ferskillende manieren berikt wurde.

    Metoade 1: Sifers telle en safolle tekens ekstrahearje

    De maklikste manier om tekststring te splitsen wêr't nûmer nei tekst komt is dit:

    Om nûmers út te heljen, kinne jo sykje de tekenrige foar alle mooglike nûmers fan 0 oant 9, krije it totaal fan de nûmers, en jouwe safolle tekens werom fan it ein fan de tekenrige.

    By de oarspronklike tekenrige yn A2 giet de formule sa:

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

    Om tekst út te heljen , berekkenje jo hoefolle teksttekens de tekenrige befettet troch it oantal ekstrahearre sifers (C2) ôf te trekken fan de totale lingte fan 'e oarspronklike tekenrige yn A2 . Dêrnei brûke jo de LEFT-funksje om safolle tekens werom te jaan fan it begjin fan 'e tekenrige.

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

    Wêr't A2 de oarspronklike tekenrige is,en C2 is it ekstrahearre nûmer, lykas werjûn yn it skermôfbylding:

    Metoade 2: Fyn de posysje fan it 1e sifer yn in tekenrige

    In alternatyf oplossing soe de folgjende formule brûke om de posysje fan it earste sifer yn 'e tekenrige te bepalen:

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

    As de posysje fan it earste sifer fûn is, kinne jo tekst en sifers splitse troch te brûken hiel simpele LEFT en RIGHT formules.

    Om tekst út te heljen:

    =LEFT(A2, B2-1)

    Om nûmer út te heljen:

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

    Dêr't A2 de orizjinele tekenrige is, en B2 de posysje fan it earste getal is.

    Om de helpkolom kwyt te reitsjen mei de posysje fan it earste sifer, kinne jo de MIN-formule ynbêde yn 'e LEFT- en RIGHT-funksjes:

    Formule om tekst te ekstrahearjen:

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

    Formule om nûmers út te pakken:

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

    Spjalte string fan 'nûmer + tekst' patroan

    As jo ​​sellen splitse wêr't tekst nei nûmer stiet, kinne jo kin nûmers útpakke mei de folgjende formule:

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

    De formule is fergelykber mei dy besprutsen yn it foarige foarbyld, útsein dat jo de LEFT-funksje brûke ynstee fan RIGHT om it nûmer fan 'e lofterkant fan' e tekenrige te krijen.

    As jo ​​ienris de nûmers hawwe , extract tekst troch it oantal sifers ôf te trekken fan de totale lingte fan de oarspronklike tekenrige:

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

    Wêr't A2 de oarspronklike tekenrige is en B2 is it ekstrahearre nûmer,lykas werjûn yn it skermôfbylding hjirûnder:

    Tip. Om nûmer te krijen fan elke posysje yn 'e tekststring , brûk dizze formule of it Extract-ark.

    Dit is hoe't jo stringen yn Excel kinne splitse mei ferskate kombinaasjes fan ferskate funksjes. Sa't jo sjogge, binne de formules fier fan fanselssprekkend, dus jo kinne it foarbyld Excel Split Cells-wurkboek downloade om se tichterby te ûndersiikjen.

    As it útfine fan 'e arcane twists fan Excel-formules net jo favorite besetting is, kinne jo kin de fisuele metoade leuk fine om sellen yn Excel te splitsen, dy't wurdt oantoand yn it folgjende diel fan dizze tutorial.

    Hoe kinne jo sellen splitse yn Excel mei Split Text-ark

    In alternative manier om in te splitsen kolom yn Excel brûkt de Split Text-funksje opnommen yn ús Ultimate Suite foar Excel, dy't de folgjende opsjes biedt:

      Om dingen dúdliker te meitsjen, litte wy elke opsje better besjen, ien tagelyk.

      Sellen opsplitse troch karakter

      Kies dizze opsje as jo de selynhâld splitse wolle by elk foarkommen fan it opjûne karakter .

      Litte wy foar dit foarbyld de snaren nimme fan it Item-Color-Size -patroan dat wy brûkten yn it earste diel fan dizze tutorial. Sa't jo miskien ûnthâlde, hawwe wy se skieden yn 3 ferskillende kolommen mei 3 ferskillende formules. En hjir is hoe't jo itselde resultaat kinne berikke yn 2 rappe stappen:

      1. Aannommen dat jo Ultimate Suite hawweynstalleare, selektearje de sellen om te splitsen, en klikje op it Tekst splitsen ikoan op it ljepblêd Ablebits Data .

      2. De Tekst splitse -paniel sil iepenje oan 'e rjochterkant fan jo Excel-finster, en jo dogge it folgjende:
        • Wreidzje de groep Split troch karakter út, en selektearje ien fan 'e foarôf definieare skiedingstekens of typ in oar karakter yn it fak Aanpaste .
        • Kies of sellen yn kolommen of rigen splitst wurde wolle.
        • Besjoch it resultaat ûnder de foarbyld seksje, en klikje op de knop Split .

      Tip. As d'r mooglik ferskate opienfolgjende skiedingstekens yn in sel binne (bygelyks mear as ien spaasjeteken), selektearje dan it fak Behannelje opfolgjende skiedingstekens as ien .

      Klear! De taak dy't 3 formules en 5 ferskillende funksjes easke duorret no mar in pear sekonden en in knopklik.

      Sellen spjalte troch tekenrige

      Dizze opsje lit do splitst strings mei elke kombinaasje fan tekens as skiedingsteken. Technysk spjalte jo in tekenrige yn dielen troch ien of meardere ferskillende substrings te brûken as de grinzen fan elk diel.

      Bygelyks om in sin te splitsen troch de bynwurden " en " en " of ", wreidzje de groep Split troch strings út, en fier de skiedingstekens yn, ien per rigel:

      As it resultaat, de boarne phrase wurdt skieden by elk foarkommen fan elk skiedingsteken:

      Tip.De karakters "of" lykas "en" kinne faak diel útmeitsje fan wurden lykas "oranje" of "Andalusië", dus wês wis dat jo in spaasje foar en nei en en typ in of om spjalte wurden foar te kommen.

      En hjir noch in, real-life foarbyld. Stel dat jo in kolom mei datums ymporteare hawwe fan in eksterne boarne, dy't der sa útsjen:

      5.1.2016 12:20

      5.2.2016 14:50

      Dit formaat is net konvinsjoneel foar Excel, en dêrom soe gjin fan 'e Datumfunksjes ien fan' e datum- of tiideleminten werkenne. Om dei, moanne, jier, oeren en minuten te splitsen yn aparte sellen, fier de folgjende tekens yn it fak Split troch strings :

      • Dot (.) om dei, moanne te skieden , en jier
      • Kolon (:) om oeren en minuten te skieden
      • Romte om datum en tiid te skieden

      Tik op de Split knop, en jo sille daliks it resultaat krije:

      Sellen splitsen troch masker (patroan)

      In sel skieden troch masker betsjut it splitsen fan in tekenrige basearre op in patroan .

      Dizze opsje is tige handich as jo in list mei homogene snaren splitse moatte yn guon eleminten, of substrings. De komplikaasje is dat de boarnetekst net by elk foarkommen fan in opjûne skiedingsteken splitst wurde kin, allinich by guon spesifike foarkommen(n). It folgjende foarbyld sil dingen makliker meitsje om te begripen.

      Stel dat jo in list hawwe mei stringen út wat logboektriem:

      Wat jo wolle is datum en tiid, as der binne, flaterkoade en útsûnderingsdetails yn 3 aparte kolommen. Jo kinne gjin spaasje brûke as skiedingsteken, om't der spaasjes binne tusken datum en tiid, dy't yn ien kolom komme moatte, en d'r binne spaasjes binnen de útsûnderingstekst, dy't ek yn ien kolom stean moatte.

      De oplossing is it splitsen fan in tekenrige troch it folgjende masker: *ERROR:*Utsûndering:*

      Dêr't it asterisk (*) in oantal tekens foar stiet.

      De kolons (:) binne opnommen yn 'e skiedingstekens, om't wy net wolle dat se ferskine yn' e resultearjende sellen.

      En no, wreidzje de Split troch masker -seksje út op de Splitse tekst paniel, typ it masker yn it fak Enter delimiters , en klikje op Split :

      It resultaat sil sa lykje:

      Opmerking. It splitsen fan tekenrige troch masker is gefoel foar hoofdletters . Dus, wês der wis fan dat jo de tekens yn it masker typearje krekt sa't se ferskine yn 'e boarne snaren.

      In grut foardiel fan dizze metoade is fleksibiliteit. Bygelyks, as alle orizjinele stringen datum- en tiidwearden hawwe, en jo wolle dat se yn ferskate kolommen ferskine, brûk dan dit masker:

      * *ERROR:*Exception:*

      Oersetten yn gewoan Ingelsk, it masker ynstruearret de tafoeging om de orizjinele tekenrige te dielen yn 4 dielen:

      • Alle tekens foar de 1e spaasje fûn yn 'e tekenrige

      Michael Brown is in tawijd technology-entûsjast mei in passy foar it ferienfâldigjen fan komplekse prosessen mei software-ark. Mei mear as in desennium ûnderfining yn 'e tech-yndustry hat hy syn feardigens yn Microsoft Excel en Outlook, lykas Google Blêden en Docs, oanskerpe. Michael's blog is wijd oan it dielen fan syn kennis en ekspertize mei oaren, en biedt maklik te folgjen tips en tutorials foar it ferbetterjen fan produktiviteit en effisjinsje. Oft jo in betûfte profesjonele of in begjinner binne, Michael's blog biedt weardefolle ynsjoch en praktysk advys om it measte út dizze essensjele software-ark te heljen.