때로는 데이터 분석에서 특정 열에 따라 Excel 워크 시트의 내용을 여러 Excel 통합 문서로 분할해야 할 수 있습니다. 자,이 p에서ost, 우리는 그것을 얻는 두 가지 빠른 방법을 알려줄 것입니다.
많은 사용자가 방대한 데이터 행이 포함 된 Excel 워크 시트를 특정 열을 기준으로 여러 개의 개별 Excel 통합 문서로 분할해야하는 경우가 많습니다. 예를 들어 다음은 샘플 Excel 워크 시트입니다. "단일 라이선스 가격 (US $)"열을 기준으로이 시트의 데이터를 여러 통합 문서로 분할하고 싶습니다.
일반적으로 다음 방법 1을 사용하여 데이터를 수동으로 필터링하고 복사하는 경향이 있습니다. 그러나 필터 옵션이 너무 많으면 지루하고 어리석은 일입니다. 따라서 여기서는 훨씬 더 편리한 방법 인 VBA를 사용하는 방법 2도 보여줍니다. 이제 자세히 읽어보십시오.
방법 1 : 필터 후 별도의 Excel 통합 문서에 내용 복사
- 처음에는 특정 열의 셀을 선택합니다 (예 : 내 인스턴스의 "Cell B1").
- 그런 다음 "데이터"탭으로 이동하여 "필터"버튼을 클릭합니다.
- 그런 다음 열 머리글에서 "아래쪽 화살표"버튼을 클릭하여 필터 선택 목록을 표시합니다.
- 이제 "(모두 선택)"옵션을 선택 취소합니다.
- 그런 다음, 예에서 "29.95"와 같이 하나의 필터 선택을 선택하고 "확인"을 클릭 할 수 있습니다.
- 한 번에 B 열의 값이“29.95”인 데이터 만 남게됩니다.
- 그런 다음 필터링 된 데이터를 복사하여 새 Excel 통합 문서에 붙여 넣습니다.
- 나중에 같은 방법으로 다른 데이터를 분리하여 Excel 통합 문서를 분리합니다.
방법 2 : VBA를 통해 콘텐츠를 여러 Excel 통합 문서로 일괄 분할
- 우선 특정 워크 시트가 열려 있는지 확인합니다.
- 다음으로,“Excel에서 VBA 코드를 실행하는 방법".
- 그런 다음 "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
- 그 후 툴바에서“실행”아이콘을 클릭하거나“F5”키 버튼을 누르십시오.
- 매크로가 완료되면 원본 Excel 워크 시트의 분할 된 데이터로 별도의 Excel 통합 문서가 생성됩니다.
- 각 통합 문서는 다음 스크린 샷과 같습니다.
비교
| 장점 | 단점 | |
| 방법 1 | 1. 모든 엑셀 사용자를위한 쉬운 운영 | 필터 선택이 너무 많으면 문제가 됨 |
| 2. 필터 선택이 거의없는 경우 빠름 | ||
| 방법 2 | 필터 선택 량에 관계없이 방법 1보다 훨씬 효율적입니다. | VBA 초보자를 위해 운영하기가 조금 어렵습니다. |
Excel 데이터 손실 방지
MS Excel은 점점 더 발전되고 정교 해지지 만 악의적 인 타사 추가 기능이나 인적 오류 등과 같은 기타 요인으로 인해 때때로 충돌하는 경향이 있습니다. Excel 충돌은 직접적으로 이어질 수 있기 때문에 Excel 손상, Excel 데이터 손실을 방지하기 위해 정기적으로 Excel 파일을 백업해야합니다. 그렇지 않으면 다음과 같은 Excel 복구 도구를 적용해야합니다. DataNumen Excel Repair 손상된 Excel 파일을 수정합니다.
저자 소개 :
Shirley Zhang은 데이터 복구 전문가입니다. DataNumen, Inc.는 다음과 같은 데이터 복구 기술 분야의 세계적 리더입니다. SQL Server 수리 및 전망 수리 소프트웨어 제품. 자세한 내용은 WWW.datanumen.COM







