2 Excel 워크 시트의 내용을 특정 열을 기반으로 여러 통합 문서로 분할하는 빠른 방법

지금 공유 :

때로는 데이터 분석에서 특정 열에 따라 Excel 워크 시트의 내용을 여러 Excel 통합 문서로 분할해야 할 수 있습니다. 자,이 p에서ost, 우리는 그것을 얻는 두 가지 빠른 방법을 알려줄 것입니다.

많은 사용자가 방대한 데이터 행이 포함 된 Excel 워크 시트를 특정 열을 기준으로 여러 개의 개별 Excel 통합 문서로 분할해야하는 경우가 많습니다. 예를 들어 다음은 샘플 Excel 워크 시트입니다. "단일 라이선스 가격 (US $)"열을 기준으로이 시트의 데이터를 여러 통합 문서로 분할하고 싶습니다.

샘플 Excel 워크 시트

일반적으로 다음 방법 1을 사용하여 데이터를 수동으로 필터링하고 복사하는 경향이 있습니다. 그러나 필터 옵션이 너무 많으면 지루하고 어리석은 일입니다. 따라서 여기서는 훨씬 더 편리한 방법 인 VBA를 사용하는 방법 2도 보여줍니다. 이제 자세히 읽어보십시오.

방법 1 : 필터 후 별도의 Excel 통합 문서에 내용 복사

  1. 처음에는 특정 열의 셀을 선택합니다 (예 : 내 인스턴스의 "Cell B1").
  2. 그런 다음 "데이터"탭으로 이동하여 "필터"버튼을 클릭합니다.데이터 필터링
  3. 그런 다음 열 머리글에서 "아래쪽 화살표"버튼을 클릭하여 필터 선택 목록을 표시합니다.
  4. 이제 "(모두 선택)"옵션을 선택 취소합니다."모두 선택"을 선택 취소합니다.
  5. 그런 다음, 예에서 "29.95"와 같이 하나의 필터 선택을 선택하고 "확인"을 클릭 할 수 있습니다.
  6. 한 번에 B 열의 값이“29.95”인 데이터 만 남게됩니다.필터링 된 데이터 만 남음
  7. 그런 다음 필터링 된 데이터를 복사하여 새 Excel 통합 문서에 붙여 넣습니다.내용 복사 및 붙여 넣기
  8. 나중에 같은 방법으로 다른 데이터를 분리하여 Excel 통합 문서를 분리합니다.

방법 2 : VBA를 통해 콘텐츠를 여러 Excel 통합 문서로 일괄 분할

  1. 우선 특정 워크 시트가 열려 있는지 확인합니다.
  2. 다음으로,“Excel에서 VBA 코드를 실행하는 방법".
  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. 그 후 툴바에서“실행”아이콘을 클릭하거나“F5”키 버튼을 누르십시오.
  2. 매크로가 완료되면 원본 Excel 워크 시트의 분할 된 데이터로 별도의 Excel 통합 문서가 생성됩니다.새 Excel 통합 문서
  3. 각 통합 문서는 다음 스크린 샷과 같습니다.별도의 새 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

지금 공유 :

댓글이 닫혀있다.