Excel에서 열은 동일하지만 행 수가 다른 여러 워크시트의 데이터 통합

Excel에서 열은 동일하지만 행 수가 다른 여러 워크시트의 데이터 통합

여러 워크시트가 포함된 Excel 통합 문서가 있습니다. 모두 동일한 열 이름을 갖습니다. 그러나 행 수는 시트마다 다릅니다. 모든 시트의 모든 데이터를 볼 수 있는 개요 시트를 만들고 싶습니다. 모든 시트에 들어가서 두 번째 행의 데이터를 모든 시트의 데이터와 함께 마지막 행까지 복사하여 붙여 넣을 수 있습니다. 하지만 이 작업을 수행하는 더 쉬운 방법이 있다고 생각합니까?

당신의 도움을 주셔서 감사합니다!

답변1

이것은 VBA를 사용하는 솔루션입니다.

Public Sub overview()
    resultsheet = "Overview"
    Dim wkb As Workbook
    Dim wks, wks1 As Worksheet
    Set wkb = ThisWorkbook
    On Error GoTo SheetError:
        Set wks1 = wkb.Sheets(resultsheet)
    destrow = 1
    totalcolumn = 1
    totalwks = wkb.Sheets.Count
    For i = 1 To totalwks
        Set wks = wkb.Sheets(i) 'Iterate over all sheets
        wksname = wks.Name
        If wksname <> resultsheet Then 'Exclude the overview sheet
            rowdata = True
            columndata = True
            thisrow = 2
            thiscolumn = 1
            totalempty = 0
            While rowdata = True
                If i = 1 Then 'First sheet section
                    a = wks.Cells(thisrow - 1, thiscolumn)
                    If a <> "" Then
                        wks1.Cells(destrow, thiscolumn) = a
                        thiscolumn = thiscolumn + 1
                    Else
                        If thisrow = 2 Then
                            totalcolumn = thiscolumn
                        End If
                        totalempty = totalempty + 1
                        If totalempty = totalcolumn Then
                            rowdata = False
                        End If
                        If thiscolumn = totalcolumn Then
                            thisrow = thisrow + 1
                            thiscolumn = 1
                            destrow = destrow + 1
                            totalempty = 0
                        End If
                    End If
                Else ' Any other Sheet section
                    a = wks.Cells(thisrow, thiscolumn)
                    If a <> "" Then
                        rowdata = True
                        wks1.Cells(destrow, thiscolumn) = a
                        thiscolumn = thiscolumn + 1
                    Else
                        totalempty = totalempty + 1
                        If totalempty = totalcolumn Then
                            rowdata = False
                        End If
                        If thiscolumn = totalcolumn Then
                            thisrow = thisrow + 1
                            thiscolumn = 1
                            destrow = destrow + 1
                            totalempty = 0
                        End If


                    End If
                End If
            Wend

        End If
    Next i
    Exit Sub
SheetError:
    If Err.Number = 9 Then
        createwks = MsgBox("Worksheet " & resultsheet & " doesn't exist" & vbCrLf & "Do you want to create it?", vbYesNo, Error)
    End If
    If createwks = 6 Then
        Set wks1 = wkb.Worksheets.Add(After:=Worksheets(Worksheets.Count))
        wks1.Name = resultsheet
        Resume
    End If
End Sub

매크로/VBA를 열어야 합니다.이워크북모듈을 삽입하고 오른쪽에 이 코드를 붙여넣은 후 이를 실행하여 라는 시트의 내용을 확인합니다.개요끝날 때.

답변2

수동으로 할게요 :)

당신은 살펴볼 수 있습니다이 솔루션(위치별 데이터 통합), 비슷한 오버헤드를 볼 수 있습니다.

통합하려는 데이터가 포함된 각 워크시트에서 다음을 수행하여 데이터를 설정합니다.

각 데이터 범위가 목록 형식인지 확인하세요. 각 열의 첫 번째 행에 레이블이 있고 유사한 사실이 포함되어 있으며 목록 내에 빈 행이나 열이 없어야 합니다.

각 범위를 별도의 워크시트에 배치하되 통합을 배치하려는 워크시트에는 범위를 배치하지 마십시오.

각 범위의 레이아웃이 동일한지 확인하세요.

마스터 워크시트에서 통합된 데이터를 표시할 영역의 왼쪽 위 셀을 클릭합니다.

참고 대상 워크시트의 기존 데이터를 통합 중인 데이터로 덮어쓰지 않으려면 통합된 데이터에 대해 이 셀의 오른쪽과 아래에 충분한 셀을 남겨두어야 합니다.

...그리고 너무 오랫동안 ...

답변3

나는 이렇게 해도 아무런 이점이 없다고 생각합니다. 무엇을 해야 하는지는 알 수 없지만 여러 시트에 데이터를 나누어 놓았다면 그렇게 하는 이유가 있을 것이다. 이유가 있다면 함께 가입하는 이유는 무엇입니까? 나에게는 말이되지 않습니다. 좋아요, 제가 할 일은, 우선 왜 그때 모두 함께 보아야 합니까? 예, 편집 기능을 사용하여 특정 데이터를 찾으려는 경우에만 그렇습니다. 그런데 여러번 해야 하나요? 관련된 내용이 있는 경우 각 시트에 SUM 또는 기타 이력서를 만들고 새 시트에서는 분리된 각 스프레드시트의 해당 필드에 대한 상호 참조를 만듭니다. 전체 데이터를 복사하지 않고 데이터를 통합합니다. 딱 한 장에. 당신이 훌륭한 프로그래머라면 이를 복사하는 첫 번째 솔루션이 도움이 될 수 있지만 그렇게 간단하지는 않다는 것을 알게 될 것입니다. 마지막으로, 각 시트가 행 번호로 커지는 경우 SUM 또는 기타 항목이 맨 위와 맨 오른쪽에 있는지 확인하여 시트는 커지지만 통합 데이터는 영향을 받지 않도록 하세요.

관련 정보