엑셀 여러시트의 셀 내용들을 한시트에 모을수 있는 방법 있나요?

엑셀 여러시트의 셀 내용들을 한시트에 모을수 있는 방법 있나요?


엑셀 여러시트의 셀 내용들을 한시트에 모을수 있는 방법 있나요에 관련된 질문이시네요.

네, 여러 시트에 입력된 내용을 하나의 시트에 모으는 방법은 여러 가지가 있습니다. 가장 흔히 사용하는 방법은 수식을 활용하는 것과 매크로(VBA)를 사용하는 방법입니다. 여기서는 수식을 이용하는 간단한 방법을 설명하겠습니다.

1. 예를 들어, 각각의 시트 이름이 '1일', '2일', '3일'... '30일'인 경우를 가정하겠습니다.

2. 모을 시트 이름을 '통합'이라고 하겠습니다.

이제 '통합' 시트에 다음과 같은 수식을 넣어 내용을 모을 수 있습니다.

=IFERROR(INDIRECT("'"&ROW()-ROW($A$1)+1&"일'!A1"),"")

이 수식을 사용하는 방법:

• '통합' 시트의 A1 셀에 넣고, 필요한 만큼 아래와 오른쪽으로 드래그해서 복사하세요.

• 이 수식은 각 시트의 같은 위치 셀 값을 불러옵니다.

• 시트 이름이 숫자+일 형식이 아닌 경우, 수식을 적절히 수정해야 합니다.

좀 더 체계적이고 빠르게 데이터를 모으는 방법은 다음과 같습니다:

• 데이터가 각각의 시트의 동일한 셀 위치에 저장되어 있다면, 위 방법으로 수식을 복수로 작성하여 원하는 범위까지 확장하면 됩니다.

• 여러 셀 데이터를 한번에 수집하려면 배열 수식을 활용하거나, 아래의 VBA 매크로를 사용하는 것도 고려하세요.

VBA를 활용하는 방법 (개발자 탭에서 매크로 실행):

`vba

Sub ConsolidateSheets()

Dim ws As Worksheet

Dim masterWs As Worksheet

Dim lastRow As Long

Dim pasteRow As Long

pasteRow = 2 ' 통합 시트에서 데이터를 넣기 시작하는 행

Set masterWs = ThisWorkbook.Sheets("통합")

masterWs.Cells.Clear ' 기존 데이터 삭제

For Each ws In ThisWorkbook.Worksheets

If ws.Name <> "통합" Then

lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

ws.Range("A1:A" & lastRow).Copy

masterWs.Cells(pasteRow, 1).PasteSpecial Paste:=xlPasteValues

pasteRow = masterWs.Cells(masterWs.Rows.Count, "A").End(xlUp).Row + 1

End If

Next ws

End Sub

`

이 매크로는 모든 시트의 A열 내용을 '통합' 시트에 연속으로 복사하는 방법입니다. 필요에 따라 범위와 세부사항을 조정하세요.

이와 같은 방법으로 여러 시트의 데이터를 한 곳에 모아 쉽게 관리할 수 있습니다.

광고 [X]를 누르면 내용이 해제됩니다

AI 분석 및 채팅

3/3
시스템 리소스 로딩 중... 0%

여기를 클릭하면 빠른 로딩(가속)이 가능합니다.