2 Phương tiện Nhanh chóng để Chia Nội dung của Trang tính Excel thành Nhiều Sổ làm việc Dựa trên một Cột Cụ thể

Chia sẻ ngay bây giờ:

Trong phân tích dữ liệu, đôi khi bạn cần chia nội dung của một bảng tính Excel thành nhiều sổ làm việc Excel khác nhau dựa trên một cột cụ thể. Bài viết này sẽ hướng dẫn bạn 2 cách nhanh chóng để thực hiện điều đó.

Nhiều người dùng thường xuyên cần chia một trang tính Excel có chứa các hàng dữ liệu khổng lồ thành nhiều sổ làm việc Excel riêng biệt dựa trên một cột cụ thể. Chẳng hạn, đây là bảng tính Excel mẫu của tôi. Tôi muốn chia dữ liệu của trang tính này dựa trên cột "Giá của một giấy phép (US$)" thành nhiều sổ làm việc.

Bảng tính Excel mẫu

Nói chung, bạn sẽ có xu hướng sử dụng Phương pháp 1 sau đây để lọc và sao chép dữ liệu theo cách thủ công. Tuy nhiên, sẽ khá tẻ nhạt và ngu ngốc nếu có quá nhiều tùy chọn bộ lọc. Do đó, ở đây chúng tôi cũng chỉ ra một cách tiện lợi hơn nhiều – Phương pháp 2, sử dụng VBA. Bây giờ, hãy đọc để có được chúng một cách chi tiết.

Phương pháp 1: Sao chép nội dung vào các sổ làm việc Excel riêng biệt sau khi lọc

  1. Đầu tiên, hãy chọn một ô trong cột cụ thể, chẳng hạn như “Ô B1” trong ví dụ của riêng tôi.
  2. Sau đó, chuyển sang tab “Dữ liệu” và nhấp vào nút “Bộ lọc”.Lọc dữ liệu
  3. Tiếp theo, nhấp vào nút "mũi tên xuống" trong tiêu đề cột để hiển thị danh sách các lựa chọn bộ lọc.
  4. Bây giờ, hãy bỏ chọn tùy chọn “(Select All)”.Bỏ chọn "Chọn tất cả"
  5. Sau đó, bạn có thể chọn một lựa chọn bộ lọc, chẳng hạn như “29.95” trong ví dụ của tôi và nhấp vào “OK”.
  6. Đồng thời, chỉ dữ liệu có giá trị trong Cột B là “29.95” sẽ được để lại.Chỉ còn lại dữ liệu đã lọc
  7. Sau đó, sao chép dữ liệu đã lọc và dán chúng vào sổ làm việc Excel mới.Sao chép và dán nội dung
  8. Sau đó, sử dụng cùng một cách để tách dữ liệu khác để tách sổ làm việc Excel.

Phương pháp 2: Chia hàng loạt nội dung thành nhiều sổ làm việc Excel thông qua VBA

  1. Trước tiên, hãy đảm bảo rằng trang tính cụ thể được mở.
  2. Tiếp theo, khởi chạy trình soạn thảo VBA theo “Cách chạy mã VBA trong Excel của bạn".
  3. Sau đó, đặt đoạn mã sau vào dự án “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

Mã VBA - Chia nội dung của một bảng tính Excel thành nhiều sổ làm việc dựa trên một cột cụ thể

  1. Sau đó, nhấp vào biểu tượng “Run” trên thanh công cụ hoặc nhấn nút phím “F5”.
  2. Khi macro kết thúc, các sổ làm việc Excel riêng biệt sẽ được tạo với dữ liệu đã tách từ trang tính Excel nguồn.Sổ làm việc Excel mới
  3. Mỗi sổ làm việc sẽ trông giống như ảnh chụp màn hình sau đây.Tách sổ làm việc Excel mới

sự so sánh

  Ưu điểm Nhược điểm
Phương pháp 1 1. Dễ vận hành cho tất cả người dùng Excel Rắc rối nếu có quá nhiều lựa chọn bộ lọc
2. Nhanh chóng nếu có ít lựa chọn bộ lọc
Phương pháp 2 Hiệu quả hơn nhiều so với Phương pháp 1 bất kể số lượng lựa chọn bộ lọc Hơi khó thao tác với người mới sử dụng VBA

Ngăn ngừa mất dữ liệu Excel

Mặc dù MS Excel ngày càng trở nên tiên tiến và phức tạp hơn, nhưng đôi khi nó vẫn có xu hướng gặp sự cố do các yếu tố khác, chẳng hạn như phần bổ trợ độc hại của bên thứ ba hoặc lỗi của con người, v.v. Vì sự cố Excel có thể trực tiếp dẫn đến Excel bị hỏng, để tránh mất dữ liệu Excel, bạn phải thường xuyên sao lưu các tệp Excel của mình. Nếu không, bạn cần áp dụng một công cụ sửa chữa Excel, chẳng hạn như DataNumen Excel Repair để sửa các tệp Excel bị hỏng.

Giới thiệu tác giả:

Shirley Zhang là một chuyên gia phục hồi dữ liệu trong DataNumen, Inc., công ty hàng đầu thế giới về công nghệ khôi phục dữ liệu, bao gồm SQL Server sửa và các sản phẩm phần mềm sửa chữa triển vọng. Để biết thêm thông tin, hãy truy cập www.datanumennăm

Chia sẻ ngay bây giờ:

Được đóng lại.