Noen ganger, i dataanalyse, må du kanskje dele innholdet i et Excel-regneark i flere Excel-arbeidsbøker i henhold til en bestemt kolonne. Nå, i denne sost, vil vi lære deg 2 raske måter å få det på.
Mange brukere trenger ofte å dele et Excel-regneark som inneholder enorme rader med data i flere separate Excel-arbeidsbøker basert på en bestemt kolonne. For eksempel, her er mitt eksempel på Excel-regnearket. Jeg vil dele dette arkets data på grunnlag av kolonnen "Pris på enkeltlisens (US$)" i flere arbeidsbøker.
Generelt vil du pleier å bruke følgende metode 1 for å manuelt filtrere og kopiere data. Men det vil være ganske kjedelig og dumt hvis det er for mange filteralternativer. Derfor viser vi her også en mye mer praktisk måte – Metode 2, som bruker VBA. Les videre for å få dem i detalj.
Metode 1: Kopier innhold til separate Excel-arbeidsbøker etter filter
- Først velger du en celle i den spesifikke kolonnen, som "Celle B1" i min egen forekomst.
- Gå deretter til "Data"-fanen og klikk på "Filter" -knappen.
- Klikk deretter på "pil ned"-knappen i kolonneoverskriften for å vise en liste over filtervalg.
- Nå, fjern merket for "(Velg alle)" alternativet.
- Etter det kan du velge ett filtervalg, som "29.95" i eksemplet mitt, og klikke på "OK".
- På en gang vil bare dataene, hvis verdi i kolonne B er "29.95", være igjen.
- Deretter kopierer du de filtrerte dataene og limer dem inn i en ny Excel-arbeidsbok.
- Bruk senere på samme måte for å dele de andre dataene for å skille Excel-arbeidsbøker.
Metode 2: Batchdeling av innhold i flere Excel-arbeidsbøker via VBA
- For det første, sørg for at det spesifikke regnearket er åpnet.
- Deretter starter du VBA-editor i henhold til "Hvordan kjøre VBA-kode i Excel".
- Deretter legger du følgende kode inn i "ThisWorkbook"-prosjektet.
Sub SplitSheetDataIntoMultipleWorkbooksBasedOnSpecificColumn() Dim objWorksheet As Excel.Worksheet Dim nLastRow, nRow, nNextRow As Integer Dim strColumnValue As String Dim objDictionary As Object Dim varColumnValue As ExelV Variant As ExcelW Variant orkbook Dim objSheet As Excel.Worksheet Set objWorksheet = ActiveSheet nLastRow = objWorksheet.Range("A" & objWorksheet.Rows.Count).End(xlUp).Row Set objDictionary = CreateObject("Scripting.Dictionary") For nRow = 2 Til nLastRow 'Få den spesifikke kolonnen 'Her er forekomsten min "B"-kolonnen 'Du kan endre det til ditt tilfelle strColumnValue = objWorksheet.Range("B" & nRow).Verdi If objDictionary.Exists(strColumnValue) = False Then objDictionary.Add strColumnValue, 1 End If Next varColumnValues =KeysDictionarys. For i = LBound(varColumnValues) To UBound(varColumnValues) varColumnValue = varColumnValues(i) 'Opprett en ny Excel-arbeidsbok Sett objExcelWorkbook = Excel.Application.Workbooks.Add Set objSheet = objExcelWorkName.W objWorksheet.Rows(1).EntireRow.Copy objSheet.Activate objSheet.Range("A1").Velg objSheet.Paste For nRow = 1 To nLastRow If CStr(objWorksheet.Range("B" & nRow).Value) = C (varColumnValue) Deretter 'Kopier data med samme kolonne "B"-verdi til ny arbeidsbok objWorksheet.Rows(nRow).EntireRow.Copy nNextRow = objSheet.Range("A" & objWorksheet.Rows.Count).End(xlUp). Rad + 2 objSheet.Range("A" & nNextRow).Velg objSheet.Paste objSheet.Columns("A:B").AutoFit End If Next Next End Sub
- Deretter klikker du på "Kjør"-ikonet i verktøylinjen eller trykker på "F5"-tasten.
- Når makroen er ferdig, opprettes de separate Excel-arbeidsbøkene med de delte dataene fra Excel-kilderegnearket.
- Hver arbeidsbok vil se ut som følgende skjermbilde.
Sammenligning
Fordeler | Ulemper | |
Metode 1 | 1. Enkel å betjene for alle Excel-brukere | Plagsomt hvis det er for mange filtervalg |
2. Rask hvis det er få filtervalg | ||
Metode 2 | Mye mer effektiv enn metode 1 uansett antall filtervalg | Litt vanskelig å betjene for VBA-nybegynnere |
Forhindre tap av Excel-data
Selv om MS Excel blir mer og mer avansert og sofistikert, har det fortsatt en tendens til å krasje fra tid til annen på grunn av diverse faktorer, som ondsinnede tredjepartstillegg eller menneskelige feil og så videre. Siden Excel-krasj kan direkte føre til Excel-korrupsjon, for å unngå tap av Excel-data, må du sikkerhetskopiere Excel-filene dine med jevne mellomrom. Ellers må du bruke et Excel-reparasjonsverktøy, som f.eks DataNumen Excel Repair for å fikse ødelagte Excel-filer.
Forfatterintroduksjon:
Shirley Zhang er en datagjenopprettingsekspert innen DataNumen, Inc., som er verdensledende innen datagjenopprettingsteknologier, inkludert SQL Server reparasjon og Outlook-reparasjonsprodukter. For mer informasjon besøk www.datanumen. Med