Տեղեկանիշ մեզ կօգնի մատուցել մեր ծառայություններից: Ըստ օգտագործելով մեր ծառայություններից, Դուք համաձայնում եք մեր օգտագործման բլիթները:
Խորհուրդ. Այլ լեզուներն են Google- թարգմանված: Դուք կարող եք այցելել այն English այս հղման տարբերակը:
Մուտք
x
or
x
x
Գրանցում
x

or

Ինչպես բաժանել տվյալների բազմակի աշխատաթերթերը Excel- ում սյունակում հիմնված:

Ենթադրելով, որ դուք ունեք տվյալների մեծ տողերով աշխատանքային էջ, եւ այժմ, անհրաժեշտ է բաժանել տվյալները մի քանի աշխատաթերթերի վրա, անուն սյունակում (տես հետեւյալ հաջորդականությունը), եւ անունները պատահականորեն մուտքագրվում են: Գուցե դուք կարող եք դասավորել դրանք նախ եւ հետո պատճենեք եւ դրանք միացրեք մեկ այլ նոր աշխատատեղ: Բայց դա պետք է ձեր համբերությունը կրկնօրինակեք եւ կպցրեք: Այսօր ես կխոսեմ որոշ արագ հնարքների մասին, այս խնդիրը լուծելու համար:

doc պառակտման տվյալները 1 սյուներով

Պտտել տվյալները մի քանի աշխատանքային թերթերում, հիմնվելով VBA կոդի հետ սյունակում

Split տվյալների բազմակի աշխատաթերթերի վրա, հիմնված սյունակում, Kutools Excel- ի համար


Սպլիտ տվյալներ են մի քանի աշխատաթերթերի վրա, հիմնված հատուկ սյունակում կամ շարքերում հաշվում է աշխատաթերթում.

Եթե ​​ցանկանում եք բաժանել մեծ աշխատանքային թերթը բազմակի թերթերի վրա `հիմնված հատուկ սյունակային տվյալների կամ տողերի հաշվարկի վրա, ապա Excel- ի համար Excel- ում's Սպլիտ տվյալներ հատկությունը կարող է օգնել ձեզ լուծել այս խնդիրը արագ եւ հեշտությամբ:

doc պառակտման տվյալները 6 սյուներով

Excel- ի համար Excel- ում: ավելի քան 200- ով օգտագործվող Excel- ի հավելվածները, 60 օրվա ընթացքում փորձեք առանց սահմանափակման: Ներբեռնեք եւ անվճար դատավարություն Now!


Պտտել տվյալները մի քանի աշխատանքային թերթերում, հիմնվելով VBA կոդի հետ սյունակում


Եթե ​​ցանկանում եք շտկել տվյալներ սյունակի արժեքի վրա, արագ եւ ինքնաբերաբար, հետեւյալ VBA կոդը լավ ընտրություն է: Խնդրում ենք դա անել:

1. Անջատեք ALT + F11 բացել ստեղները Microsoft Visual Basic ծրագրերի համար պատուհան.

2: Սեղմեք Տեղադրել > Մոդուլներ, եւ տեղադրեք հետեւյալ կոդը Մոդուլների պատուհանում:

Sub parse_data()
Dim lr As Long
Dim ws As Worksheet
Dim vcol, i As Integer
Dim icol As Long
Dim myarr As Variant
Dim title As String
Dim titlerow As Integer
vcol = 1        
Set ws = Sheets("Master sheet")        
lr = ws.Cells(ws.Rows.Count, vcol).End(xlUp).Row
title = "A1:C1"            
titlerow = ws.Range(title).Cells(1).Row
icol = ws.Columns.Count
ws.Cells(1, icol) = "Unique"
For i = 2 To lr
On Error Resume Next
If ws.Cells(i, vcol) <> "" And Application.WorksheetFunction.Match(ws.Cells(i, vcol), ws.Columns(icol), 0) = 0 Then
ws.Cells(ws.Rows.Count, icol).End(xlUp).Offset(1) = ws.Cells(i, vcol)
End If
Next
myarr = Application.WorksheetFunction.Transpose(ws.Columns(icol).SpecialCells(xlCellTypeConstants))
ws.Columns(icol).Clear
For i = 2 To UBound(myarr)
ws.Range(title).AutoFilter field:=vcol, Criteria1:=myarr(i) & ""
If Not Evaluate("=ISREF('" & myarr(i) & "'!A1)") Then
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = myarr(i) & ""
Else
Sheets(myarr(i) & "").Move after:=Worksheets(Worksheets.Count)
End If
ws.Range("A" & titlerow & ":A" & lr).EntireRow.Copy Sheets(myarr(i) & "").Range("A1")
Sheets(myarr(i) & "").Columns.AutoFit
Next
ws.AutoFilterMode = False
ws.Activate
End Sub

Նշում: Վերոնշյալ կոդում `

  • vcol = 1 , համարը 1 սյունակն է, որը ցանկանում եք բաժանել տվյալները հիմնված:
  • Սահմանեք ws = թերթիկները («Master sheet»), Master թերթիկ այն թերթիկի անունն է, որը ցանկանում եք կիրառել այս կոդը:
  • title = "A1: C1" , A1: C1 տիտղոսը:

