Разделяне на текстови низове чрез разделител на няколко реда - 3 бързи трика
Обикновено можете да използвате функцията „Текст в колона“, за да разделите съдържанието на клетките на множество колони чрез специфичен разделител, като запетая, точка, точка и запетая, наклонена черта и т.н. Но понякога може да се наложи да разделите съдържанието на клетките с разделители на множество редове и повторете данните от други колони, както е показано на екранната снимка по-долу. Имате ли добри начини за справяне с тази задача в Excel? Този урок ще представи някои ефективни методи за завършване на тази работа в Excel.
Метод A: Разделяне на разделен текст на множество редове чрез VBA код
В този раздел ще представя два VBA кода, които да помогнат за разделянето на съдържанието на клетките, които са разделени с определен разделител.
Разделен текст, разделен със запетая, интервал, точка и запетая и т.н.
За да разделите текстовите низове, които са разделени с нормален разделител, като запетая, интервал, точка и запетая, наклонена черта и т.н., следният код може да ви направи услуга. Моля, следвайте стъпките по-долу:
Забележка: Този код не подкрепа Премахвам, по-добре архивирайте данните, преди да приложите този код.
Стъпка 1: Отворете редактора на VBA модул и копирайте кода
1. Активирайте листа, който искате да използвате. И след това натиснете Alt + F11 за да отворите Microsoft Visual Basic за приложения прозорец.
2. В отворения прозорец щракнете Поставете > Модули за създаване на нов празен модул.
3. След това копирайте и поставете кода по-долу в празния модул.
VBA код: Разделяне на текст чрез конкретен разделител (запетая, точка, интервал и т.н.)
Sub SplitTextIntoRows()
'UpdatebyExtendoffice
Dim xSRg, xIptRg, xCrRg, xRg As Range
Dim xSplitChar As String
Dim xArr As Variant
Dim xFNum, xFFNum, xRow, xColumn, xNum As Integer
Dim xWSh As Worksheet
Set xSRg = Application.InputBox("Select a range:", "Kutools for Excel", , , , , , 8)
If xSRg Is Nothing Then Exit Sub
xSplitChar = Application.InputBox("Type delimiter:", "Kutools for Excel", , , , , , 2)
If xSplitChar = "" Then Exit Sub
Application.ScreenUpdating = False
xRow = xSRg.Row
xColumn = xSRg.Column
Set xWSh = xSRg.Worksheet
For xFNum = xSRg.Rows.Count To 1 Step -1
Set xRg = xWSh.Cells.Item(xRow + xFNum - 1, xColumn)
xArr = Split(xRg, xSplitChar)
xIndex = UBound(xArr)
For xFFNum = LBound(xArr) To UBound(xArr)
xRg.EntireRow.Copy
xRg.Offset(1, 0).EntireRow.Insert Shift:=xlShiftDown
xRg.Worksheet.Cells(xRow + xFNum, xColumn) = xArr(xIndex)
xIndex = xIndex - 1
Next
xRg.EntireRow.Delete
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Стъпка 2: Изпълнете кода, за да получите резултата
1. След като поставите кода, моля, натиснете F5 ключ за изпълнение на този код. След това ще изскочи поле за подкана, за да ви напомни да изберете клетките, съдържащи текста с граници, който искате да разделите, вижте екранната снимка:
2. След това щракнете OK, друго поле за подкана се появява, за да ви напомни да въведете разделителя, въз основа на който искате да разделите данните. Тук въвеждам запетая и интервал (,), вижте екранната снимка:
3. Най-накрая щракнете OK бутон. Сега ще видите, че избраните текстови низове са разделени на редове въз основа на запетаята, а данните в други относителни колони се повтарят, както е показано на екранните снимки по-долу:
Разделен текст, разделен с нов ред
Ако съдържанието на вашите клетки е разделено с нови редове, за да ги разделите на няколко реда, ето друг VBA код, който може да ви помогне.
Забележка: Този код не подкрепа Премахвам по-добре архивирайте данните, преди да приложите този код.
Стъпка 1: Отворете редактора на VBA модул и копирайте кода
1. Натиснете Alt + F11 за да отворите Microsoft Visual Basic за приложения прозорец.
2. В отворения прозорец щракнете Поставете > Модули за създаване на нов празен модул.
3. След това копирайте и поставете кода по-долу в празния модул.
VBA код: Разделяне на текст чрез прекъсване на ред
Sub SplitTextIntoRows()
'UpdatebyExtendoffice
Dim xSRg, xIptRg, xCrRg, xRg As Range
Dim xSplitChar As String
Dim xArr As Variant
Dim xFNum, xFFNum, xRow, xColumn, xNum As Integer
Dim xWSh As Worksheet
Set xSRg = Application.InputBox("Select a range:", "Kutools for Excel", , , , , , 8)
If xSRg Is Nothing Then Exit Sub
xSplitChar = Chr(10)
Application.ScreenUpdating = False
xRow = xSRg.Row
xColumn = xSRg.Column
Set xWSh = xSRg.Worksheet
For xFNum = xSRg.Rows.Count To 1 Step -1
Set xRg = xWSh.Cells.Item(xRow + xFNum - 1, xColumn)
xArr = Split(xRg, xSplitChar)
xIndex = UBound(xArr)
For xFFNum = LBound(xArr) To UBound(xArr)
xRg.EntireRow.Copy
xRg.Offset(1, 0).EntireRow.Insert Shift:=xlShiftDown
xRg.Worksheet.Cells(xRow + xFNum, xColumn) = xArr(xIndex)
xIndex = xIndex - 1
Next
xRg.EntireRow.Delete
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Стъпка 2: Изпълнете кода, за да получите резултата
1. След като поставите кода, моля, натиснете F5 ключ за изпълнение на този код. В изскачащото поле, моля, изберете клетките, които искате да разделите, вижте екранната снимка:
2. След това щракнете OK бутон, данните в избраните клетки се разделят на редове, както е показано на екранната снимка по-долу:
Метод B: 10 секунди за разделяне на разделен текст на множество редове от Kutools за Excel
Ако сте инсталирали Kutools за Excel, Със своята Разделете данните на редове функция, можете да разделите текстовите низове на няколко реда чрез произволен разделител, който сте посочили. Моля, направете следните стъпки:
Стъпка 1: Изберете функцията Разделяне на данни към редове
Кликнете Kutools > Обединяване и разделяне > Разделете данните на редове, вижте екранна снимка:
Стъпка 2: Посочете клетките с данни и разделителя за разделяне
В изскачащия диалогов прозорец използвайте следните опции:
- 1). Изберете списъка с клетки, които искате да разделите от Диапазон (единична колона) текстово поле;
- 2). След това изберете разделителя, който разделя вашите данни, тук аз ще избера Други и въведете запетая и интервал (, ) в текстовото поле;
- 3). Най-накрая щракнете OK бутон.
Сега избраните клетки с разделени текстови низове са преобразувани в множество редове въз основа на конкретния разделител, вижте екранната снимка:
Съвети: Ако искате да възстановите оригиналните данни, просто трябва да натиснете Ctrl + Z за отмяна.
Лесен за използване? Интересувате се от тази функция, моля щракнете, за да изтеглите, за да получите безплатен пробен период за 30 дни.
Метод C: Разделяне на разделен текст на множество редове по Power Query
Ако използвате Office 365 или Excel 2016 и по-нови версии, Power Query е мощен инструмент, който може да ви помогне да разделите разделен текст на множество редове или колони. Полезно е, ако искате разделените данни да се обновяват, когато оригиналните ви данни се променят. Моля, изпълнете следните стъпки, за да го завършите:
Стъпка 1: Вкарайте таблицата с данни Power Query
1. Изберете диапазона от данни, който искате да използвате, след което щракнете Дата > От таблица, вижте екранна снимка:
Съвети: В Excel 2019 и Office 365 щракнете Дата > От таблица/обхват.
2. В изскочилото Създаване на таблица кликнете върху OK бутон за създаване на таблица, вижте екранната снимка:
3. Сега, Power Query Редактор се показва прозорец с данните, вижте екранната снимка:
Стъпка 2: Направете трансформациите Power Query
1. Изберете колоната, която искате да разделите. И след това щракнете Начало > Разделена колона > Чрез разделител, вижте екранна снимка:
2. В Разделяне на колона по разделител диалогов прозорец:
За да разделите текстовите низове със запетая, интервал, точка и запетая и т.н., моля, направете следното:
- 1). Изберете разделителя, с който вашите данни са разделени от Изберете или въведете разделител падащ списък;
- 2). Изберете Всяко появяване на разделителя от Разделяне на раздел;
- 3). След това щракнете Разширени опции за разгъване на раздела и изберете Редове под Разделяне на;
- 4). Най-накрая щракнете OK за да затворите този диалогов прозорец.
За да разделите текстови низове на няколко реда чрез прекъсване на връзка, моля, направете следното:
- 1). Избирам Custom от Изберете или въведете разделител падащ списък;
- 2). От Вмъкване на специални знаци падащо меню, щракнете Подаване на линия, и героите #(ако) ще бъде вмъкнато в текстовото поле под Custom автоматично;
- 3). Изберете Всяко появяване на разделителя от раздел Сплит при;
- 4). След това щракнете Разширени опции за разгъване на раздела и изберете Редове под Разделяне на;
- 5). Най-накрая щракнете OK за да затворите този диалогов прозорец.
3. Сега избраните данни са разделени на няколко реда, както е показано на екранната снимка по-долу:
Стъпка 3: Изведете Power Query към таблица на Excel
1. След това трябва да изведете данните в работния си лист. Моля щракнете Начало > Затваряне и зареждане > Затваряне и зареждане / Затвори и зареди в, (тук, ще щракна Затваряне и зареждане), вижте екранна снимка:
Съвети: Щракнете Затваряне и зареждане ще изведе данните в нов работен лист; Кликнете Затвори и зареди в опция, данните ще бъдат изведени на всеки друг лист, от който се нуждаете.
2. Накрая данните ще бъдат заредени в нов работен лист, вижте екранната снимка:
Съвети: Ако трябва често да актуализирате данните си в оригиналната таблица, моля, не се притеснявайте, просто трябва да щракнете с десния бутон върху таблицата с резултати и да щракнете върху Обновяване за да получите новия резултат динамично.
Свързани членове:
- Разделете стойностите на клетките в няколко колони
- В Excel, когато искате да разделите списък със стойности на клетки в множество колони чрез определени разделители, като запетая, интервал, точка, нов ред и т.н., обикновено вградената функция за текст към колони може да ви помогне да завършите тази стъпка на работа по стъпка. В тази статия ще говоря за някои добри трикове за лесно и бързо разделяне на стойностите на клетките в множество колони или редове.
- Разделете клетка на множество редове или колони
- Да предположим, че имате една клетка, която съдържа множество съдържания, разделени със специфичен знак, например точка и запетая, и след това искате да разделите тази дълга клетка на множество редове или колони въз основа на точка и запетая, в този случай имате ли някакви бързи начини да го реша в Excel?
- Разделяне на текстов низ по регистър
- В Excel обикновено разделяме текст по фиксирана ширина или разделител с функцията Text to Columns, но опитвали ли сте някога да разделяте текст с главни и малки букви? Например, имате списък с данни и трябва да ги разделите на две колони въз основа на случая: едната колона съдържа низ с малки букви, а другата съдържа низ с главни букви, както е показано на екранната снимка по-долу. Функцията Text to Columns не поддържа тази операция, но мога да въведа трикове за бързо разделяне на текстов низ по регистър в Excel.
- Разделете числото на отделни цифри
- Да предположим, че трябва да разбиете или разделите числото на отделни цифри, както е показано на екранната снимка по-долу, какво можете да направите, за да го постигнете? Тази статия ще ви предостави два метода.
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
Съдържание
- Видео: Разделяне на текстови низове по разделител
- Метод A: Чрез VBA код
- Текст, разделен със запетая, интервал, точка и запетая и др.
- Текст, разделен с нов ред
- Метод B: 10s от Kutools за Excel
- Метод C: Чрез Power Query
- Свързани статии
- Най-добрите инструменти за производителност в офиса
- Коментари