Excel: A karakterlánc elválasztása elválasztójel vagy minta alapján, szöveg és számok elválasztása

  • Ossza Meg Ezt
Michael Brown

A bemutató elmagyarázza, hogyan lehet cellákat osztani az Excelben képletek és a Szöveg osztása funkció segítségével. Megtanulja, hogyan lehet a szöveget vesszővel, szóközzel vagy más elválasztójelekkel elválasztani, és hogyan lehet a karakterláncokat szövegre és számokra osztani. .

Az egy cellából származó szöveg több cellára történő felosztása az a feladat, amellyel minden Excel-felhasználó egyszer-egyszer foglalkozik. Egyik korábbi cikkünkben azt tárgyaltuk, hogyan lehet a cellákat az Excelben felosztani a Szöveg oszlopba funkció és Flash töltés Ma részletesen megnézzük, hogyan lehet a karakterláncokat képletekkel és a Szöveg felosztása eszköz.

    Hogyan osszuk fel a szöveget az Excelben képletek segítségével

    Az Excelben a karakterlánc felosztásához általában a LEFT, RIGHT vagy MID funkciót használja a FIND vagy SEARCH funkcióval kombinálva. Első pillantásra néhány képlet bonyolultnak tűnhet, de a logika valójában nagyon egyszerű, és a következő példák adnak néhány támpontot.

    A karakterlánc felosztása vesszővel, pontosvesszővel, ferde vonallal, kötőjellel vagy más elválasztójelekkel

    Az Excelben a cellák felosztásakor a kulcs az, hogy megtaláljuk a szöveges karakterláncban a határolójel pozícióját. A feladattól függően ezt a nagy- és kisbetűket nem érzékelő SEARCH vagy a nagy- és kisbetűket érzékelő FIND funkcióval tehetjük meg. Ha megvan a határolójel pozíciója, a RIGHT, LEFT vagy MID funkcióval kivehetjük a szöveges karakterlánc megfelelő részét. A jobb megértés érdekében nézzük meg a következőket.példa.

    Tegyük fel, hogy van egy listája a SKU-król a Tétel-szín-méret mintát, és az oszlopot 3 különálló oszlopra szeretné osztani:

    1. A kivonáshoz a elem neve (az 1. kötőjel előtti összes karakter), illessze be a következő képletet a B2-be, majd másolja le az oszlopba:

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

      Ebben a képletben a SEARCH meghatározza az első kötőjel ("-") pozícióját a karakterláncban, és a LEFT függvény kivonja a tőle balra lévő összes karaktert (a kötőjel pozíciójából kivonunk 1-et, mert nem akarjuk kivonni magát a kötőjelet).

    2. A kivonáshoz a szín (minden karakter az 1. és 2. kötőjel között), írja be a következő képletet a C2-be, majd másolja le a többi cellába:

      =MID(A2, KERESÉS("-",A2) + 1, KERESÉS("-",A2,KERESÉS("-",A2)+1) - KERESÉS("-",A2) - 1)

      Ebben a képletben az Excel MID funkcióját használjuk a szöveg A2-ből történő kivonására.

      A kiindulási pozíció és a kivonandó karakterek száma 4 különböző SEARCH funkció segítségével kerül kiszámításra:

      • Kezdőszám az első kötőjel +1 pozíciója:

        SEARCH("-",A2) + 1

      • Kivonandó karakterek száma : a 2. kötőjel és az 1. kötőjel pozíciójának különbsége, mínusz 1:

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

    3. A kivonáshoz a méret (a 3. kötőjel utáni összes karakter), írja be a következő képletet a D2-be:

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

      Ebben a képletben a LEN függvény a karakterlánc teljes hosszát adja vissza, amelyből kivonjuk a 2. kötőjel pozícióját. A különbség a 2. kötőjel utáni karakterek száma, és a RIGHT függvény kivonja őket.

    Hasonló módon bármely más karakterrel is feloszthatjuk az oszlopot. Mindössze annyit kell tennünk, hogy a "-" betűt a kívánt elválasztó karakterrel helyettesítjük, például űr (" "), vessző (","), slash ("/"), vastagbél (";"), pontosvessző (";"), és így tovább.

    Tipp: A fenti képletekben a +1 és -1 az elválasztó karakterek számának felel meg. Ebben a példában ez egy kötőjel (1 karakter). Ha az elválasztó karakter 2 karakterből áll, például egy vesszőből és egy szóközből, akkor csak a vesszőt (",") adja meg a SEARCH funkciónak, és +1 és -1 helyett +2 és -2-t használjon.

    Hogyan osszuk fel a karakterláncot az Excelben a sortöréssel

    A szöveg szóközzel történő felosztásához használjon az előző példában bemutatottakhoz hasonló képleteket. Az egyetlen különbség, hogy a CHAR függvényre lesz szüksége a sortörés karakterének megadásához, mivel azt nem írhatja be közvetlenül a képletbe.

    Tegyük fel, hogy a felosztani kívánt cellák ehhez hasonlóan néznek ki:

    Vegyük az előző példa képleteit, és cseréljük ki a kötőjelet ("-") CHAR(10)-re, ahol 10 az ASCII kód a sorbetöltés számára.

    • A kivonáshoz a elem neve :

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

    • A kivonáshoz a szín :

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

    • A kivonáshoz a méret :

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

    És így néz ki az eredmény:

    Szöveg és számok felosztása Excelben

    Kezdjük azzal, hogy nincs olyan univerzális megoldás, amely minden alfanumerikus karakterlánc esetében működne. Az, hogy melyik képletet kell használni, az adott karakterlánc-mintától függ. Az alábbiakban a két leggyakoribb forgatókönyvhöz tartozó képleteket találja.

    'szöveg + szám' mintázatú karakterlánc felosztása

    Tegyük fel, hogy van egy olyan oszlopunk, amely szöveggel és számokkal kombinált karakterláncokat tartalmaz, ahol a szöveg után mindig egy szám következik. Az eredeti karakterláncokat meg akarjuk bontani, hogy a szöveg és a számok külön cellákban jelenjenek meg, például így:

    Az eredményt kétféleképpen lehet elérni.

    1. módszer: Számolja meg a számjegyeket, és ennyi karaktert vonjon ki belőlük

    A legegyszerűbb módja a szöveges karakterlánc felosztásának, ahol a szám a szöveg után következik:

    A címre. számok kivonása , a karakterláncban 0-tól 9-ig minden lehetséges számot megkeres, megkapja a számok összegét, és a karakterlánc végétől számítva ennyi karaktert ad vissza.

    Az A2-ben lévő eredeti karakterlánccal a képlet a következőképpen néz ki:

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

    A címre. kivonat szöveg , kiszámítja, hogy hány szöveges karaktert tartalmaz a karakterlánc úgy, hogy az A2-ben szereplő eredeti karakterlánc teljes hosszából kivonja a kivont számjegyek számát (C2). Ezt követően a LEFT függvénnyel visszaadja a karakterlánc elejétől számított ennyi karaktert.

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

    Ahol A2 az eredeti karakterlánc, C2 pedig a kivont szám, ahogy a képernyőképen látható:

    2. módszer: Az 1. számjegy pozíciójának megállapítása egy karakterláncban

    Egy alternatív megoldás a következő képlet használata az első számjegy pozíciójának meghatározására a karakterláncban:

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

    Ha megvan az első számjegy pozíciója, akkor nagyon egyszerű balra és jobbra képletekkel oszthatja fel a szöveget és a számokat.

    Kivonni szöveg :

    =LEFT(A2, B2-1)

    Kivonni szám :

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

    Ahol A2 az eredeti karakterlánc, B2 pedig az első szám pozíciója.

    Ha meg akar szabadulni az első számjegy pozícióját tartalmazó segédoszloptól, a MIN képletet beágyazhatja a LEFT és RIGHT függvényekbe:

    Képlet a kivonáshoz szöveg :

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

    Képlet a kivonáshoz számok :

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

    A 'szám + szöveg' mintát tartalmazó karakterlánc felosztása

    Ha olyan cellákat oszt fel, amelyekben a szám után szöveg jelenik meg, akkor számok kivonása a következő képlettel:

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

    A képlet hasonló az előző példában tárgyalt képlethez, azzal a különbséggel, hogy a RIGHT helyett a LEFT függvényt használjuk, hogy a karakterlánc bal oldalán lévő számot kapjuk.

    Ha megvan a számok, kivonat szöveg a számjegyek számának kivonásával az eredeti karakterlánc teljes hosszából:

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

    Ahol A2 az eredeti karakterlánc, B2 pedig a kivont szám, ahogy az alábbi képernyőképen látható:

    Tipp. Számot kapni a a szövegrészlet bármely pozíciója , használja ezt a képletet vagy a Kivonat eszközt.

    Így oszthatja fel a karakterláncokat az Excelben különböző függvények különböző kombinációival. Mint látja, a képletek korántsem egyértelműek, ezért érdemes letöltenie az Excel Split Cells (Cellák felosztása) munkafüzet mintáját, hogy közelebbről megvizsgálhassa őket.

    Ha az Excel-képletek titkos csavarjainak kitalálása nem a kedvenc elfoglaltsága, akkor a cellák Excelben történő felosztásának vizuális módszere tetszhet, amelyet a bemutató következő részében mutatunk be.

    Hogyan ossza fel a cellákat az Excelben a Split Text eszközzel

    Az Excelben egy oszlop felosztásának alternatív módja az Ultimate Suite for Excel programcsomagban található Szöveg felosztása funkció használata, amely a következő lehetőségeket kínálja:

      Hogy a dolgok világosabbá váljanak, nézzük meg közelebbről az egyes lehetőségeket, egyenként.

      A cellák karakterek szerinti felosztása

      Válassza ezt az opciót, ha a cellák tartalmát fel akarja osztani a a megadott karakter minden egyes előfordulása .

      Ehhez a példához vegyük a karakterláncokat a Tétel-szín-méret mintát, amelyet a bemutató első részében használtunk. Mint talán emlékszik, 3 különböző oszlopra osztottuk őket 3 különböző képlet segítségével. És íme, hogyan érheti el ugyanezt az eredményt 2 gyors lépésben:

      1. Feltételezve, hogy telepítve van az Ultimate Suite, jelölje ki az osztani kívánt cellákat, és kattintson a Szöveg felosztása ikon a Ablebits adatok tab.

      2. A Szöveg felosztása ablak jobb oldalán megnyílik az Excel ablak, és a következőket kell tennie:
        • Bővítse a Karakter szerinti felosztás csoportot, és válasszon ki egyet az előre definiált elválasztójelek közül, vagy írjon be bármilyen más karaktert a Custom doboz.
        • Válassza ki, hogy a cellákat oszlopokra vagy sorokra kívánja-e osztani.
        • Tekintse át az eredményt a Előnézet szakasz, és kattintson a Split gomb.

      Tipp: Ha egy cellában több egymást követő elválasztójel is lehet (például egynél több szóköz karakter), válassza a Az egymást követő elválasztójeleket egyként kezeli. doboz.

      Kész! A feladat, amelyhez korábban 3 képletre és 5 különböző függvényre volt szükség, most már csak néhány másodpercet és egy gombnyomásnyi időt vesz igénybe.

      Cellák felosztása karakterlánc szerint

      Ez az opció lehetővé teszi a karakterláncok felosztását a karakterek tetszőleges kombinációja Technikailag egy karakterláncot úgy osztunk részekre, hogy egy vagy több különböző részláncot használunk az egyes részek határaiként.

      Például, ha egy mondatot a kötőszavak " és " és " vagy ", bővítse ki a Szálak szerint felosztva csoportot, és adja meg az elválasztó karakterláncokat, soronként egyet:

      Ennek eredményeképpen a forrásmondatot minden egyes elválasztójel minden egyes előfordulási helyén elválasztja:

      Tipp: A "vagy" és az "és" karakterek gyakran részei lehetnek olyan szavaknak, mint a "narancs" vagy az "Andalúzia", ezért mindenképpen írjon be egy "vagy" karaktert. űr előtte és utána és és vagy a szavak szétválasztásának megakadályozása érdekében.

      És itt egy másik, valós példa. Tegyük fel, hogy egy külső forrásból importáltunk egy dátumoszlopot, amely a következőképpen néz ki:

      5.1.2016 12:20

      5.2.2016 14:50

      Ez a formátum nem hagyományos az Excel számára, és ezért a Dátum függvények egyike sem ismeri fel a dátum vagy az idő elemeket. A nap, hónap, év, óra és perc külön cellákba történő felosztásához írja be a következő karaktereket a következő cellákba Szálak szerint felosztva doboz:

      • Pont (.) a nap, hónap és év elválasztására
      • Kettőspont (:) az órák és percek elválasztására
      • A dátum és az idő elválasztására szolgáló szóköz

      Nyomd meg a Split gombot, és azonnal megkapja az eredményt:

      Cellák felosztása maszk (minta) szerint

      A cellák maszkkal való elválasztása egy karakterlánc felosztását jelenti. egy minta alapján .

      Ez az opció nagyon jól jön, amikor egy homogén karakterláncok listáját kell felosztani néhány elemre, vagy részláncra. A bonyodalom abból adódik, hogy a forrásszöveget nem lehet felosztani egy adott elválasztójel minden egyes előfordulási helyén, csak bizonyos előfordulási hely(ek)en. A következő példa megkönnyíti a dolgok megértését.

      Tegyük fel, hogy van egy listája a naplófájlból kinyert karakterláncoknak:

      Azt szeretné, ha a dátum és az idő, ha van, a hibakód és a kivétel részletei 3 külön oszlopban lennének. Nem használhat szóközt elválasztóként, mivel a dátum és az idő között szóközök vannak, amelyeknek egy oszlopban kell megjelenniük, és szóközök vannak a kivétel szövegében, amelynek szintén egy oszlopban kell megjelennie.

      A megoldás a karakterlánc felosztása a következő maszkkal: *ERROR:*Exception:*

      Ahol a csillag (*) tetszőleges számú karaktert jelöl.

      A kettőspontok (:) azért szerepelnek az elválasztójelekben, mert nem akarjuk, hogy megjelenjenek a kapott cellákban.

      És most, bővítse ki a Felosztás maszk szerint szekcióban a Szöveg felosztása ablaktábla, írja be a maszkot a Határolójelek megadása mezőt, és kattintson a Split :

      Az eredmény ehhez hasonlóan fog kinézni:

      Megjegyzés: A karakterlánc maszk szerinti felosztása case-sensitive Tehát ügyeljen arra, hogy a maszkban szereplő karaktereket pontosan úgy írja be, ahogyan azok a forrás karakterláncokban szerepelnek.

      Ennek a módszernek nagy előnye a rugalmasság. Ha például az összes eredeti karakterlánc dátum- és időértékkel rendelkezik, és azt szeretné, hogy ezek különböző oszlopokban jelenjenek meg, használja ezt a maszkot:

      * *ERROR:*Exception:*

      Lefordítva egyszerű angolra, a maszk arra utasítja az add-in-t, hogy az eredeti karakterláncokat 4 részre ossza:

      • A karakterláncban (dátum) található 1. szóköz előtti összes karakter.
      • Karakterek az 1. szóköz és a szó között HIBA: (idő)
      • Szöveg a HIBA: és Kivétel: (hibakód)
      • Minden, ami utána jön Kivétel: (kivételes szöveg)

      Remélem, tetszett ez a gyors és egyszerű módja a karakterláncok felosztásának az Excelben. Ha kíváncsi vagy rá, hogy kipróbáld, alább letölthető egy próbaverzió. Köszönöm, hogy elolvastad, és remélem, jövő héten találkozunk a blogon!

      Elérhető letöltések

      Excel osztott cellák képletek (.xlsx fájl)

      Ultimate Suite 14 napos, teljesen funkcionális verzió (.exe fájl)

      Michael Brown elkötelezett technológiai rajongó, aki szenvedélyesen egyszerűsíti a bonyolult folyamatokat szoftvereszközök segítségével. A technológiai iparban szerzett több mint egy évtizedes tapasztalatával a Microsoft Excel és az Outlook, valamint a Google Táblázatok és a Dokumentumok területén fejlesztette tudását. Michael blogja célja, hogy megossza tudását és szakértelmét másokkal, könnyen követhető tippeket és oktatóanyagokat adva a termelékenység és a hatékonyság javításához. Akár tapasztalt szakember, akár kezdő, Michael blogja értékes betekintést és gyakorlati tanácsokat kínál, amelyek segítségével a legtöbbet hozhatja ki ezekből az alapvető szoftvereszközökből.