Excel-tip: Opdel data i flere regneark/projektmapper baseret på kolonneværdi
Når du administrerer store datasæt i Excel, kan det være yderst fordelagtigt at opdele data i flere regneark baseret på specifikke kolonneværdier. Denne metode forbedrer ikke kun organiseringen af data, men forbedrer også læsbarheden og letter dataanalysen.
Antag, at du har en stor salgsrekord, der indeholder flere poster, såsom produktnavnet, den solgte mængde i første kvartal. Målet er at opdele disse data i separate arbejdsark baseret på hvert produktnavn, så individuelle salgsresultater kan analyseres separat.
Opdel data i flere regneark baseret på kolonneværdi
Opdel data i flere projektmapper baseret på kolonneværdi med VBA-kode
Opdel data i flere regneark baseret på kolonneværdi
Normalt kan du først sortere datalisten og derefter kopiere og indsætte dem én efter én i andre nye regneark. Men dette kræver din tålmodighed til at kopiere og indsætte gentagne gange. I dette afsnit introducerer vi to enkle metoder til effektivt at tackle denne opgave i Excel, hvilket sparer dig tid og reducerer risikoen for fejl.
Opdel data i flere regneark baseret på kolonneværdi med VBA-kode
1. Hold nede i ALT + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.
2. klik indsatte > Moduler, og indsæt følgende kode i modulvinduet.
Sub Splitdatabycol()
'updateby Extendoffice
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
Dim xTRg As Range
Dim xVRg As Range
Dim xWSTRg As Worksheet
Dim xWS As Worksheet
On Error Resume Next
Set xTRg = Application.InputBox("Please select the header rows:", "Kutools for Excel", "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set xVRg = Application.InputBox("Please select the column you want to split data based on:", "Kutools for Excel", "", Type:=8)
If TypeName(xVRg) = "Nothing" Then Exit Sub
vcol = xVRg.Column
Set ws = xTRg.Worksheet
lr = ws.Cells(ws.Rows.Count, vcol).End(xlUp).Row
title = xTRg.AddressLocal
titlerow = xTRg.Cells(1).Row
icol = ws.Columns.Count
ws.Cells(1, icol) = "Unique"
Application.DisplayAlerts = False
If Not Evaluate("=ISREF('xTRgWs_Sheet!A1')") Then
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
Else
Sheets("xTRgWs_Sheet").Delete
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
End If
Set xWSTRg = Sheets("xTRgWs_Sheet")
xTRg.Copy
xWSTRg.Paste Destination:=xWSTRg.Range("A1")
ws.Activate
For i = (titlerow + xTRg.Rows.Count) 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
Set xWS = Sheets.Add(after:=Worksheets(Worksheets.Count))
xWS.Name = myarr(i) & ""
Else
xWS.Move after:=Worksheets(Worksheets.Count)
End If
xWSTRg.Range(title).Copy
xWS.Paste Destination:=xWS.Range("A1")
ws.Range("A" & (titlerow + xTRg.Rows.Count) & ":A" & lr).EntireRow.Copy xWS.Range("A" & (titlerow + xTRg.Rows.Count))
Sheets(myarr(i) & "").Columns.AutoFit
Next
xWSTRg.Delete
ws.AutoFilterMode = False
ws.Activate
Application.DisplayAlerts = True
End Sub
3. Tryk derefter på F5 tasten for at køre koden, og en promptboks vises for at minde dig om at vælge overskriftsrækken, og klik derefter på OK. Se skærmbillede:
4. I den anden promptboks skal du vælge de kolonnedata, som du vil opdele baseret på, og derefter klikke OK. Se skærmbillede:
5. Alle data i det aktive regneark er opdelt i flere regneark baseret på kolonneværdierne. De resulterende regneark navngives efter værdierne i de opdelte celler og placeres i slutningen af projektmappen. Se skærmbillede:
Opdel data i flere regneark baseret på kolonneværdi med Kutools til Excel
Kutools til Excel bringer smart funktion - Opdel data direkte ind i dit Excel-miljø. At opdele data i flere regneark er ikke længere en udfordring. Vores intuitive værktøj opdeler automatisk dit datasæt baseret på den valgte kolonneværdi eller antal rækker, hvilket sikrer, at hver enkelt information er præcis, hvor du har brug for den. Sig farvel til den kedelige opgave at manuelt organisere dine regneark og omfavn en hurtigere, fejlfri måde at administrere dine data på.
Efter installation Kutools til Excel, vælg dataområdet, og klik derefter på Kutools Plus > Opdel data at åbne Opdel data i flere regneark dialog boks.
- Type Specifik kolonne valgmulighed i Split baseret på sektion, og vælg den kolonneværdi, som du vil opdele dataene baseret på, fra rullelisten.
- Hvis dine data har overskrifter, og du ønsker at indsætte dem i hvert nyt opdelt regneark, så tjek venligst Mine data har overskrifter mulighed. (Du kan angive antallet af overskriftsrækker baseret på dine data. Hvis dine data f.eks. indeholder to overskrifter, skal du indtaste 2.)
- Derefter kan du angive navnene på delt regneark under Nyt regnearknavn sektion, skal du angive reglen for regnearknavne fra rullelisten Regler, kan du tilføje Præfiks or Suffiks også for arknavne.
- Klik på knappen OK knap. Se skærmbillede:
Nu er dataene i regnearket opdelt i flere regneark i en ny projektmappe.
Opdel data i flere projektmapper baseret på kolonneværdi med VBA-kode
Lejlighedsvis, i stedet for at opdele data i flere regneark, kan det være mere fordelagtigt at opdele dataene i separate projektmapper baseret på en nøglekolonne. Her er en trin-for-trin guide til, hvordan du bruger VBA-kode til at automatisere processen med at opdele data i flere projektmapper baseret på en specifik kolonneværdi.
1. Hold nede i ALT + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.
2. klik indsatte > Moduler, og indsæt følgende kode i Modul vindue.
Sub SplitDataByColToWorkbooks()
' Updateby Extendoffice
Dim lr As Long
Dim ws As Worksheet
Dim vcol, i As Integer
Dim myarr As Variant
Dim title As String
Dim titlerow As Integer
Dim xTRg As Range
Dim xVRg As Range
Dim xWS As Workbook
Dim savePath As String
' Set the directory to save new workbooks
savePath = "C:\Users\AddinsVM001\Desktop\multiple files\" ' Modify this path as needed
Application.DisplayAlerts = False
Set xTRg = Application.InputBox("Please select the header rows:", "Kutools for Excel", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set xVRg = Application.InputBox("Please select the column you want to split data based on:", "Kutools for Excel", Type:=8)
If TypeName(xVRg) = "Nothing" Then Exit Sub
vcol = xVRg.Column
Set ws = xTRg.Worksheet
lr = ws.Cells(ws.Rows.Count, vcol).End(xlUp).Row
title = xTRg.Address(False, False)
titlerow = xTRg.Row
ws.Columns(vcol).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=ws.Cells(1, ws.Columns.Count), Unique:=True
myarr = Application.Transpose(ws.Cells(1, ws.Columns.Count).Resize(ws.Cells(ws.Rows.Count, ws.Columns.Count).End(xlUp).Row).Value)
ws.Cells(1, ws.Columns.Count).Resize(ws.Cells(ws.Rows.Count, ws.Columns.Count).End(xlUp).Row).ClearContents
For i = 2 To UBound(myarr)
Set xWS = Workbooks.Add
ws.Range(title).AutoFilter Field:=vcol, Criteria1:=myarr(i)
ws.Range("A" & titlerow & ":A" & lr).SpecialCells(xlCellTypeVisible).EntireRow.Copy
xWS.Sheets(1).Cells(1, 1).PasteSpecial Paste:=xlPasteAll
xWS.SaveAs Filename:=savePath & myarr(i) & ".xlsx"
xWS.Close SaveChanges:=False
Next i
ws.AutoFilterMode = False
Application.DisplayAlerts = True
ws.Activate
End Sub
3. Tryk derefter på F5 tasten for at køre koden, og en promptboks vises for at minde dig om at vælge overskriftsrækken, og klik derefter på OK. Se skærmbillede:
4. I den anden promptboks skal du vælge de kolonnedata, som du vil opdele baseret på, og derefter klikke OK. Se skærmbillede:
5. Efter opdeling er alle data i det aktive regneark opdelt i flere projektmapper baseret på kolonneværdierne. Alle de opdelte projektmapper gemmes i den mappe, du har angivet. Se skærmbillede:
Relaterede artikler:
- Opdel data i flere regneark efter antal rækker
- Effektiv opdeling af et stort dataområde i flere Excel-regneark baseret på et bestemt rækkeantal kan strømline datastyring. For eksempel kan opdeling af et datasæt hver 5. række i flere ark gøre det mere overskueligt og organiseret. Denne vejledning tilbyder to praktiske metoder til at udføre denne opgave hurtigt og nemt.
- Flet to eller flere tabeller til én baseret på nøglekolonner
- Antag, at du har tre tabeller i en projektmappe, nu vil du flette disse tabeller i en tabel baseret på de tilsvarende nøglekolonner for at få resultatet som vist nedenstående skærmbillede. Dette kan være en besværlig opgave for de fleste af os, men bare rolig, denne artikel, jeg vil introducere nogle metoder til løsning af dette problem.
- Opdel tekststrenge med skilletegn i flere rækker
- Normalt kan du bruge funktionen Tekst til kolonne til at opdele celleindhold i flere kolonner med et specifikt skilletegn, såsom komma, prik, semikolon, skråstreg osv. Men nogle gange kan det være nødvendigt at opdele det afgrænsede celleindhold i flere rækker og gentag dataene fra andre kolonner som vist nedenfor. Har du nogen gode måder at håndtere denne opgave i Excel? Denne tutorial vil introducere nogle effektive metoder til at fuldføre dette job i Excel.
- Opdel multiline celleindhold i adskilte rækker/kolonner
- Hvis du antager, at du har celleindhold med flere linjer, som er adskilt af Alt + Enter, og nu skal du opdele multilinjeindholdet i adskilte rækker eller kolonner, hvad kan du gøre? I denne artikel vil du lære, hvordan du hurtigt opdeler celleindhold med flere linjer i adskilte rækker eller kolonner.
Bedste kontorproduktivitetsværktøjer
Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid. Klik her for at få den funktion, du har mest brug for...
Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere
- Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
- Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
- Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!