Nếu bạn đang tìm kiếm một số cách dễ nhất để chia trang tính Excel thành nhiều trang tính dựa trên giá trị cột, khi đó bạn sẽ thấy bài viết này hữu ích.
Đôi khi cần phải chia nhỏ một tập hợp dữ liệu lớn dựa trên một cột và làm việc trên nhiều trang tính sau khi chia nhỏ trang tính chính. Để biết các cách thực hiện công việc này một cách hiệu quả, hãy đi sâu vào bài viết.
Tải xuống Workbook
5 cách chia Trang tính Excel thành nhiều Trang tính dựa trên giá trị cột
Tôi sẽ sử dụng bảng dữ liệu sau chứa kết quả của các sinh viên khác nhau tại một trường đại học. Tôi sẽ chia trang tính này thành ba trang tính dựa trên cột Tên sinh viên cho ba học sinh.
Vì mục đích này, tôi đang sử dụng Microsoft Excel 365 nhưng bạn có thể sử dụng bất kỳ phiên bản nào khác một cách thuận tiện.
Phương pháp-1 :Chức năng FILTER để chia Trang tính thành Nhiều Trang tính Dựa trên Giá trị Cột
Nếu bạn muốn chia biểu dữ liệu thành nhiều trang tính dựa trên cột Tên sinh viên , thì bạn có thể sử dụng chức năng FILTER . Ở đây, tôi sẽ chia trang tính sau thành ba trang tính chứa dữ liệu cho Daniel Defoe , Henry Jackson, và Donald Paul tương ứng.
Bước-01 :
➤Tạo ba trang tính được đặt theo tên của ba học sinh.
➤Chọn một ô, chẳng hạn như B3 trong tờ giấy dành cho sinh viên Daniel Defoe .
➤Gõ công thức sau
=FILTER(Filter!B5:D16,Filter!B5:B16="Daniel Defoe")
Bộ lọc! B5:D16 là phạm vi dữ liệu không có tiêu đề trong trang tính chính được đặt tên là Bộ lọc và Lọc! B5:B16 là phạm vi của Tên sinh viên trong trang tính chính và nó sẽ bằng “Daniel Defoe” .
➤Nhấn ENTER
Bây giờ, bạn sẽ nhận được dữ liệu của sinh viên Daniel Defoe trong trang tính cho sinh viên này.
➤Hãy nhập tên tiêu đề phía trên tất cả các cột và tạo đường viền cho bảng dữ liệu này.
Bước-02 :
Sau khi thực hiện theo Bước-01 của phương pháp này cho hai trang tính khác cho Henry Jackson của sinh viên và Donald Paul bạn sẽ nhận được hai bảng sau trong các trang tính tương ứng của chúng.
Đọc thêm: Excel VBA:Chia Trang tính thành Nhiều Trang tính Dựa trên Hàng
Phương pháp-2 :Bảng tổng hợp để chia Trang tính thành Nhiều Trang tính Dựa trên Giá trị Cột
Bạn có thể chia trang tính sau thành ba trang tính cho ba sinh viên dựa trên cột Tên sinh viên bằng cách sử dụng Bảng tổng hợp .
Bước-01 :
➤Đi tới Chèn Tab>> PivotTable Tùy chọn
Sau đó, PivotTable từ bảng hoặc dải ô Hộp thoại sẽ xuất hiện.
➤Chọn Bảng / Phạm vi
➤Nhấp vào Trang tính mới (một phương pháp hay là đặt Pivot Table vào một trang tính mới)
➤Nhấn OK
Sau đó, một trang tính mới sẽ mở ra có hai phần; PivotTable1 và Trường PivotTable .
➤ Kéo xuống Tên học sinh trong Bộ lọc khu vực (bất kỳ cột nào trên cơ sở đó bạn muốn chia trang tính chính thành nhiều trang tính) và Chủ đề và Lớp vào Hàng khu vực.
➤Đi tới Thiết kế Tab>> Bố cục Nhóm>> Bố cục Báo cáo Thả xuống>> Hiển thị trong Biểu mẫu phác thảo Tùy chọn
➤ Theo dõi Thiết kế Tab>> Bố cục Nhóm>> Tổng tổng số Trình đơn thả xuống>> Tắt cho hàng và cột Tùy chọn.
➤Sau đó đi tới Phân tích PivotTable Tab>> PivotTable Nhóm>> Tùy chọn Thả xuống>> Hiển thị các trang Bộ lọc Báo cáo Tùy chọn.
Sau đó, Hiển thị các trang Bộ lọc Báo cáo Wizard sẽ bật lên.
➤Chọn cột Tên học sinh nằm trong Bộ lọc diện tích.
➤Nhấn OK .
Kết quả :
Sau đó, bạn sẽ nhận được ba tờ giấy khác nhau cho ba học sinh Daniel Defoe , Henry Jackson, và Donald Paul tương ứng.
Đọc thêm: Tách Trang tính Excel thành nhiều Trang tính dựa trên hàng
Phương pháp-3 :Sử dụng tùy chọn bảng
Để chia trang tính chính thành nhiều trang tính dựa trên cột Tên sinh viên bạn có thể sử dụng Bảng Tùy chọn.
Bước-01 :
➤Tạo ba trang tính được đặt theo tên của ba học sinh.
➤ Sao chép bảng dữ liệu từ trang tính chính và dán vào ba trang tính khác nhau.
Bước-02 :
➤Đi tới Chèn Tab>> Bảng Tùy chọn
Sau đó, Tạo bảng Hộp thoại sẽ xuất hiện.
➤Chọn dữ liệu cho Bảng của bạn .
➤Nhấp vào Bảng của tôi có tiêu đề
➤Nhấn OK
Sau đó, bảng sau sẽ được tạo.
➤Đi tới Thiết kế bảng Tab>> Công cụ Thả xuống>> Chèn trình cắt Tùy chọn
Sau đó, Chèn các lát Hộp thoại sẽ bật lên.
➤Chọn cột Tên sinh viên (cột mà bạn muốn tách trang tính dựa vào đó)
➤Nhấn OK .
Sau đó, một Tên sinh viên Hộp sẽ xuất hiện có ba tùy chọn (ba tên học sinh)
➤Nhấp vào Daniel Defoe cho trang tính của sinh viên này.
Kết quả :
Bạn sẽ nhận được dữ liệu của sinh viên Daniel Defoe trong trang tính cho sinh viên này.
Bước-03 :
➤ Làm theo Bước-02 cho hai trang tính còn lại.
Bằng cách này, bạn sẽ tạo hai trang tính khác cho Henry Jackson và Donald Paul như bên dưới.
Đọc thêm: Cách chia Trang tính Excel thành nhiều tệp (3 phương pháp nhanh)
Bài đọc tương tự
- Cách chia đôi màn hình trong Excel (3 cách)
- [Khắc phục:] Chế độ xem song song của Excel không hoạt động
- Cách Bật Chế độ xem Song song với Căn chỉnh Theo chiều dọc trong Excel
Phương pháp-4 :Sử dụng Tùy chọn Bộ lọc
Để chia trang tính chính thành nhiều trang tính dựa trên cột Tên sinh viên Tôi sẽ sử dụng Bộ lọc trong phương pháp này.
Bước-01 :
➤Tạo ba trang tính được đặt theo tên của ba học sinh.
➤ Sao chép bảng dữ liệu từ trang tính chính và dán vào ba trang tính khác nhau.
Bước-02 :
➤Chọn bảng dữ liệu
➤Đi tới Dữ liệu Tab>> Bộ lọc Tùy chọn
Then, the Filter Option will be activated for this data table.
➤Click on the Dropdown sign in the Student Name column .
➤Select the name Daniel Defoe for this sheet and Press OK .
Result :
Afterward, you will get the data for the student Daniel Defoe in the sheet for this student.
Step-03 :
➤Follow Step-02 for the other two sheets.
Then, you will get the other two sheets for Henry Jackson and Donald Paul like below.
Đọc thêm: How to Separate Sheets in Excel (6 Effective Ways)
Method-5 :VBA Code to Split Sheet into Multiple Sheets Based on Column Value
You can split a sheet into multiple sheets based on column value by using a VBA code like this method.
Step-01 :
➤Go to Developer Tab>>Visual Basic Option
Then, the Visual Basic Editor will open up.
➤Go to Insert Tab>> Module Option
After that, a Module will be created.
Step-02 :
➤Write the following code
Sub Splitsheet()
Dim lr As Long
Dim sheet 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
On Error Resume Next
Set xTRg = Application.InputBox("Select the header row:", "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set xVRg = Application.InputBox _
("Select the column on the basis of which split data:", "", Type:=8)
If TypeName(xVRg) = "Nothing" Then Exit Sub
vcol = xVRg.Column
Set sheet = xTRg.Worksheet
lr = sheet.Cells(sheet.Rows.Count, vcol).End(xlUp).Row
title = xTRg.AddressLocal
titlerow = xTRg.Cells(1).Row
icol = sheet.Columns.Count
sheet.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")
sheet.Activate
For i = (titlerow + xTRg.Rows.Count) To lr
On Error Resume Next
If sheet.Cells(i, vcol) <> "" And Application.WorksheetFunction. _
Match(ws.Cells(i, vcol), sheet.Columns(icol), 0) = 0 Then
sheet.Cells(sheet.Rows.Count, icol).End(xlUp).Offset(1) = sheet.Cells(i, vcol)
End If
Next
myarr = Application.WorksheetFunction.Transpose(sheet.Columns(icol). _
SpecialCells(xlCellTypeConstants))
sheet.Columns(icol).Clear
For i = 2 To UBound(myarr)
sheet.Range(title).AutoFilter field:=vcol, Criteria1:=myarr(i) & ""
If Not Evaluate("=ISREF('" & myarr(i) & "'!A1)") Then
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = myarr(i) & ""
Else
Sheets(myarr(i) & "").Move after:=Worksheets(Worksheets.Count)
End If
xWSTRg.Range(title).Copy
Sheets(myarr(i) & "").Paste Destination:=Sheets(myarr(i) & "").Range("A1")
sheet.Range("A" & (titlerow + xTRg.Rows.Count) & ":A" & lr) _
.EntireRow.Copy Sheets(myarr(i) & "").Range("A" & (titlerow + xTRg.Rows.Count))
Sheets(myarr(i) & "").Columns.AutoFit
Next
xWSTRg.Delete
sheet.AutoFilterMode = False
sheet.Activate
Application.DisplayAlerts = True
End Sub
Here, Splitsheet() is the Sub procedure name and the variables lr , sheet , vcol , i , icol , myarr , title , titlerow , xTRg , xVRg , xWSTRg are declared as different data types by using the Dimension parameter.
Here, multiple IF and FOR loops have been used for splitting up the sheet into multiple sheets.
➤Press F5
Select the header row: Dialog Box will open up.
➤Select the range of the header row and Press OK .
Then Select the column on the basis of which split data: Wizard will pop up.
➤Select the Student Name column và nhấn OK .
Result :
Finally, you will get the three sheets for Daniel Defoe , Henry Jackson, and Donald Paul like below.
Here we have used the paste destination at the A1 cell, that’s why split data are started from that cell.
Đọc thêm: How to Split a Workbook to Separate Excel Files with VBA Code
Phần thực hành
For doing practice by yourself we have provided a Practice section like below in a sheet named Practice . Hãy làm điều đó một mình.
Kết luận
In this article, I tried to cover the easiest ways to split an Excel sheet into multiple sheets based on column value in Excel effectively. Hy vọng bạn sẽ thấy nó hữu ích. If you have any suggestions or questions feel free to share them with us.
Bài đọc thêm
- Split Sheets into Separate Workbooks in Excel (4 Methods)
- How to Open Two Excel Files Separately (5 Easy Methods)
- Open Multiple Excel Files in One Workbook (4 Easy Ways)
- How to View Excel Sheets in Separate Windows (4 Methods)