Excel 시트를 여러 시트로 분할하는 가장 쉬운 방법을 찾고 있다면 열 값을 기준으로 하면 이 기사가 유용하다는 것을 알게 될 것입니다.
때로는 하나의 열을 기반으로 많은 데이터 집합을 분할하고 메인 시트를 분할한 후 여러 시트에서 작업해야 하는 경우가 있습니다. 이 작업을 효과적으로 수행하는 방법을 알아보기 위해 기사를 살펴보겠습니다.
통합 문서 다운로드
열 값에 따라 Excel 시트를 여러 시트로 분할하는 5가지 방법
나는 대학에서 다른 학생들의 결과를 포함하는 다음 데이터 테이블을 사용할 것입니다. 학생 이름 열 을 기준으로 이 시트를 3개의 시트로 분할합니다. 세 학생을 위해.
이를 위해 저는 Microsoft Excel 365 를 사용하고 있습니다. 버전이지만 편의에 따라 다른 버전을 사용할 수 있습니다.
방법-1 :열 값에 따라 시트를 여러 시트로 분할하는 FILTER 기능
학생 이름 열을 기준으로 데이터시트를 여러 시트로 분할하려는 경우 , 그런 다음 FILTER 기능을 사용할 수 있습니다. . 여기에서는 Daniel Defoe에 대한 데이터가 포함된 다음 시트를 세 개의 시트로 분할하겠습니다. , 헨리 잭슨, 및 도널드 폴 각각.
01단계 :
➤ 세 학생의 이름을 따서 세 개의 시트를 만듭니다.
➤ B3와 같은 셀을 선택합니다. 학생 Daniel Defoe용 시트에서 .
➤ 다음 수식을 입력하십시오.
=FILTER(Filter!B5:D16,Filter!B5:B16="Daniel Defoe")
필터!B5:D16 필터 라는 이름의 기본 시트에 헤더가 없는 데이터 범위입니다. 및 필터링!B5:B16 학생 이름 의 범위입니다. 기본 시트에 표시되며 'Daniel Defoe'와 같습니다. .
➤ Enter를 누르십시오.
이제 학생 Daniel Defoe 에 대한 데이터를 얻을 수 있습니다. 이 학생의 시트에 있습니다.
➤ 모든 열 위에 헤더 이름을 입력하고 이 데이터 테이블에 대한 테두리를 만듭니다.
02단계 :
Step-01 을 따른 후 학생의 Henry Jackson 에 대한 다른 두 시트에 대한 이 방법의 및 도널드 폴 각각의 시트에 다음 두 개의 테이블이 표시됩니다.
자세히 알아보기: Excel VBA:행을 기반으로 시트를 여러 시트로 분할
방법-2 :열 값에 따라 시트를 여러 시트로 분할하는 피벗 테이블
학생 이름 열을 기준으로 다음 시트를 3명의 학생에 대해 3개의 시트로 분할할 수 있습니다. 피벗 테이블을 사용하여 .
01단계 :
➤ 삽입 으로 이동 탭>>피벗 테이블 옵션
그런 다음 표 또는 범위의 피벗 테이블 대화 상자가 나타납니다.
➤ 표/범위 선택
➤ 새 워크시트를 클릭합니다. (피벗 테이블 새 시트로)
➤ 확인을 누릅니다.
그런 다음 두 부분으로 구성된 새 시트가 열립니다. 피벗 테이블1 및 피벗 테이블 필드 .
➤ 학생 이름 을 아래로 드래그 필터 에서 영역(기본 시트를 여러 시트로 분할하려는 기준 열) 및 제목 및 등급 행 지역.
➤ 디자인 으로 이동 탭>>레이아웃 그룹>>보고서 레이아웃 드롭다운>>개요 형식으로 표시 옵션
➤ 디자인 팔로우 탭>>레이아웃 그룹>>총계 드롭다운>>행 및 열에 대해 해제 옵션.
➤ 그런 다음 피벗 테이블 분석 으로 이동합니다. 탭>>피벗 테이블 그룹>>옵션 드롭다운>>보고서 필터 페이지 표시 옵션.
그런 다음 보고서 필터 페이지 표시 마법사가 나타납니다.
➤ 학생 이름 열을 선택합니다. 필터 에 있던 지역.
➤ 확인을 누릅니다. .
결과 :
그 후 세 명의 학생 Daniel Defoe에 대해 세 가지 다른 시트를 받게 됩니다. , 헨리 잭슨, 및 도널드 폴 각각.
자세히 알아보기: 행을 기반으로 Excel 시트를 여러 시트로 분할
방법-3 :테이블 옵션 사용
학생 이름 열 을 기반으로 기본 시트를 여러 시트로 분할하기 위해 표를 사용할 수 있습니다. 옵션.
01단계 :
➤ 세 학생의 이름을 따서 세 개의 시트를 만듭니다.
➤기본 시트에서 데이터 테이블을 복사하여 이 세 가지 시트에 붙여넣습니다.
02단계 :
➤ 삽입 으로 이동 탭>>표 옵션
그런 다음 표 만들기 대화 상자가 나타납니다.
➤ 데이터 선택 테이블 .
➤ 내 테이블에 헤더가 있음을 클릭합니다.
➤ 확인을 누릅니다.
그러면 다음과 같은 테이블이 생성됩니다.
➤ 표 디자인 으로 이동 탭>>도구 드롭다운>>슬라이서 삽입 옵션
그 후 슬라이서 삽입 대화 상자가 나타납니다.
➤ 학생 이름 열 선택 (시트를 분할할 기준 열)
➤ 확인을 누릅니다. .
그 다음에는 학생 이름 세 가지 옵션(세 학생 이름)이 있는 상자가 나타납니다.
➤ Daniel Defoe 를 클릭하십시오. 이 학생의 시트를 위해.
결과 :
학생 Daniel Defoe 에 대한 데이터를 받게 됩니다. 이 학생의 시트에 있습니다.
03단계 :
➤ Step-02 따르기 다른 두 장을 위해.
이 방법으로 Henry Jackson 에 대한 다른 두 시트를 만듭니다. 및 도널드 폴 아래와 같이
자세히 알아보기: Excel 시트를 여러 파일로 분할하는 방법(3가지 빠른 방법)
유사한 수치
- How to Split Screen in Excel (3 Ways)
- [Fix:] Excel View Side by Side Not Working
- How to Enable Side-by-Side View with Vertical Alignments in Excel
Method-4 :Using Filter Option
For splitting the main sheet into multiple sheets based on the Student Name column I will use the Filter option in this method.
Step-01 :
➤Create three sheets named after the three students’ names.
➤Copy the data table from the main sheet and paste it into these three different sheets.
Step-02 :
➤Select the data table
➤Go to Data Tab>>Filter Option
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.
자세히 알아보기: 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 and press 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.
자세히 알아보기: How to Split a Workbook to Separate Excel Files with VBA Code
Practice Section
For doing practice by yourself we have provided a Practice section like below in a sheet named Practice . Please do it by yourself.
결론
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. 당신이 그것을 유용하게 찾을 수 있기를 바랍니다. If you have any suggestions or questions feel free to share them with us.
추가 자료
- 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)