TEXTSPLIT funkció az Excelben: szöveges karakterláncok elválasztójelek szerint történő felosztása

  • Ossza Meg Ezt
Michael Brown

Az útmutató bemutatja, hogyan használhatja a vadonatúj TEXTSPLIT funkciót az Excel 365-ben a karakterláncok bármely megadott elválasztójel alapján történő felosztására.

Különböző helyzetek adódhatnak, amikor az Excelben cellákat kell felosztani. A korábbi verziókban már számos eszköz állt rendelkezésünkre a feladat elvégzésére, mint például a Szöveg oszlopokba és a Fill Flash. Most már van erre egy speciális funkció is, a TEXTSPLIT, amely a megadott paraméterek alapján képes egy karakterláncot több cellára szétválasztani oszlopokon és/vagy sorokon keresztül.

    Excel TEXTSPLIT funkció

    Az Excel TEXTSPLIT függvénye a szöveges karakterláncokat egy adott elválasztójel alapján osztja fel oszlopokon és/vagy sorokon keresztül. Az eredmény egy dinamikus tömb, amely automatikusan több cellára terjed ki.

    A függvény 6 argumentumot fogad el, amelyek közül csak az első kettő szükséges.

    TEXTSPLIT(text, col_delimiter, [row_delimiter], [ignore_empty], [match_mode], [pad_with])

    szöveg (kötelező) - az osztandó szöveg. Megadható karakterlánc vagy cellahivatkozás formájában.

    col_delimiter (kötelező) - egy karakter(ek), amely(ek) jelzi(k), hogy hol kell a szöveget oszlopokra osztani. Ha elhagyja, row_delimiter meg kell határozni.

    row_delimiter (opcionális) - egy karakter(ek), amely(ek) azt jelzi(k), hogy hol kell a szöveget a sorok között felosztani.

    ignore_empty (opcionális) - megadja, hogy az üres értékeket figyelmen kívül hagyja-e vagy sem:

    • FALSE (alapértelmezett) - üres cellákat hoz létre az egymást követő határolójelekhez, amelyek között nincs érték.
    • TRUE - figyelmen kívül hagyja az üres értékeket, azaz nem hoz létre üres cellákat két vagy több egymást követő határolójel esetén.

    match_mode (opcionális) - meghatározza az elhatároló nagy- és kisbetű-érzékenységét. Alapértelmezés szerint engedélyezve.

    • 0 (alapértelmezett) - nagy- és kisbetű-érzékeny
    • 1 - nagy- és kisbetű-érzéketlen

    pad_with (opcionális) - kétdimenziós tömbökben a hiányzó értékek helyett használandó érték. Az alapértelmezett érték #N/A hiba.

    Például, ha az A2-ben lévő szöveges karakterláncot több cellára akarjuk osztani vesszővel és szóközzel elválasztva, a képlet a következő:

    =TEXTSPLIT(A2, ", ")

    TEXTSPLIT elérhetőség

    A TEXTSPLIT funkció csak az Excel for Microsoft 365 (Windows és Mac) és az Excel for the web programban érhető el.

    Tippek:

    • Azokban az Excel-verziókban, ahol a TEXTSPLIT funkció nem érhető el (kivéve az Excel 365-öt), a Szöveg oszlopokba varázslóval oszthatja fel a cellákat.
    • A fordított feladat elvégzéséhez, azaz több cella tartalmának egy adott elválasztójel segítségével történő egyesítéséhez a TEXTJOIN függvényt kell használni.

    Alapvető TEXTSPLIT képlet egy cella felosztásához az Excelben

    Kezdetnek nézzük meg, hogyan használhatjuk a TEXTSPLIT formulát a legegyszerűbb formában, hogy egy szöveges karakterláncot egy adott elválasztójel szerint felezzünk.

    Egy cella vízszintes felosztása az oszlopok között

    Egy adott cella tartalmának több oszlopra való felosztásához adjon meg egy hivatkozást az eredeti karakterláncot tartalmazó cellára az első ( szöveg ) argumentum és az elválasztójel, amely azt a pontot jelöli, ahol a második ( col_delimiter ) érv.

    Például, ha az A2-ben lévő karakterláncot vízszintesen vesszővel akarjuk elválasztani, a képlet a következő:

    =TEXTSPLIT(A2, ",")

    Az elhatárolójelként vesszőt használunk, amelyet idézőjelek (",") közé zárunk.

    Ennek eredményeképpen minden egyes, vesszővel elválasztott elem külön oszlopba kerül:

    Egy cellát függőlegesen felosztani a sorok között

    A szöveg több sorra történő felosztásához a harmadik argumentum ( row_delimiter ) az a hely, ahová az elválasztójelet helyezzük. A második argumentum ( col_delimiter ) ebben az esetben elhagyható.

    Például az A2-ben lévő értékek különböző sorokba történő szétválasztásához a képlet a következő:

    =TEXTSPLIT(A2, ,",")

    Vegye figyelembe, hogy mindkét esetben a képletet csak egy cellába (C2) írja be. A szomszédos cellákban a visszaadott értékek automatikusan kiöntődnek. Az így kapott tömb (amelyet kiöntési tartománynak nevezünk) kék kerettel van kiemelve, jelezve, hogy a bal felső cellában lévő képlet alapján számoltak ki mindent, ami benne van.

    Szöveg felosztása részláncok szerint

    Sok esetben a forráslánc értékeit karakterek sorozata választja el egymástól, tipikus példa erre a vessző és a szóköz. Ennek a forgatókönyvnek a kezeléséhez használjon részláncot az elválasztójelként.

    Például, ha az A2-ben lévő szöveget több oszlopra akarjuk elválasztani vesszővel és szóközzel, használjuk a ", " karakterláncot a következőhöz col_delimiter .

    =TEXTSPLIT(A2, ", ")

    Ez a képlet a B2-be kerül, majd annyi cellán keresztül másolja lefelé, ahány cella szükséges.

    A karakterlánc egyszerre oszlopokra és sorokra osztása

    Ha egy szöveges karakterláncot egyszerre szeretne sorokra és oszlopokra osztani, a TEXTSPLIT képletben mindkét elválasztójelet definiálja.

    Például az A2-ben lévő szöveges karakterlánc oszlopokra és sorokra történő felosztásához a következő adatokat adjuk meg:

    • Az egyenlőségjel ("=") a col_delimiter
    • Egy vessző és egy szóköz (", ") a row_delimiter

    A teljes képlet a következő formát ölti:

    =TEXTSPLIT(A2, "=", ", ")

    Az eredmény egy 2 oszlopból és 3 sorból álló 2D-s tömb lesz:

    A cellák elválasztása többszörös elválasztójelekkel

    A forrássztringben lévő többszörös vagy ellentmondásos elválasztójelek kezeléséhez használjon egy tömbkonstansot, például {"x", "y", "z"} az elválasztójel argumentumhoz.

    Az alábbi képernyőképen az A2-ben lévő szöveget vesszők (",") és pontosvesszők (";") határolják szóközökkel és szóközök nélkül. A karakterlánc függőleges sorokra való felosztásához mind a 4 határolóváltozat szerint a képlet a következő:

    =TEXTSPLIT(A2, , {",",",", ",";",",";"})

    Vagy csak vesszőt (",") és pontosvesszőt (";") is beírhat a tömbbe, majd a TRIM függvény segítségével eltávolíthatja a felesleges szóközöket:

    =TRIM(TEXTSPLIT(A2, , {",",";"}))

    Szöveg felosztása az üres értékek figyelmen kívül hagyásával

    Ha a karakterlánc két vagy több egymást követő elválasztójelet tartalmaz, amelyek között nincs érték, akkor eldöntheti, hogy figyelmen kívül hagyja-e az ilyen üres értékeket vagy sem. Ezt a viselkedést a negyedik ignore_empty paraméter, amely alapértelmezés szerint FALSE.

    Alapértelmezés szerint a TEXTSPLIT függvény nem hagyja figyelmen kívül az üres értékeket. Az alapértelmezett viselkedés jól működik strukturált adatok esetén, mint az alábbi példában.

    Ebben a mintatáblázatban a pontszámok néhány karakterláncban hiányoznak. A TEXTSPLIT képletet a ignore_empty argumentum elhagyása vagy FALSE értékre állítása tökéletesen kezeli ezt az esetet, minden üres értékhez üres cellát hoz létre.

    =TEXTSPLIT(A2, ", ")

    Vagy

    =TEXTSPLIT(A2, ", ", ", FALSE)

    Ennek eredményeképpen az összes érték megjelenik a megfelelő oszlopokban.

    Ha a karakterláncok homogén adatokat tartalmaznak, akkor indokolt lehet az üres értékek figyelmen kívül hagyása. Ehhez állítsuk be a ignore_empty argumentumot TRUE-ra vagy 1-re állítja.

    Például, hogy ossza t az alábbi karakterláncok elhelyezése minden egyes készség egy külön cellában hézagok nélkül, a képlet:

    =TEXTSPLIT(A2, ", ", ,TRUE)

    Ebben az esetben az egymást követő határolójelek közötti hiányzó értékeket teljesen figyelmen kívül hagyja:

    Cella felosztás nagy- és kisbetű-érzékeny vagy kis- és nagybetű-érzéketlen

    Az elhatároló nagy- és kisbetű érzékenységének szabályozásához használja az ötödik argumentumot, match_mode .

    Alapértelmezés szerint, match_mode 0-ra van állítva, így a TEXTSPLIT case-sensitive .

    Ebben a példában a számokat a kisbetűs "x" és a nagybetűs "X" betűk választják el egymástól.

    Az alapértelmezett nagy- és kisbetű-érzékenységű képlet csak a kisbetűs "x"-et fogadja el határolójelként:

    =TEXTSPLIT(A2, " x ")

    Kérjük, figyeljen arra, hogy az elhatároló az " x " betű mindkét oldalán szóközzel legyen ellátva, hogy az eredményekben ne legyenek elő- és utólagos szóközök.

    A nagy- és kisbetű érzékenység kikapcsolásához adjon meg 1-t a match_mode hogy a TEXTSPLIT képlet figyelmen kívül hagyja a betűhúzást:

    =TEXTSPLIT(A2, " x ", , ,1)

    Most már minden karakterlánc helyesen van felosztva bármelyik elválasztójel szerint:

    Hiányzó értékek kitöltése 2D tömbben

    A TEXTSPLIT függvény utolsó argumentuma, pad_with , akkor jön jól, ha egy vagy több érték hiányzik a forrásláncból. Ha egy ilyen karakterlánc oszlopokra és sorokra is fel van osztva, az Excel alapértelmezés szerint #N/A hibát ad vissza a hiányzó értékek helyett, hogy ne rontsa a kétdimenziós tömb szerkezetét.

    Az alábbi karakterláncban nincs "=" ( col_delimiter ) a "Score" után. A kapott tömb integritásának megőrzése érdekében a TEXTSPLIT a "Score" mellett #N/A-t ad ki.

    Az eredmény felhasználóbarátabbá tétele érdekében a #N/A hibát tetszőleges értékkel helyettesítheti. Egyszerűen írja be a kívánt értéket a pad_with érv.

    A mi esetünkben ez lehet egy kötőjel ("-"):

    =TEXTSPLIT(A2, "=", ", ", ", , , "-")

    Vagy egy üres karakterlánc (""):

    =TEXTSPLIT(A2, "=", ", ", ", , ,""")

    Most, hogy megtanulta a TEXTSPLIT függvény minden egyes argumentumának gyakorlati felhasználását, beszéljünk néhány haladó példáról, amelyek segíthetnek megbirkózni a nem triviális kihívásokkal az Excel táblázatokban.

    Dátumok felosztása napra, hónapra és évre

    Egy dátum egyedi egységekre való felosztásához először a dátumot szöveggé kell alakítania, mivel a TEXTSPLIT funkció szöveges karakterláncokkal foglalkozik, míg az Excel dátumai számok.

    A numerikus értékek szöveggé alakításának legegyszerűbb módja a TEXT függvény használata. Csak győződjön meg róla, hogy a dátumnak megfelelő formátumkódot ad meg.

    A mi esetünkben a képlet a következő:

    =TEXT(A2, "m/d/yyyyyy")

    A következő lépés az, hogy a fenti függvényt a TEXTSPLIT 1. argumentumába fészkeljük, és a 2. vagy 3. argumentumba megadjuk a megfelelő elválasztójelet, attól függően, hogy oszlopok vagy sorok között osztunk. Ebben a példában a dátumegységeket kötőjellel határoljuk, ezért a "/" karaktert használjuk a TEXTSPLIT 1. argumentumához. col_delimiter érv:

    =TEXTSPLIT(TEXT(A2, "m/d/yyyyyy"), "/")

    Cellák felosztása és bizonyos karakterek eltávolítása

    Képzeld el a következőt: egy hosszú karakterláncot darabokra osztottál, de az így kapott tömb még mindig tartalmaz néhány nem kívánt karaktert, például az alábbi képernyőképen látható zárójeleket:

    =TEXTSPLIT(A2, " ", ", "; ")

    A nyitó és záró zárójelek egyszerre történő eltávolításához két SUBSTITUTE függvényt kell egymásba ágyazni (mindegyik egy-egy zárójelet üres karakterlánccal helyettesít), és a TEXTSPLIT képletet kell használni a szöveg a belső SUBSTITUTE argumentuma:

    =SUBSTITUTE(SUBSTITUTE(TEXTSPLIT(A2, " ", "; "; "), "(", ""), ")", ")", "")

    Tipp: Ha a végleges tömb túl sok extra karaktert tartalmaz, akkor a következő cikkben leírt módszerek valamelyikének segítségével törölheti őket: Hogyan távolítsuk el a nem kívánt karaktereket az Excelben.

    Bizonyos értékek kihagyása a karakterláncok felosztásakor

    Tegyük fel, hogy az alábbi karakterláncokat 4 oszlopra akarjuk szétválasztani: Keresztnév , Vezetéknév , Score , és Eredmény A probléma az, hogy néhány karakterlánc tartalmazza a "Mr." vagy "Ms." címet, ami miatt az eredmények mind rosszul alakulnak:

    A megoldás nem nyilvánvaló, de nagyon egyszerű :)

    A meglévő elválasztójelek mellett, amelyek egy szóköz (" ") és egy vessző és egy szóköz (", "), a "Mr. " és "Ms. " karakterláncokat is beilleszti a "Mr. " és "Ms. " karakterláncokat a col_delimiter tömb konstans, így a függvény magukat a címeket használja a szöveg szétválasztására. Az üres értékek figyelmen kívül hagyásához állítsa be a ignore_empty argumentumot TRUE-ra.

    =TEXTSPLIT(A2, {" ",",", ", "Mr. ", "Ms."}, ,TRUE)

    Most az eredmények teljesen tökéletesek!

    TEXTSPLIT alternatívák

    Azokban az Excel verziókban, ahol a TEXTSPLIT funkció nem támogatott, a karakterláncokat a SEARCH / FIND funkció különböző kombinációival oszthatja fel a LEFT, RIGHT és MID funkcióval. Különösen:

    • A nagy- és kisbetű-érzékeny SEARCH vagy a nagy- és kisbetű-érzékeny FIND meghatározza az elválasztójel pozícióját a karakterláncon belül, és a
    • A LEFT, RIGHT és MID függvények az elhatároló két példánya előtt, után vagy között egy részláncot vonnak ki.

    Esetünkben a mi esetünkben a következővel elválasztott értékek szétválasztásához vessző és szóköz a képletek a következőképpen alakulnak.

    A név kivonása:

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

    Hogy kihúzzuk a pontszámot:

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

    Az eredmény eléréséhez:

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

    A képletek logikájának részletes magyarázatát lásd a Hogyan lehet karakterláncokat karakter vagy maszk alapján szétválasztani?

    Ne feledje, hogy a dinamikus tömb TEXTSPLIT funkciójával ellentétben ezek a képletek a hagyományos egy képlet-egy-cella megközelítést követik. A képletet az első cellába írja be, majd az oszlopban lefelé húzza, hogy átmásolja az alatta lévő cellákba.

    Az alábbi képernyőkép mutatja az eredményeket:

    Így oszthatjuk fel a cellákat az Excel 365-ben a TEXTSPLIT vagy a korábbi verziók alternatív megoldásainak használatával. Köszönöm, hogy elolvastad, és remélem, jövő héten találkozunk a blogon!

    Gyakorlati munkafüzet letölthető

    TEXTSPLIT funkció a karakterláncok felosztásához - képlet példák (.xlsx 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.