Функцыя TEXTSPLIT у Excel: падзяліць тэкставыя радкі па падзельніку

  • Падзяліцца Гэтым
Michael Brown

Падручнік паказвае, як выкарыстоўваць зусім новую функцыю TEXTSPLIT для падзелу радкоў у Excel 365 па любым падзельніку, які вы пазначыце.

Могуць узнікаць розныя сітуацыі, калі вам спатрэбіцца раздзяліць. ячэйкі ў Excel. У больш ранніх версіях мы ўжо былі абсталяваны шэрагам інструментаў для выканання гэтай задачы, такімі як Text to Columns і Fill Flash. Цяпер у нас таксама ёсць спецыяльная функцыя для гэтага, TEXTSPLIT, якая можа падзяліць радок на некалькі вочак у слупках і/або радках на аснове параметраў, якія вы ўказваеце.

    Функцыя Excel TEXTSPLIT

    Функцыя TEXTSPLIT у Excel падзяляе тэкставыя радкі па зададзеным раздзяляльніку па слупках і/або радках. У выніку атрымліваецца дынамічны масіў, які аўтаматычна разліваецца на некалькі ячэек.

    Функцыя прымае да 6 аргументаў, толькі першыя два з якіх патрабуюцца.

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

    text (абавязкова) - тэкст для падзелу. Можа быць пададзены ў выглядзе радка або спасылкі на ячэйку.

    col_delimiter (абавязкова) - сімвал(ы), які паказвае, дзе падзяліць тэкст па слупках. Калі прапушчана, падзельнік_радкоў павінен быць вызначаны.

    падзельнік_радкоў (неабавязковы) - сімвал(ы), які паказвае, дзе падзяліць тэкст паміж радкамі.

    ignore_empty (неабавязкова) - вызначае, ігнараваць пустыя значэнні ці не:

    • FALSE (па змаўчанні) -ствараць пустыя вочкі для паслядоўных раздзяляльнікаў без значэння паміж імі.
    • TRUE - ігнараваць пустыя значэнні, г.зн. не ствараць пустыя вочкі для двух або больш паслядоўных раздзяляльнікаў.

    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 ) аргумента.

    Напрыклад, каб аддзяліць радок у A2 па гарызанталі коскай, прывядзіце наступную формулу:

    =TEXTSPLIT(A2, ",")

    Для раздзяляльніка мы выкарыстоўваем коску ў двукоссі (",") .

    У выніку кожны элемент, падзелены коскай, пераходзіць у асобны слупок:

    Раздзяліць ячэйку вертыкальна на радкі

    Каб падзяліць тэкст на некалькі радкоў, трэці аргумент ( раздзяляльнік_радка ) - гэта месца, дзе вы размяшчаеце раздзяляльнік. Другі аргумент ( col_delimiter ) у гэтым выпадку апускаецца.

    Напрыклад, каб падзяліць значэнні ў A2 на розныя радкі, формула:

    =TEXTSPLIT(A2, ,",")

    Звярніце ўвагу, што ў абодвух выпадках формула ўводзіцца толькі ў адну ячэйку (C2). У суседніх вочках вернутыя значэнні разліваюцца аўтаматычна. Атрыманы масіў (які называецца дыяпазонам разліву) вылучаецца сіняй рамкай, якая паказвае, што ўсё ўнутры яго разлічваецца па формуле ў верхняй левай ячэйцы.

    Раздзяліць тэкст па падрадку

    У у многіх выпадках значэнні ў зыходным радку падзяляюцца паслядоўнасцю сімвалаў, тыповым прыкладам з'яўляецца коска і прабел. Каб апрацаваць гэты сцэнар, выкарыстоўвайце падрадок у якасці раздзяляльніка.

    Напрыклад, каб падзяліць тэкст у A2 на некалькі слупкоў.праз коску і прабел, выкарыстоўвайце радок ", " для col_delimiter .

    =TEXTSPLIT(A2, ", ")

    Гэтая формула пераходзіць у B2, а затым вы капіруеце яе праз столькі клеткі па меры неабходнасці.

    Раздзяліць радок на слупкі і радкі адначасова

    Каб падзяліць тэкставы радок на радкі і слупкі адначасова, вызначце абодва падзельнікі ў сваёй формуле TEXTSPLIT.

    Напрыклад, каб падзяліць тэкставы радок у фармаце A2 на слупкі і радкі, мы паставім:

    • знак роўнасці ("=") для col_delimiter
    • коску і прабел (", ") для раздзяляльнік_радкоў

    Поўная формула прымае наступны выгляд:

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

    Вынікам з'яўляецца 2-D масіў, які складаецца з 2 слупкоў і 3 радкоў:

    Падзяліце ячэйкі некалькімі раздзяляльнікамі

    Для апрацоўкі некалькіх або непаслядоўных раздзяляльнікаў у зыходным радку выкарыстоўвайце канстанту масіва, напрыклад {"x","y" ,"z"} для аргумента-раздзяляльніка.

    На скрыншоце ніжэй тэкст у A2 падзелены коскамі (",") і кропкай з коскай (";") з прабеламі і без іх. Каб вертыкальна падзяліць радок на радкі з дапамогай усіх 4 варыянтаў раздзяляльніка, прывядзіце наступную формулу:

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

    Або вы можаце ўключыць толькі коску (",") і кропку з коскай ("; ") у масіве, а потым выдаліце ​​лішнія прабелы з дапамогай функцыі TRIM:

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

    Раздзяліць тэкст без уліку пустых значэнняў

    Калі радок змяшчае два або больш паслядоўных раздзяляльнікаў без значэння паміж імі, вы можаце выбраць, ці ігнараваць такія пустыякаштоўнасці ці не. Гэтыя паводзіны кантралююцца чацвёртым параметрам ignore_empty , які па змаўчанні мае значэнне FALSE.

    Па змаўчанні функцыя TEXTSPLIT не ігнаруе пустыя значэнні. Паводзіны па змаўчанні добра працуюць для структураваных даных, як у прыкладзе ніжэй.

    У гэтай прыкладной табліцы ў некаторых радках адсутнічаюць адзнакі. Формула TEXTSPLIT з аргументам ignore_empty , апушчаным або ўсталяваным у FALSE, выдатна апрацоўвае гэты выпадак, ствараючы пустую ячэйку для кожнага пустога значэння.

    =TEXTSPLIT(A2, ", ")

    Або

    =TEXTSPLIT(A2, ", ", FALSE)

    У выніку ўсе значэнні з'явяцца ў адпаведных слупках.

    Калі вашы радкі ўтрымліваюць аднастайныя даныя, можа быць разумным ігнараваць пустыя значэнні. Для гэтага ўсталюйце для аргумента ignore_empty значэнне TRUE або 1.

    Напрыклад, каб падзяліць прыведзеныя ніжэй радкі, змясціўшы кожны навык у асобную ячэйку без прабелаў, прывядзіце формулу:

    =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 ) пасля "Ацэнка". Каб захаваць цэласнасць атрыманага масіва, TEXTSPLIT выдае #N/A побач з "Score".

    Каб зрабіць вынік больш зручным, вы можаце замяніць памылку #N/A на любое значэнне. Проста ўвядзіце патрэбнае значэнне ў аргумент pad_with .

    У нашым выпадку гэта можа быць злучок ("-"):

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

    Або пусты радок (""):

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

    Цяпер, калі вы даведаліся пра практычнае выкарыстанне кожнага аргумента функцыі TEXTSPLIT, давайце абмяркуем некалькі прасунутых прыкладаў, якія могуць вам дапамагчы справіцца з нетрывіяльнымі праблемамі ў вашых электронных табліцах Excel.

    Раздзельныя датына дзень, месяц і год

    Каб падзяліць дату на асобныя адзінкі, спачатку трэба пераўтварыць дату ў тэкст, таму што функцыя TEXTSPLIT працуе з тэкставымі радкамі, а даты ў Excel - гэта лічбы.

    Самы просты спосаб пераўтварэння лікавага значэння ў тэкст - выкарыстанне функцыі TEXT. Толькі не забудзьцеся падаць адпаведны код фармату для вашай даты.

    У нашым выпадку формула:

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

    Наступным крокам з'яўляецца ўкладанне вышэйзгаданай функцыі ў 1-ы аргумент TEXTSPLIT і ўвядзіце адпаведны раздзяляльнік для 2-га або 3-га аргумента, у залежнасці ад таго, раздзяляеце вы па слупках або радках. У гэтым прыкладзе адзінкі даты раздзяляюцца касой рысай, таму мы выкарыстоўваем "/" для аргумента col_delimiter :

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

    Раздзяліць ячэйкі і выдаліць некаторыя сімвалы

    Уявіце сабе гэта: вы падзялілі доўгі радок на кавалкі, але атрыманы масіў усё яшчэ змяшчае некаторыя непажаданыя сімвалы, такія як круглыя ​​дужкі на скрыншоце ніжэй:

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

    Каб пазбавіцца адкрываючых і зачыняючых дужак адначасова, устаўце дзве функцыі SUBSTITUTE адна ў іншую (кожная замяняе адну дужку пустым радком) і выкарыстоўвайце формулу TEXTSPLIT для аргумента тэкст унутранай SUBSTITUTE:

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

    Савет. Калі канчатковы масіў змяшчае занадта шмат лішніх сімвалаў, вы можаце ачысціць іх з дапамогай аднаго з метадаў, апісаных у гэтым артыкуле: Як выдаліць непатрэбныя сімвалы ў Excel.

    Падзяленне радкоў з пропускам пэўных значэнняў

    Выкажам здагадку, што вы хочаце падзяліць радкі ніжэй на 4 слупкі: Імя , Прозвішча , Ацэнка і Вынік . Праблема ў тым, што некаторыя радкі ўтрымліваюць назву "Mr." або "Ms.", з-за чаго ўсе вынікі няправільныя:

    Рашэнне не відавочнае, але даволі простае :)

    У дадатак да існуючых раздзяляльнікаў, якімі з'яўляецца прабел (" ") і коскі і прабелу (", "), вы ўключаеце радкі "Mr. " і "Ms. " у канстанту масіва 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)

    Майкл Браўн - адданы энтузіяст тэхналогій, які любіць спрашчэнне складаных працэсаў з дапамогай праграмных інструментаў. Маючы больш чым дзесяцігадовы досвед працы ў індустрыі тэхналогій, ён удасканальваў свае навыкі ў Microsoft Excel і Outlook, а таксама ў Google Sheets і Docs. Блог Майкла прысвечаны таму, каб падзяліцца сваімі ведамі і вопытам з іншымі, даючы простыя ў выкананні парады і падручнікі для павышэння прадукцыйнасці і эфектыўнасці. Незалежна ад таго, з'яўляецеся вы дасведчаным прафесіяналам або пачаткоўцам, блог Майкла прапануе каштоўную інфармацыю і практычныя парады, каб атрымаць максімальную аддачу ад гэтых неабходных праграмных інструментаў.