2 სწრაფი საშუალება Excel-ის სამუშაო ფურცლის შიგთავსის დაყოფა რამდენიმე სამუშაო წიგნად კონკრეტული სვეტის საფუძველზე

გააზიარე ახლა:

ზოგჯერ, მონაცემთა ანალიზის დროს, შეიძლება დაგჭირდეთ Excel-ის სამუშაო ფურცლის შინაარსის დაყოფა რამდენიმე Excel-ის სამუშაო წიგნად კონკრეტული სვეტის მიხედვით. ახლა, ამ პოსტში, ჩვენ გასწავლით მის მისაღებად 2 სწრაფ გზას.

ბევრ მომხმარებელს ხშირად ესაჭიროება Excel-ის სამუშაო ფურცლის გაყოფა, რომელიც შეიცავს მონაცემთა უზარმაზარ სტრიქონებს რამდენიმე ცალკეულ Excel-ის სამუშაო წიგნებში, კონკრეტული სვეტის საფუძველზე. მაგალითად, აქ არის ჩემი Excel სამუშაო ფურცლის ნიმუში. მსურს ამ ფურცლის მონაცემები დავყო რამდენიმე სამუშაო წიგნად სვეტის „ერთი ლიცენზიის ფასი (US$)“ საფუძველზე.

Excel სამუშაო ფურცლის ნიმუში

ზოგადად, თქვენ უნდა გამოიყენოთ შემდეგი მეთოდი 1, რათა ხელით გაფილტროთ და დააკოპიროთ მონაცემები. მაგრამ, ეს იქნება საკმაოდ დამღლელი და სულელური, თუ ძალიან ბევრი ფილტრის ვარიანტია. აქედან გამომდინარე, აქ ჩვენ ასევე ვაჩვენებთ ბევრად უფრო მოხერხებულ გზას - მეთოდი 2, რომელიც იყენებს VBA-ს. ახლა, წაიკითხეთ, რომ მიიღოთ ისინი დეტალურად.

მეთოდი 1: დააკოპირეთ შიგთავსი Excel-ის სამუშაო წიგნების განცალკევებისთვის ფილტრის შემდეგ

  1. თავდაპირველად, აირჩიეთ უჯრედი კონკრეტულ სვეტში, როგორიცაა "უჯრედი B1" ჩემს შემთხვევაში.
  2. შემდეგ გადადით "მონაცემების" ჩანართზე და დააჭირეთ ღილაკს "ფილტრი".მონაცემთა გაფილტვრა
  3. შემდეგი, დააწკაპუნეთ ღილაკზე „ქვემოთ ისარი“ სვეტის სათაურში, რომ ნახოთ ფილტრის არჩევანის სია.
  4. ახლა, მოხსენით მონიშვნა "(აირჩიეთ ყველა)" ვარიანტი.მოხსენით მონიშვნა "ყველას არჩევა"
  5. ამის შემდეგ, თქვენ შეგიძლიათ აირჩიოთ ერთი ფილტრის არჩევანი, როგორიცაა ჩემს მაგალითში „29.95“ და დააჭიროთ „OK“.
  6. ერთბაშად დარჩება მხოლოდ ის მონაცემები, რომელთა მნიშვნელობა B სვეტში არის „29.95“.დარჩა მხოლოდ გაფილტრული მონაცემები
  7. შემდეგ დააკოპირეთ გაფილტრული მონაცემები და ჩასვით ისინი Excel-ის ახალ სამუშაო წიგნში.დააკოპირეთ და ჩასვით შინაარსი
  8. მოგვიანებით, გამოიყენეთ იგივე გზა სხვა მონაცემების გასაყოფად Excel სამუშაო წიგნების გამოსაყოფად.

მეთოდი 2: შიგთავსის დაყოფა რამდენიმე Excel სამუშაო წიგნად VBA-ს საშუალებით

  1. პირველ რიგში, დარწმუნდით, რომ გახსნილია კონკრეტული სამუშაო ფურცელი.
  2. შემდეგი, გაუშვით VBA რედაქტორი "როგორ გაუშვათ VBA კოდი თქვენს Excel-ში".
  3. შემდეგ ჩადეთ შემდეგი კოდი პროექტში „ThisWorkbook“.
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 კოდი - დაყავით Excel-ის სამუშაო ფურცლის შიგთავსი რამდენიმე სამუშაო წიგნად, კონკრეტული სვეტის საფუძველზე

  1. ამის შემდეგ დააწკაპუნეთ ინსტრუმენტთა პანელში "Run" ხატულაზე ან დააჭირეთ ღილაკს "F5".
  2. როდესაც მაკრო დასრულდება, Excel-ის ცალკეული სამუშაო წიგნები შეიქმნება წყარო Excel-ის სამუშაო ფურცლის გაყოფილი მონაცემებით.ახალი Excel სამუშაო წიგნები
  3. თითოეული სამუშაო წიგნი გამოიყურება შემდეგ ეკრანის სურათზე.ცალკე ახალი Excel სამუშაო წიგნები

შედარება

  უპირატესობები ნაკლოვანებები
მეთოდი 1 1. მარტივი მუშაობა Excel-ის ყველა მომხმარებლისთვის პრობლემურია, თუ ძალიან ბევრი ფილტრის არჩევანია
2. სწრაფი, თუ რამდენიმე ფილტრის არჩევანია
მეთოდი 2 ბევრად უფრო ეფექტურია, ვიდრე მეთოდი 1, არ აქვს მნიშვნელობა ფილტრის არჩევანის რაოდენობას ცოტა რთული მუშაობა VBA დამწყებთათვის

Excel მონაცემთა დაკარგვის თავიდან აცილება

მიუხედავად იმისა, რომ MS Excel სულ უფრო და უფრო მოწინავე და დახვეწილი ხდება, ის მაინც არღვევს დროდადრო სხვადასხვა ფაქტორების გამო, როგორიცაა მავნე მესამე მხარის დანამატები ან ადამიანური შეცდომები და ა.შ. მას შემდეგ, რაც Excel-ის ავარია შეიძლება პირდაპირ გამოიწვიოს Excel კორუფციაExcel-ის მონაცემების დაკარგვის თავიდან ასაცილებლად, რეგულარულად უნდა შექმნათ თქვენი Excel ფაილების სარეზერვო ასლები. წინააღმდეგ შემთხვევაში, თქვენ უნდა გამოიყენოთ Excel სარემონტო ინსტრუმენტი, როგორიცაა DataNumen Excel Repair დაზიანებული Excel ფაილების გამოსასწორებლად.

ავტორი შესავალი:

შირლი ჟანგი არის მონაცემთა აღდგენის ექსპერტი DataNumen, Inc., რომელიც მსოფლიო ლიდერია მონაცემთა აღდგენის ტექნოლოგიებში, მათ შორის SQL Server სარემონტო და Outlook სარემონტო პროგრამული პროდუქტები. დამატებითი ინფორმაციისთვის ეწვიეთ www.datanumen. ერთად

გააზიარე ახლა:

კომენტარები დახურულია.