여러 시트 한 장으로 합치기, 복사 붙여넣기 말고 3가지 방법
지점별로 시트가 나뉘어 있거나, 월별로 파일이 따로 온 데이터를 한 장으로 합쳐야 할 때가 있습니다.
대부분 복사-붙여넣기로 해결합니다. 시트가 세 개면 그게 제일 빠른 것도 맞습니다. 문제는 이 작업이 매달 반복될 때입니다. 열두 개 시트를 매달 붙여넣다 보면 한 번쯤 빠뜨리게 되고, 빠뜨린 걸 알아채는 건 보통 보고 이후입니다.
합치기 전에 반드시 맞출 것
어떤 방법을 쓰든 시트마다 열 이름과 순서가 같아야 합니다. 여기가 안 맞으면 어떤 도구를 써도 결과가 어긋납니다.
- 한쪽은
거래처, 다른 쪽은거래처명→ 다른 열로 인식됩니다 - 열 순서가 다르면 → 파워쿼리는 이름으로 맞추지만, VSTACK과 복사는 위치로 붙습니다
- 머리글 위에 제목 행이나 빈 행이 있으면 → 데이터로 섞여 들어갑니다
합치는 작업보다 이 정리에 시간이 더 드는 경우가 많습니다. 순서를 뒤집지 마세요.
방법 1. 파워쿼리 (매달 반복한다면 이것)
세팅에 10분쯤 걸리지만, 다음 달부터는 새로고침 한 번입니다.
같은 파일 안의 여러 시트를 합칠 때
- 각 시트의 데이터를 표로 만듭니다 (
Ctrl + T) - 표 안 클릭 →
데이터→테이블/범위에서→ 파워쿼리 편집기가 열림 홈→닫기 및 다음으로 로드→연결만 만들기선택- 모든 시트에 대해 1~3을 반복
데이터→데이터 가져오기→쿼리 결합→추가3개 이상의 테이블선택 후 합칠 쿼리를 모두 오른쪽으로 이동닫기 및 로드
3번에서 '연결만 만들기'를 고르는 게 중요합니다. 그냥 로드하면 시트마다 결과 시트가 하나씩 더 생겨서 파일이 지저분해집니다.
폴더 안의 여러 파일을 합칠 때
월별로 파일이 따로 온다면 이쪽이 훨씬 강력합니다.
데이터→데이터 가져오기→파일에서→폴더에서- 파일들이 든 폴더 선택
결합→데이터 결합 및 변환- 샘플 파일에서 합칠 시트를 선택 → 확인
이렇게 하면 폴더에 파일을 하나 더 넣고 새로고침만 눌러도 자동으로 포함됩니다. 다음 달에 할 일이 "파일을 폴더에 넣기"로 끝납니다.
방법 2. VSTACK 함수 (Microsoft 365)
365를 쓴다면 수식 한 줄이면 됩니다.
=VSTACK(서울!A2:F1000, 부산!A2:F1000, 대구!A2:F1000)
머리글은 한 번만 나오게 A2부터 잡는 게 요령입니다. 빈 행이 딸려오는 게 싫다면 FILTER로 감쌉니다.
=LET(x, VSTACK(서울!A2:F1000, 부산!A2:F1000), FILTER(x, INDEX(x,,1)<>""))
주의할 점이 있습니다. VSTACK은 2022년 이후 추가된 함수라 Excel 2021 이하에서는 파일을 열어도 #NAME?이 뜹니다. 파일을 다른 사람과 주고받는다면 파워쿼리가 안전합니다.
방법 3. 통합 기능 (합계만 필요할 때)
원본 행을 다 모을 필요 없이 항목별 합계만 필요하다면 이 기능이 가장 빠릅니다.
- 결과를 넣을 빈 셀 클릭
데이터→통합- 함수는
합계, 참조에 각 시트 범위를 추가 첫 행과왼쪽 열체크
지점별 시트를 품목별 합계 한 장으로 줄일 때 유용합니다. 다만 원본 데이터가 남지 않으므로 검증이 필요한 작업에는 맞지 않습니다.
자주 막히는 지점 세 가지
① 합쳤더니 어느 시트에서 온 데이터인지 알 수 없음
합치기 전에 각 시트에 출처 열을 하나 추가하세요. 지점 열을 만들고 서울 시트에는 "서울"을 채우는 식입니다.
파워쿼리로 폴더를 합칠 때는 자동으로 Source.Name 열이 생기므로 따로 만들 필요가 없습니다. 이 열이 있어야 나중에 피벗으로 지점별 집계를 낼 수 있습니다.
② 숫자 열이 텍스트로 바뀜
파워쿼리가 첫 200행만 보고 데이터 형식을 자동으로 정하는데, 앞부분에 빈 값이나 문자가 섞여 있으면 전체를 텍스트로 잡습니다.
편집기에서 해당 열 머리글을 클릭하고 데이터 형식을 10진수나 정수로 직접 지정하세요. 오른쪽 적용된 단계에서 변경된 유형 단계를 지우고 다시 설정하는 게 확실합니다.
③ 시트를 추가했는데 결과에 안 나옴
'추가' 방식은 쿼리 목록에 등록된 것만 합칩니다. 시트를 새로 만들었다면 그 시트도 쿼리로 만들어서 추가 목록에 넣어야 합니다.
이 번거로움이 싫다면 처음부터 폴더에서 가져오기 방식으로 설계하세요. 파일만 넣으면 자동으로 포함됩니다.
자주 묻는 질문
Q. 시트가 30개인데 파워쿼리로 하나씩 등록해야 하나요?
같은 파일 안이라면 그렇습니다. 그래서 시트 수가 많다면 애초에 시트를 나누지 말고 구분 열 하나로 한 시트에 쌓는 구조가 낫습니다. 이미 나뉘어 있다면 각 시트를 별도 파일로 저장한 뒤 폴더에서 가져오기를 쓰는 편이 빠릅니다.
Q. 파워쿼리가 없는 버전인데요?
Excel 2016부터는 기본 내장입니다. 2010과 2013은 마이크로소프트에서 제공하던 추가 기능을 설치해야 했지만 현재는 지원이 종료됐습니다. 이 경우 복사-붙여넣기나 통합 기능을 쓰셔야 합니다.
Q. 합친 뒤 원본을 수정하면 반영되나요?
파워쿼리는 새로고침을 눌러야 반영됩니다(Ctrl + Alt + F5). VSTACK은 수식이라 즉시 반영됩니다.
Q. 구글 시트에서도 되나요?
파워쿼리는 없지만 =QUERY({서울!A2:F; 부산!A2:F}, "select *") 형태로 중괄호와 세미콜론을 써서 세로 결합이 가능합니다. 다른 파일이라면 IMPORTRANGE를 함께 씁니다.
정리
- 합치기 전에 열 이름과 순서부터 통일
- 매달 반복이면 파워쿼리, 특히 폴더에서 가져오기
- VSTACK은 365 전용 — 공유 파일에는 부적합
- 출처 열을 꼭 만들 것
관련 글
- 거래처별 매출 집계, SUMIF 말고 피벗테이블로 하는 법
- 두 파일 대사, 눈으로 비교하지 말고 COUNTIF로 끝내기
- 엑셀 중복 데이터, 지우기 전에 먼저 확인하는 법
댓글
댓글 쓰기