Функција ТЕКСТСПЛИТ у Екцел-у: подели текстуалне стрингове помоћу граничника

  • Деле Ово
Michael Brown

Водич показује како да користите потпуно нову функцију ТЕКСТСПЛИТ да бисте поделили стрингове у програму Екцел 365 помоћу било ког граничника који наведете.

Може доћи до различитих ситуација када треба да поделите ћелије у Екцел-у. У ранијим верзијама, већ смо били опремљени бројним инструментима за постизање задатка као што су Тект то Цолумнс и Филл Фласх. Сада имамо и посебну функцију за ово, ТЕКСТСПЛИТ, која може да одвоји стринг у више ћелија у колонама и/или редовима на основу параметара које наведете.

    Екцел функција ТЕКСТСПЛИТ

    Функција ТЕКСТСПЛИТ у Екцел-у дели текстуалне низове према датом граничнику на колоне и/или редове. Резултат је динамички низ који се аутоматски разлива у више ћелија.

    Функција узима чак 6 аргумената, од којих су само прва два потребна.

    ТЕКСТСПЛИТ(тект, цол_делимитер, [ров_делимитер], [игноре_емпти], [матцх_моде], [пад_витх])

    тект (обавезно) - текст за раздвајање. Може се доставити као стринг или референца на ћелију.

    цол_делимитер (обавезно) - карактер(и) који означава где да се текст подели на колоне. Ако се изостави, ров_делимитер мора бити дефинисан.

    ров_делимитер (опционо) – знак(и) који означава где да се текст подели на редове.

    игноре_емпти (опционо) - одређује да ли да се игноришу празне вредности или не:

    • ФАЛСЕ (подразумевано) -креирајте празне ћелије за узастопне граничнике без вредности између.
    • ТРУЕ - игноришите празне вредности, тј. немојте креирати празне ћелије за два или више узастопних граничника.

    матцх_моде (опционо) - одређује осетљивост на велика и мала слова за граничник. Омогућено подразумевано.

    • 0 (подразумевано) - осетљиво на велика и мала слова
    • 1 - не разликује велика и мала слова

    пад_витх (опционо ) - вредност која се користи уместо вредности које недостају у дводимензионалним низовима. Подразумевана је грешка #Н/А.

    На пример, да бисте поделили текстуални низ у А2 на више ћелија користећи зарез и размак као сепаратор, формула је:

    =TEXTSPLIT(A2, ", ")

    Доступност ТЕКСТСПЛИТ

    Функција ТЕКСТСПЛИТ доступна је само у програму Екцел за Мицрософт 365 (Виндовс и Мац) и Екцел за веб.

    Савети:

    • У верзијама Екцел-а у којима функција ТЕКСТСПЛИТ није доступна (осим Екцел 365), можете користити чаробњак Тект то Цолумнс да бисте поделили ћелије.
    • Да бисте извршили обрнути задатак, тј. да бисте спојили садржај више ћелија у једну помоћу одређеног граничника, ТЕКСТЈОИН је функција коју треба користити.

    Основна формула ТЕКСТСПЛИТ за раздвајање ћелије у Екцел-у

    За почетак, хајде да видимо како да користимо ТЕКСТ СПЛИТ формула у свом најједноставнијем облику да се текстуални стринг подели одређеним граничником.

    Подели ћелију хоризонтално на колоне

    Да бисте поделили садржај дате ћелије на више колона, унеситереференца на ћелију која садржи оригинални стринг за први ( текст ) аргумент и граничник који означава тачку где би требало да дође до раздвајања за други ( цол_делимитер ) аргумент.

    На пример, да бисмо раздвојили стринг у А2 хоризонтално зарезом, формула је:

    =TEXTSPLIT(A2, ",")

    За граничник користимо зарез у двоструким наводницима (",") .

    Као резултат, свака ставка одвојена зарезом иде у засебну колону:

    Подели ћелију вертикално на редове

    Да бисте поделили текст на више редова, трећа аргумент ( ров_делимитер ) је место где постављате граничник. Други аргумент ( цол_делимитер ) је у овом случају изостављен.

    На пример, да бисте одвојили вредности у А2 у различите редове, формула је:

    =TEXTSPLIT(A2, ,",")

    Имајте на уму да се у оба случаја формула уноси само у једну ћелију (Ц2). У суседним ћелијама, враћене вредности се аутоматски преливају. Резултујући низ (који се назива распон просуте) је истакнут плавим оквиром који означава да је све унутар њега израчунато по формули у горњој левој ћелији.

    Подели текст поднизом

    У У многим случајевима, вредности у изворном низу су раздвојене низом знакова, а типичан пример су зарез и размак. Да бисте решили овај сценарио, користите подстринг за граничник.

    На пример, да бисте одвојили текст у А2 у више колоназарезом и размаком, користите стринг ", " за цол_делимитер .

    =TEXTSPLIT(A2, ", ")

    Ова формула иде у Б2, а затим је копирате кроз онолико ћелије по потреби.

    Раздвојите стринг на колоне и редове одједном

    Да бисте поделили текстуални низ на редове и колоне одједном, дефинишите оба граничника у формули ТЕКСТСПЛИТ.

    На пример, да бисте поделили текстуални низ у А2 на колоне и редове, достављамо:

    • Знак једнакости ("=") за цол_делимитер
    • Зарез и размак (", ") за ров_делимитер

    Комплетна формула има овај облик:

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

    Резултат је 2-Д низ који се састоји од 2 колоне и 3 реда:

    Одвојите ћелије вишеструким граничницима

    Да бисте руковали вишеструким или недоследним граничницима у изворном низу, користите константу низа као што је {"к","и" ,"з"} за аргумент граничника.

    На снимку екрана испод, текст у А2 је разграничен и зарезима (",") и тачком и зарезом (";") са и без размака. Да бисте стринг поделили вертикално на редове помоћу све 4 варијације граничника, формула је:

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

    Или можете укључити само зарез (",") и тачку-зарез ("; ") у низу, а затим уклоните додатне размаке уз помоћ функције ТРИМ:

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

    Поделите текст игноришући празне вредности

    Ако стринг садржи два или више узастопних граничника без вредности између њих, можете изабрати да ли ћете игнорисати такве празневредности или не. Ово понашање контролише четврти параметар игноре_емпти , који је подразумевано постављен на ФАЛСЕ.

    Подразумевано, функција ТЕКСТСПЛИТ не занемарује празне вредности. Подразумевано понашање добро функционише за структуриране податке као у примеру испод.

    У овој табели узорка, резултати недостају у неким стринговима. Формула ТЕКСТСПЛИТ са аргументом игноре_емпти изостављеним или постављеним на ФАЛСЕ савршено обрађује овај случај, стварајући празну ћелију за сваку празну вредност.

    =TEXTSPLIT(A2, ", ")

    Или

    =TEXTSPLIT(A2, ", ", FALSE)

    Као резултат, све вредности се појављују у одговарајућим колонама.

    У случају да ваши стрингови садрже хомогене податке, може бити разумно занемарити празне вредности. За ово поставите аргумент игноре_емпти на ТРУЕ или 1.

    На пример, да бисте поделили низове испод, стављајући сваку вештину у посебну ћелију без празнина, формула је:

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

    У овом случају, вредности које недостају између узастопних граничника се потпуно занемарују:

    Подела ћелија осетљива на велика или мала слова

    Да би се контролисала велика и мала слова- осетљивост граничника, користите пети аргумент, матцх_моде .

    Подразумевано, матцх_моде је подешен на 0, чинећи ТЕКСТСПЛИТ матцх_моде .

    У овом примеру, бројеви су раздвојени малим словима „к“ и великим словима „Кс“.

    Формула са подразумеваном осетљивошћу на велика и мала слова прихвата само мала слова „к“ „каограничник:

    =TEXTSPLIT(A2, " x ")

    Обратите пажњу да граничник има размак са обе стране слова „к“ како бисте спречили размаке на почетку и на крају у резултатима.

    Да бисте искључили осетљивост на велика и мала слова, уносите 1 за матцх_моде да бисте присилили формулу ТЕКСТСПЛИТ да игнорише велика и мала слова:

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

    Сада, сви стрингови су правилно подељени било којим граничником:

    Вредности које недостају у 2Д низу

    Последњи аргумент функције ТЕКСТСПЛИТ, пад_витх , је користан у случају да један или недостаје више вредности у изворном низу. Када се такав стринг подели на колоне и редове, Екцел подразумевано враћа #Н/А грешке уместо вредности које недостају да не би оштетио структуру дводимензионалног низа.

    У доњем низу, нема "=" ( цол_делимитер ) после "Сцоре". Да би задржао интегритет резултујућег низа, ТЕКСТСПЛИТ исписује #Н/А поред „Сцоре“.

    Да бисте резултат учинили лакшим за корисника, можете да замените грешку #Н/А било којом вредношћу коју желите. Једноставно унесите жељену вредност у аргумент пад_витх .

    У нашем случају, то би могла бити цртица ("-"):

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

    Или празан стринг (""):

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

    Сада када сте научили практичну употребу сваког аргумента функције ТЕКСТСПЛИТ, хајде да разговарамо о неколико напредних примера који вам могу помоћи носите се са не-тривијалним изазовима у вашим Екцел табелама.

    Подељени датумина дан, месец и годину

    Да бисте поделили датум на појединачне јединице, прво морате да конвертујете датум у текст јер се функција ТЕКСТСПЛИТ бави текстуалним низовима док су Екцел датуми бројеви.

    Најлакши начин претварања нумеричке вредности у текст је коришћење функције ТЕКСТ. Само будите сигурни да сте навели одговарајући код формата за свој датум.

    У нашем случају, формула је:

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

    Следећи корак је да угнездите горњу функцију у 1. аргумент ТЕКСТСПЛИТ и унесите одговарајући граничник за 2. или 3. аргумент, у зависности од тога да ли делите на колоне или редове. У овом примеру, јединице датума су раздвојене косим цртама, тако да користимо „/“ за аргумент цол_делимитер :

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

    Подели ћелије и уклони одређене знакове

    Замислите ово: поделили сте дугачак низ на делове, али резултујући низ и даље садржи неке нежељене знакове, као што су заграде на снимку екрана испод:

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

    Да скинете без отварања и затварања заграда одједном, угнездите две функције СУБСТИТУТЕ једну у другу (свака замењује једну заграду празним низом) и користите формулу ТЕКСТСПЛИТ за аргумент тект унутрашњег СУБСТИТУТЕ:

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

    Савет. Ако коначни низ садржи превише додатних знакова, можете их очистити помоћу једне од метода описаних у овом чланку: Како уклонити нежељене знакове у Екцел-у.

    Раздвојите низове који прескачу одређене вредности

    Претпоставимо да желите да раздвојите низове испод у 4 колоне: Име , Презиме , Сцоре и Резултат . Проблем је у томе што неки стрингови садрже наслов "Мр." или "госпођо", због чега су сви резултати погрешни:

    Решење није очигледно већ прилично једноставно :)

    Поред постојећих граничника, који су размак (" ") и зарез и размак (", "), укључите низове "Мр. " и "Мс. " у константу низа цол_делимитер , тако да функција користи саме наслове да одвоји текст. Да бисте игнорисали празне вредности, поставите аргумент игноре_емпти на ТРУЕ.

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

    Сада, резултати су апсолутно савршени!

    Алтернативе ТЕКСТСПЛИТ

    У верзијама програма Екцел где функција ТЕКСТСПЛИТ није подржана, можете поделити низове користећи различите комбинације функције СЕАРЦХ / ФИНД са ЛЕВОМ, ДЕСНОМ и СРЕДИНОМ. Конкретно:

    • СЕАРЦХ без обзира на велика и мала слова или ФИНД одређује позицију граничника унутар стринга, а
    • функције ЛЕФТ, РИГХТ и МИД издвајају подстринг пре , после или између две инстанце граничника.

    У нашем случају, да бисмо поделили вредности раздвојене зарезом и размаком , формуле иду на следећи начин.

    Да бисте издвојили име:

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

    Да бисте извукли резултат:

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

    Да бисте добилирезултат:

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

    За детаљно објашњење логике формула, погледајте Како поделити низове по карактеру или маски.

    Имајте на уму да за разлику од динамичког низа Функција ТЕКСТСПЛИТ, ове формуле прате традиционални приступ једна формула-једна ћелија. Формулу уносите у прву ћелију, а затим је превлачите низ колону да бисте је копирали у ћелије испод.

    На снимку екрана испод су приказани резултати:

    Тако ћете поделити ћелије у Екцел 365 коришћењем ТЕКСТСПЛИТ-а или алтернативних решења у ранијим верзијама. Захваљујем вам на читању и надам се да се видимо на нашем блогу следеће недеље!

    Вежбајте радну свеску за преузимање

    функција ТЕКСТСПЛИТ за раздвајање стрингова – примери формула (.клск датотека)

    Мајкл Браун је посвећен технолошки ентузијаста са страшћу за поједностављење сложених процеса помоћу софтверских алата. Са више од деценије искуства у технолошкој индустрији, усавршио је своје вештине у Мицрософт Екцел-у и Оутлоок-у, као и у Гоогле табеле и документима. Мајклов блог посвећен је дељењу свог знања и стручности са другима, пружајући једноставне савете и упутства за побољшање продуктивности и ефикасности. Без обзира да ли сте искусан професионалац или почетник, Мајклов блог нуди вредне увиде и практичне савете како да на најбољи начин искористите ове основне софтверске алате.