2 nopeaa tapaa jakaa Excel-laskentataulukon sisältö useisiin työkirjoihin tietyn sarakkeen perusteella

Data-analyysissä saatat joskus joutua jakamaan Excel-laskentataulukon sisällön useisiin Excel-työkirjoihin tietyn sarakkeen mukaan. Tässä artikkelissa opetamme sinulle kaksi nopeaa tapaa saada se aikaan.

Monien käyttäjien on usein jaettava suuria tietorivejä sisältävä Excel-laskentataulukko useiksi erillisiksi Excel-työkirjoiksi tietyn sarakkeen perusteella. Esimerkiksi tässä on esimerkki Excel-laskentataulukosta. Haluaisin jakaa tämän taulukon tiedot "Yksittäisen lisenssin hinta (US$)" -sarakkeen perusteella useisiin työkirjoihin.

Esimerkki Excel-taulukosta

Yleensä käytät seuraavaa tapaa 1 tietojen suodattamiseen ja kopioimiseen manuaalisesti. Mutta se on melko tylsää ja typerää, jos suodatinvaihtoehtoja on liikaa. Siksi tässä näytämme myös paljon kätevämmän tavan – menetelmän 2, joka käyttää VBA:ta. Lue nyt saadaksesi ne yksityiskohtaisesti.

Tapa 1: Kopioi sisältö erillisiin Excel-työkirjoihin suodatuksen jälkeen

  1. Valitse ensin solu tietystä sarakkeesta, kuten "solu B1" omassa tapauksessani.
  2. Siirry sitten "Data" -välilehteen ja napsauta "Suodata" -painiketta.Suodata tiedot
  3. Napsauta seuraavaksi "alasnuoli" -painiketta sarakeotsikossa nähdäksesi luettelon suodatinvaihtoehdoista.
  4. Poista nyt valinta "(Valitse kaikki)" -vaihtoehdosta.Poista valinta "Valitse kaikki"
  5. Sen jälkeen voit valita yhden suodatinvaihtoehdon, kuten "29.95" esimerkissäni, ja napsauta "OK".
  6. Jäljelle jää kerralla vain tiedot, joiden arvo sarakkeessa B on "29.95".Vain suodatettu data on jäljellä
  7. Kopioi sitten suodatetut tiedot ja liitä ne uuteen Excel-työkirjaan.Kopioi ja liitä sisältö
  8. Käytä myöhemmin samaa tapaa jakaa muut tiedot erillisiksi Excel-työkirjoiksi.

Tapa 2: Eräjako sisältö useiksi Excel-työkirjoiksi VBA:n kautta

  1. Varmista ensinnäkin, että kyseinen laskentataulukko avataan.
  2. Käynnistä seuraavaksi VBA-editori "Kuinka suorittaa VBA-koodi Excelissä".
  3. Laita sitten seuraava koodi "ThisWorkbook" -projektiin.
Sub SplitSheetDataIntoMultipleWorkbooksBasedOnSpecificColumn()
    Dim objWorksheet As Excel.Worksheet
    Dim nLastRow, nRow, nNextRow As Integer
    Dim strColumnValue As String
    Dim objDictionary As Object
    Dim varColumnValues As Variant
    Dim varColumnValue As Variant
    Dim objExcelWorkbook As Excel.Workbook
    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 To nLastRow
        'Get the specific Column
        'Here my instance is "B" column
        'You can change it to your case
        strColumnValue = objWorksheet.Range("B" & nRow).Value
 
        If objDictionary.Exists(strColumnValue) = False Then
           objDictionary.Add strColumnValue, 1
        End If
    Next
 
    varColumnValues = objDictionary.Keys
 
    For i = LBound(varColumnValues) To UBound(varColumnValues)
        varColumnValue = varColumnValues(i)
 
        'Create a new Excel workbook
        Set objExcelWorkbook = Excel.Application.Workbooks.Add
        Set objSheet = objExcelWorkbook.Sheets(1)
        objSheet.Name = objWorksheet.Name
 
        objWorksheet.Rows(1).EntireRow.Copy
        objSheet.Activate
        objSheet.Range("A1").Select
        objSheet.Paste
 
        For nRow = 2 To nLastRow
            If CStr(objWorksheet.Range("B" & nRow).Value) = CStr(varColumnValue) Then
               'Copy data with the same column "B" value to new workbook
               objWorksheet.Rows(nRow).EntireRow.Copy
  
               nNextRow = objSheet.Range("A" & objWorksheet.Rows.Count).End(xlUp).Row + 1
               objSheet.Range("A" & nNextRow).Select
               objSheet.Paste
               objSheet.Columns("A:B").AutoFit
            End If
        Next
    Next
End Sub

VBA-koodi - Jaa Excel-laskentataulukon sisältö useiksi työkirjoiksi tietyn sarakkeen perusteella

  1. Napsauta sen jälkeen työkalupalkin "Suorita"-kuvaketta tai paina "F5"-näppäintä.
  2. Kun makro on valmis, erilliset Excel-työkirjat luodaan Excel-lähdetaulukon jaetuilla tiedoilla.Uudet Excel-työkirjat
  3. Jokainen työkirja näyttää seuraavalta kuvakaappaukselta.Erilliset uudet Excel-työkirjat

Vertailu

  edut Haitat
Menetelmä 1 1. Helppokäyttöinen kaikille Excel-käyttäjille Ongelmallista, jos suodatinvaihtoehtoja on liikaa
2. Nopea, jos suodatinvaihtoehtoja on vähän
Menetelmä 2 Paljon tehokkaampi kuin menetelmä 1 riippumatta suodatinvaihtoehtojen määrästä Hieman vaikea käyttää VBA-aloittelijoille

Estä Excelin tietojen häviäminen

Vaikka MS Excelistä on tulossa yhä kehittyneempiä ja kehittyneempiä, se pyrkii silti kaatumaan ajoittain erilaisten tekijöiden, kuten haitallisten kolmannen osapuolen lisäosien tai inhimillisten virheiden ja niin edelleen vuoksi. Koska Excelin kaatuminen voi johtaa suoraan Excel-korruptioExcel-tietojen häviämisen välttämiseksi sinun on varmuuskopioitava Excel-tiedostot säännöllisesti. Muussa tapauksessa sinun on käytettävä Excel-korjaustyökalua, kuten DataNumen Excel Repair korjata vioittuneet Excel-tiedostot.

Tekijän esittely:

Shirley Zhang on tietojen palauttamisen asiantuntija DataNumen, Inc., joka on maailman johtava tietojen palautustekniikoissa, mukaan lukien SQL Server korjaus ja Outlookin korjausohjelmistotuotteet. Lisätietoja osoitteessa www.datanumen.com

Kommenttien lisääminen on estetty.