Tartalomjegyzék
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:
- 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).
- 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
- Kezdőszám az első kötőjel +1 pozíciója:
- 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:
- 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.
- 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)