Բոլորը փոփոխականներ են, դուք կարող եք դրանք փոխել որպես ձեր կարիքը:

3. Այնուհետեւ սեղմեք F5 կոդը գործելու համար, ակտիվ աշխատաթերթի բոլոր տվյալները բաժանվում են բազմաթիվ աշխատաթերթեր, սյունակի արժեքով: Իսկ պառակտված աշխատաթերթերը կոչվում են պառակտված բջիջների անուններով: Տեսեք,

doc պառակտման տվյալները 2 սյուներով

Նշում: Պառակտված աշխատաթերթերը տեղադրվում են աշխատանքային տետրի վերջում, որտեղ գտնվում է վարպետության աշխատաթերթը:


Split տվյալների բազմակի աշխատաթերթերի վրա, հիմնված սյունակում, Kutools Excel- ի համար

Որպես Excel- ի սկսնակ, այս երկար VBA կոդը մեզ համար դժվար է, եւ մեզանից շատերը նույնիսկ չգիտեն, թե ինչպես պետք է փոփոխել կոդը, մեր կարիքը:

Այստեղ ես ձեզ կներկայացնեմ բազմաֆունկցիոնալ գործիք `Excel- ի համար Excel- ում, նրա Սպլիտ տվյալներ կոմունալը ոչ միայն կարող է օգնել ձեզ բաժանել տվյալների մի քանի աշխատաթերթերի վրա սյունակում, այլեւ կարող է պառակտել տվյալները տողերի հաշվարկով:

Excel- ի համար Excel- ում : ավելի քան 300- ով օգտագործվող Excel- ի հավելվածները, անվճար փորձեք առանց 60 օրվա սահմանափակումների.

Եթե ​​տեղադրեք Excel- ի համար Excel- ում, խնդրում ենք կատարել հետեւյալը.

1. Ընտրեք այն տվյալների շարքը, որը ցանկանում եք բաժանվել:

2: Սեղմեք Մանրամասն > Worksheet > Սպլիտ տվյալներ, տեսեք,

doc պառակտման տվյալները 3 սյուներով

3, Մեջ Տարածել տվյալներ բազմապատիկ գործադիրներում երկխոսության վանդակում, դուք պետք է.

1): Ընտրեք Հատուկ սյունակ տարբերակը Սպլիտ հիման վրա բաժինը եւ ընտրեք սյունակի արժեքը, որը ցանկանում եք բաժանել տվյալները անկյան տակ գտնվող ցանկում: (Եթե ձեր տվյալները գոյություն ունեն վերնագրերը եւ ցանկանում եք դրանք տեղավորել յուրաքանչյուր նոր պառակտված աշխատանքային թերթի մեջ, խնդրում ենք ստուգել Իմ տվյալները ունի վերնագրեր տարբերակ):

2): Այնուհետեւ դուք կարող եք նշել split worksheet անունները, տակ Նոր աշխատաթերթերի անունը բաժնում նշեք աշխատանքային էջի անվանումների կանոնները Կանոններ թողնել ցանկը, կարող եք ավելացնել Նախածանց or վերջածանց ինչպես նաեւ թերթիկների անունները:

3): Սեղմեք OK կոճակը: Տեսեք,

doc պառակտման տվյալները 4 սյուներով

4. Այժմ տվյալները բաժանվում են մի քանի աշխատանքային թերթիկների նոր աշխատանքային գրքում:

doc պառակտման տվյալները 5 սյուներով

Սեղմեք բեռնել Kutools համար Excel- ի եւ անվճար դատավարության Now!


Split տվյալների բազմակի աշխատաթերթերի վրա, հիմնված սյունակում, Kutools Excel- ի համար

Excel- ի համար Excel- ում ներառում է ավելի քան 300 հարմար Excel գործիքներ: Ազատ է առանց 60 օրվա ընթացքում փորձելու: Ներբեռնեք անվճար դատավարությունը:


Առնչվող հոդված:

Ինչպես տարանջատել տվյալները մի քանի աշխատաթերթերում, ըստ շարքերում:



Առաջարկված արտադրողականության գործիքներ

Գրասենյակի էջանշանը

ոսկի star1 Հասանելի էջանիշեր բերեք Excel- ում եւ Office- ի այլ ծրագրերում, ինչպես Chrome- ի, Firefox- ի եւ նոր Internet Explorer- ի:

Excel- ի համար Excel- ում

ոսկի star1 Զարմանալի է: Բարձրացրեք ձեր արտադրողականությունը 5 րոպեում: Անհրաժեշտ է հատուկ հմտություններ, օրական երկու ժամ տեւողությամբ:

ոսկի star1 300- ի նոր առանձնահատկությունները Excel- ում, կատարել Excel շատ հեշտ եւ հզոր:

  • Միավորել բջիջը / շարքերը / սյունակները առանց կորցնելու տվյալների:
  • Միավորել եւ միավորել բազմակի թերթիկները եւ աշխատանքային տետրերը:
  • Համեմատեք միջակայքերը, պատճենեք բազմակի ընդգրկույթներ, փոխեք տեքստային ամսաթիվը, միավորը եւ արտարժույթի փոխակերպումը:
  • Count by Colors, Paging Subtotals, Ընդլայնված Sort եւ Super Filter,
  • Լրացուցիչ Ընտրել / Ներդիր / Ջնջել / Տեքստային / Ֆորմատ / ՈՒղեցույց / Մեկնաբանություն / Աշխատանքային տետրեր / Գործիքներ գործիքներ ...

Excel ստեղնաշարի կրկնօրինակը Excel- ում

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Jason · 1 months ago
    This formula is great, works perfectly for me.
    I want to split out data based on a location, which is in column 1. Which this does.
    However, is it possible to also split out based on column 2, for example. Built and Not Built. So a secondary condition also?
  • To post as a guest, your comment is unpublished.
    jose · 1 months ago
    can someone help please im using this but i keep getting to many columns. i have to keep deleting rows every time i use this.

    This is what im using


    Sub parse_data()
    Dim lr As Long
    Dim ws As Worksheet
    Dim vcol, i As Integer
    Dim icol As Long
    Dim myarr As Variant
    Dim title As String
    Dim titlerow As Integer
    vcol = 1
    Set ws = Sheets("sheet1")
    lr = ws.Cells(ws.Rows.Count, vcol).End(xlUp).Row
    title = "A1:AN1"
    titlerow = ws.Range(title).Cells(1).Row
    icol = ws.Columns.Count
    ws.Cells(1, icol) = "Unique"
    For i = 2 To lr
    On Error Resume Next
    If ws.Cells(i, vcol) <> "" And Application.WorksheetFunction.Match(ws.Cells(i, vcol), ws.Columns(icol), 0) = 0 Then
    ws.Cells(ws.Rows.Count, icol).End(xlUp).Offset(1) = ws.Cells(i, vcol)
    End If
    Next
    myarr = Application.WorksheetFunction.Transpose(ws.Columns(icol).SpecialCells(xlCellTypeConstants))
    ws.Columns(icol).Clear
    For i = 2 To UBound(myarr)
    ws.Range(title).AutoFilter field:=vcol, Criteria1:=myarr(i) & ""
    If Not Evaluate("=ISREF('" & myarr(i) & "'!A1)") Then
    Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = myarr(i) & ""
    Else
    Sheets(myarr(i) & "").Move after:=Worksheets(Worksheets.Count)
    End If
    ws.Range("A" & titlerow & ":A" & lr).EntireRow.Copy Sheets(myarr(i) & "").Range("A1")
    Sheets(myarr(i) & "").Columns.AutoFit
    Next
    ws.AutoFilterMode = False
    ws.Activate
    End Sub
  • To post as a guest, your comment is unpublished.
    avinash · 1 months ago
    Thanks for VBA, it works great. In addition to that question, I have column which is dependent. So when i select some value my column values get changed hence I need vba solution to replace earlier split worksheet to replace with new value of columns. Can anyone help me out.?

    Thanks in advance
  • To post as a guest, your comment is unpublished.
    JP Tontegode · 1 months ago
    Is there a way to have the macro create a separate spreadsheet for each new tab instead of just adding a tab into the current worksheet? Thanks!
  • To post as a guest, your comment is unpublished.
    Sebastian · 1 months ago
    Effectively, this code does work great. I wrote an additional code so that I could get subtotal on certain columns but it has not worked great. So I tried running the subtotals from the master list, but afterwards when I use this macro it create a whole new tab for the Grand total row. So I am getting two two tabs per split. the first one is fine because it splits with the grand totals, but then creates a second one with just the grand total row. Any help as to how to modify this.
    This is the code that I am currently using:
    Sub parse_data()
    Dim lr As Long
    Dim ws As Worksheet
    Dim vcol, i As Integer
    Dim icol As Long
    Dim myarr As Variant
    Dim title As String
    Dim titlerow As Integer
    vcol = 3
    Set ws = Sheets("Master sheet")
    lr = ws.Cells(ws.Rows.Count, vcol).End(xlUp).Row
    title = "A1:R1"
    titlerow = ws.Range(title).Cells(1).Row
    icol = ws.Columns.Count
    ws.Cells(1, icol) = "Unique"
    For i = 2 To lr
    On Error Resume Next
    If ws.Cells(i, vcol) <> "" And Application.WorksheetFunction.Match(ws.Cells(i, vcol), ws.Columns(icol), 0) = 0 Then
    ws.Cells(ws.Rows.Count, icol).End(xlUp).Offset(1) = ws.Cells(i, vcol)
    End If
    Next
    myarr = Application.WorksheetFunction.Transpose(ws.Columns(icol).SpecialCells(xlCellTypeConstants))
    ws.Columns(icol).Clear
    For i = 2 To UBound(myarr)
    ws.Range(title).AutoFilter field:=vcol, Criteria1:=myarr(i) & ""
    If Not Evaluate("=ISREF('" & myarr(i) & "'!A1)") Then
    Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = myarr(i) & ""
    Else
    Sheets(myarr(i) & "").Move after:=Worksheets(Worksheets.Count)
    End If
    ws.Range("A" & titlerow & ":A" & lr).EntireRow.Copy Sheets(myarr(i) & "").Range("A1")
    Sheets(myarr(i) & "").Columns.AutoFit
    Next
    ws.AutoFilterMode = False
    ws.Activate
    End Sub