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

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


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

​

네, 여러 시트에 입력된 내용을 하나의 시트에 모으는 방법은 여러 가지가 있습니다. 가장 흔히 사용하는 방법은 수식을 활용하는 것과 매크로(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%

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