Տեքստային տողերը բաժանել բաժանարարով մի քանի տողերի՝ 3 արագ հնարքներ
Սովորաբար, դուք կարող եք օգտագործել «Text to Column» հատկությունը՝ բջջի բովանդակությունը մի քանի սյունակների բաժանելու համար որոշակի սահմանազատիչով, ինչպիսիք են ստորակետը, կետը, կետ-ստորակետը, շեղը և այլն: և կրկնել այլ սյունակների տվյալները, ինչպես ցույց է տրված ստորև նշված սքրինշոթը: Excel-ում այս առաջադրանքը լուծելու լավ եղանակներ ունե՞ք: Այս ձեռնարկը կներկայացնի որոշ արդյունավետ մեթոդներ Excel-ում այս աշխատանքը ավարտելու համար:
Այս բաժնում ես կներկայացնեմ երկու 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 կոճակը, ընտրված բջիջներում տվյալները բաժանվում են տողերի, ինչպես ցույց է տրված ստորև ներկայացված սքրինշոթը.
Եթե տեղադրեք Excel- ի համար նախատեսված գործիքներԻր Տվյալները բաժանել տողերի Դուք կարող եք տեքստային տողերը բաժանել մի քանի տողերի՝ ձեր նշած ցանկացած սահմանազատիչով: Խնդրում ենք կատարել հետևյալ քայլերը.
Քայլ 1. Ընտրեք Split Data to Rows ֆունկցիան
Սեղմել Կուտոլս > Միաձուլում և պառակտում > Տվյալները բաժանել տողերի, տես նկարի նկարը.
Քայլ 2. Նշեք տվյալների բջիջները և սահմանազատիչը բաժանման համար
Բացվող երկխոսության վանդակում օգտագործեք հետևյալ ընտրանքները.
Այժմ, սահմանազատված տեքստային տողերով ընտրված բջիջները փոխարկվել են մի քանի տողերի՝ հիմնվելով հատուկ բաժանարարի վրա, տես սքրինշոթը.
TipsԵթե ցանկանում եք վերականգնել սկզբնական տվյալները, պարզապես պետք է սեղմել Ctrl + Z չեղարկելու համար։
Հեշտ է օգտագործել? Հետաքրքրված եք այս հատկությամբ, խնդրում եմ կտտացրեք ներբեռնելու համար՝ 30 օր անվճար փորձարկում ստանալու համար.
Եթե դուք օգտագործում եք Office 365 կամ Excel 2016 և ավելի նոր տարբերակներ, Power հարցում հզոր գործիք է, որը կարող է օգնել ձեզ բաժանել սահմանազատված տեքստը մի քանի տողերի կամ սյունակների: Օգտակար է, եթե ցանկանում եք, որ բաժանված տվյալները թարմացվեն, երբ ձեր սկզբնական տվյալները փոխվեն: Այն ավարտելու համար խնդրում ենք կատարել հետևյալ քայլերը.
Քայլ 1. Ներբեռնեք տվյալների աղյուսակը Power Query-ում
1. Ընտրեք տվյալների տիրույթը, որը ցանկանում եք օգտագործել, ապա սեղմեք Ամսաթիվ > Աղյուսակից, տես նկարի նկարը.
TipsExcel 2019-ում և Office 365-ում սեղմեք Ամսաթիվ > Սեղանից / միջակայքից.
2. Պոկված դուրս Ստեղծեք աղյուսակը երկխոսության վանդակում, սեղմեք OK աղյուսակ ստեղծելու կոճակը, տես սքրինշոթը.
3. Այժմ Power հարցում Խմբագիր պատուհանը ցուցադրվում է տվյալների հետ, տես սքրինշոթը.
Քայլ 2. Կատարեք փոխակերպումները Power Query-ում
1. Ընտրեք այն սյունակը, որը ցանկանում եք բաժանել: Եվ հետո, սեղմեք Գլխավոր > Պառակտված սյունակ > Սահմանազատողի կողմից, տես նկարի նկարը.
2. Մեջ Split Column by Delimiter երկխոսության տուփ:
Տեքստի տողերը ստորակետով, բացատով, կետով և այլն բաժանելու համար խնդրում ենք անել այսպես.
Տեքստի տողերը մի քանի տողերի բաժանելու համար հղումների ընդմիջման միջոցով խնդրում ենք անել այսպես.
3. Այժմ ընտրված տվյալները բաժանվել են մի քանի տողերի, ինչպես ցույց է տրված ստորև նշված սքրինշոթը.
Քայլ 3. Արտադրեք Power Query-ը Excel աղյուսակում
1. Եվ հետո, դուք պետք է տվյալները մուտքագրեք ձեր աշխատաթերթում: Խնդրում ենք սեղմել Գլխավոր > Փակել և բեռնել > Փակել և բեռնել / Փակել և բեռնել, (այստեղ, ես կսեղմեմ Փակել և բեռնել), տես նկարի նկարը.
Tips: Սեղմել Փակել և բեռնել տվյալները դուրս կբերի նոր աշխատաթերթ; Սեղմել Փակել և բեռնել տարբերակը, տվյալները կարտադրվեն ձեզ անհրաժեշտ ցանկացած այլ թերթում:
2. Ի վերջո, տվյալները կբեռնվեն նոր աշխատաթերթում, տես սքրինշոթը.
TipsԵթե Ձեզ անհրաժեշտ է հաճախակի թարմացնել ձեր տվյալները սկզբնական աղյուսակում, խնդրում ենք մի անհանգստացեք, պարզապես անհրաժեշտ է աջ սեղմել արդյունքների աղյուսակի վրա և սեղմել Թարմացնել նոր արդյունքը դինամիկ կերպով ստանալու համար: