Функција TEXTSPLIT во Excel: дели текстуални низи со разграничувач

  • Споделете Го Ова
Michael Brown

Упатството покажува како да се користи сосема новата функција TEXTSPLIT за разделување низи во Excel 365 со кој било разграниувач што ќе го наведете.

Може да има различни ситуации кога треба да се подели ќелии во Excel. Во претходните верзии, веќе бевме опремени со голем број инструменти за да ја исполниме задачата како што се Текст во колони и Пополнете блиц. Сега, имаме и специјална функција за ова, TEXTSPLIT, која може да одвои низа во повеќе ќелии низ колони или/и редови врз основа на параметрите што ќе ги наведете.

    Excel TEXTSPLIT функција

    Функцијата TEXTSPLIT во Excel ги дели текстуалните низи со даден разграниувач низ колони или/или редови. Резултатот е динамична низа која автоматски се прелева во повеќе ќелии.

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

    TEXTSPLIT(text, col_delimiter, [row_delimiter], [игнори_празно], [режим_совпаѓање], [рампа_со])

    текст (задолжително) - текстот да се подели. Може да се достави како стринг или референца за ќелија.

    col_delimiter (задолжително) - знак(и) што покажува каде да се подели текстот низ колони. Ако се испушти, мора да се дефинира раздвојувачот на редот .

    раздвојувачот на редот (изборно) - знак(и) што покажува каде да се подели текстот низ редови.

    <8 0> ignore_empty(изборно) - одредува дали да се игнорираат празните вредности или не:
    • FALSE (стандардно) -креирајте празни ќелии за последователни разграничувачи без вредност помеѓу.
    • ТОЧНО - игнорирајте празни вредности, т.е. не создавајте празни ќелии за два или повеќе последователни разграничувачи.

    match_mode (изборно) - одредува чувствителност на големи букви за разграничувачот. Стандардно е овозможено.

    • 0 (стандардно) - чувствителни на букви
    • 1 - не се чувствителни на големи букви

    pad_with (изборно ) - вредност што треба да се користи наместо вредностите што недостасуваат во дводимензионалните низи. Стандардно е #N/A грешка.

    На пример, за да се подели текстуална низа во A2 во повеќе ќелии користејќи запирка и празно место како сепаратор, формулата е:

    =TEXTSPLIT(A2, ", ")

    Достапност TEXTSPLIT

    Функцијата TEXTSPLIT е достапна само во Excel за Microsoft 365 (Windows и Mac) и Excel за веб.

    Совети:

    • Во верзии на Excel каде што функцијата TEXTSPLIT не е достапна (освен Excel 365), можете да го користите волшебникот Текст во колони за да ги разделите ќелиите.
    • За извршување на обратна задача, т.е. за спојување на содржината на повеќе ќелии во една користејќи одреден разграничувач, TEXTJOIN е функцијата што треба да се користи.

    Основна формула TEXTSPLIT за разделување ќелија во Excel

    За почеток, ајде да видиме како да користиме TEXTSPLIT формула во наједноставна форма за да се подели текстуална низа со одреден разграничувач.

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

    За да ја поделите содржината на дадената ќелија во повеќе колони, наведетеупатување на ќелијата што ја содржи оригиналната низа за првиот ( текст ) аргумент и разграничувачот што ја означува точката каде што треба да се случи разделувањето за вториот аргумент ( col_delimiter ).

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

    =TEXTSPLIT(A2, ",")

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

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

    Поделете ја ќелијата вертикално низ редови

    За да се подели текстот на повеќе редови, третата Аргументот ( разделник_реда ) е местото каде што го поставувате раздвојувачот. Вториот аргумент ( col_delimiter ) е испуштен во овој случај.

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

    =TEXTSPLIT(A2, ,",")

    Ве молиме имајте предвид дека и во двата случаи формулата се внесува само во една ќелија (C2). Во соседните ќелии, вратените вредности се прелеваат автоматски. Резултирачката низа (која се нарекува опсег на излевање) е означена со сина граница што покажува дека сè што е внатре во неа се пресметува со формулата во горната лева ќелија.

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

    Во многу случаи, вредностите во изворната низа се одделени со низа знаци, типичен пример е запирка и празно место. За да се справите со ова сценарио, користете подниза за разграничувачот.

    На пример, за да го одделите текстот во А2 во повеќе колонисо запирка и празно место, користете ја низата ", " за col_delimiter .

    =TEXTSPLIT(A2, ", ")

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

    Поделете ја низата на колони и редови одеднаш

    За да поделите текстуална низа на редови и колони одеднаш, дефинирајте ги двата разграничувачи во формулата TEXTSPLIT.

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

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

    Целосната формула ја има оваа форма:

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

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

    Одделете ги ќелиите со повеќе разграничувачи

    За да ракувате со повеќе или неконзистентни разграничувачи во изворната низа, користете константа на низа како {"x","y" ,"z"} за аргументот за разграничување.

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

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

    Или, можете да вклучите само запирка („“) и точка-запирка (“; ") во низата, а потоа отстранете ги дополнителните празни места со помош на функцијата TRIM:

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

    Поделете го текстот игнорирајќи ги празните вредности

    Ако низата содржи два или повеќе последователни разграничувачи без вредност меѓу нив, можете да изберете дали да ги игнорирате таквите празнивредности или не. Ова однесување е контролирано од четвртиот параметар ignore_empty , кој стандардно е FALSE.

    Стандардно, функцијата TEXTSPLIT не ги игнорира празните вредности. Стандардното однесување функционира убаво за структурирани податоци како во примерот подолу.

    Во оваа табела за примероци, оценките недостасуваат во некои низи. Формулата TEXTSPLIT со аргументот ignore_empty испуштен или поставен на FALSE совршено се справува со овој случај, создавајќи празна ќелија за секоја празна вредност.

    =TEXTSPLIT(A2, ", ")

    Или

    =TEXTSPLIT(A2, ", ", FALSE)

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

    Во случај вашите низи да содржат хомогени податоци, можеби е причина да се игнорираат празните вредности. За ова, поставете го аргументот ignore_empty на TRUE или 1.

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

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

    Во овој случај, вредностите што недостасуваат помеѓу последователните разграничувачи се целосно игнорирани:

    Со поделба на клетки чувствителни на големи или големи букви

    За контрола на буквите- чувствителност на разграничувачот, искористете го петтиот аргумент, match_mode .

    Стандардно, match_mode е поставен на 0, што го прави TEXTSPLIT чувствителен на големи букви .

    Во овој пример, броевите се одделени со мали букви „x“ и големи букви „X“.

    Формулата со стандардна чувствителност на големи букви ја прифаќа само малата „x“ “ како шторазграничувач:

    =TEXTSPLIT(A2, " x ")

    Внимавајте раздвојувачот да има празно место од двете страни на буквата „ x“ за да се спречат водечки и задоцнети празни места во резултатите.

    За да ја исклучите чувствителноста на големи букви, давате 1 за match_mode за да ја принудите формулата TEXTSPLIT да ја игнорира буквата буква:

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

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

    Недостасуваат вредности на подлогата во 2D низата

    Последниот аргумент на функцијата TEXTSPLIT, pad_with , ни е корисен во случај еден или недостасуваат повеќе вредности во изворната низа. Кога таквата низа е поделена и на колони и на редови, стандардно, Excel враќа #N/A грешки наместо вредностите што недостасуваат за да не ја измешаат структурата на дводимензионалната низа.

    Во низата подолу, нема „=" ( col_delimiter ) после „Score“. За да се задржи интегритетот на добиената низа, TEXTSPLIT излегува #N/A веднаш до „Score“.

    За да го направите резултатот попријатен за корисникот, можете да ја замените грешката #N/A со која било вредност што ја сакате. Едноставно, напишете ја саканата вредност во аргументот pad_with .

    Во нашиот случај, тоа може да биде цртичка ("-"):

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

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

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

    Сега кога научивте практична употреба на секој аргумент на функцијата TEXTSPLIT, ајде да разговараме за неколку напредни примери кои можат да ви помогнат справувајте се со нетривијални предизвици во вашите табели на Excel.

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

    За да поделите датум на поединечни единици, прво треба да го конвертирате датумот во текст бидејќи функцијата TEXTSPLIT се занимава со текстуални низи додека датумите на Excel се броеви.

    Најлесно начин да се конвертира нумеричка вредност во текст е со користење на функцијата TEXT. Само не заборавајте да наведете соодветен код за формат за вашиот датум.

    Во нашиот случај, формулата е:

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

    Следниот чекор е да ја вгнездите горната функција во првиот аргумент на TEXTSPLIT и внесете го соодветниот разграничувач за вториот или третиот аргумент, во зависност од тоа дали се делите на колони или редови. Во овој пример, единиците за датум се разграничени со коси црти, така што користиме „/“ за аргументот col_delimiter :

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

    Поделете ги ќелиите и отстранете одредени знаци

    Замислете го ова: сте поделиле долга низа на парчиња, но добиената низа сè уште содржи некои несакани знаци, како што се загради на сликата од екранот подолу:

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

    За отстранување исклучете ги заградите за отворање и затворање во исто време, вметнете две SUBSTITUTE функции една во друга (секоја заменува една заграда со празна низа) и користете ја формулата TEXTSPLIT за аргументот text на внатрешната SUBSTITUTE:

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

    Совет. Ако конечната низа содржи премногу дополнителни знаци, можете да ги исчистите користејќи еден од методите опишани во овој напис: Како да ги отстраните несаканите знаци во Excel.

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

    Да претпоставиме дека сакате да ги одделите долунаведените низи во 4 колони: Име , Презиме , Оценка и Резултат . Проблемот е што некои низи го содржат насловот „Господин“. или „Госпоѓа“, поради што резултатите се сите погрешни:

    Решението не е очигледно, туку е прилично едноставно :)

    Покрај постоечките разграничувачи, кои се простор (“ ") и запирка и празно место (", "), ги вклучувате низите "Господин" и "Госпоѓа" во константата на низата col_delimiter , така што функцијата ги користи самите наслови за да ги раздвои текст. За да ги игнорирате празните вредности, го поставувате аргументот ignore_empty на TRUE.

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

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

    TEXTSPLIT алтернативи

    Во верзиите на Excel каде што функцијата TEXTSPLIT не е поддржана, можете да делите низи со користење на различни комбинации на функцијата SEARCH / FIND со LEFT, RIGHT и MID. Конкретно:

    • SEARCH неосетливи на букви или FIND чувствителни на големи букви ја одредува позицијата на разграничувачот во низата и
    • Функциите LEFT, RIGHT и MID извлекуваат подниза пред , по или помеѓу два примери на разграничувачот.

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

    За да го извлечете името:

    =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)

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

    Ве молиме имајте на ум дека за разлика од динамичната низа Функција TEXTSPLIT, овие формули го следат традиционалниот пристап со една формула-една ќелија. Ја внесувате формулата во првата ќелија, а потоа влечете ја надолу по колоната за да ја копирате во ќелиите подолу.

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

    Така се делат ќелиите во Excel 365 со користење на TEXTSPLIT или алтернативни решенија во претходните верзии. Ви благодарам што прочитавте и се надевам дека ќе се видиме на нашиот блог следната недела!

    Вежбајте работна книга за преземање

    TEXTSPLIT функција за разделување низи – примери на формула (датотека .xlsx)

    <3 ... 3>

    Мајкл Браун е посветен технолошки ентузијаст со страст за поедноставување на сложените процеси користејќи софтверски алатки. Со повеќе од една деценија искуство во технолошката индустрија, тој ги усоврши своите вештини во Microsoft Excel и Outlook, како и Google Sheets и Docs. Блогот на Мајкл е посветен на споделување на своето знаење и експертиза со другите, обезбедувајќи лесни за следење совети и упатства за подобрување на продуктивноста и ефикасноста. Без разлика дали сте искусен професионалец или почетник, блогот на Мајкл нуди вредни сознанија и практични совети за да го извлечете максимумот од овие основни софтверски алатки.