엑셀 여러 파일 합치기: 폴더에서 자동 병합(Power Query)

엑셀 여러 파일 합치기: 폴더에 넣고 “자동 병합”까지 끝내는 가장 확실한 방법

매달 쌓이는 월별 매출 파일, 지점별 재고 파일, 팀별 실적 파일… “복사해서 한 시트로 붙여넣기”를 반복하다 보면, 어느 순간부터 열이 어긋나고 헤더가 중복되고 숫자가 텍스트로 바뀌고 파일이 추가될 때마다 다시 해야 합니다. 이 글은 엑셀 여러 파일 합치기를 “한 번 세팅 → 이후에는 폴더에 파일만 추가 → 새로고침 한 번”으로 끝내는 Power Query(파워 쿼리) 표준 절차를 중심으로, 열(스키마) 불일치/한글 CSV 인코딩/성능 문제까지 실무 기준으로 정리합니다.

Quick Fix: 3분 만에 “엑셀 여러 파일 합치기”

1) 폴더 준비 규칙(가장 중요)

  1. 한 폴더에 ‘합칠 원본 파일만’ 넣기(임시파일/백업/다른 형식 섞이면 오류 확률↑)
  2. 가능하면 열 이름(헤더)과 열 개수(스키마)를 통일
  3. 원본 범위는 테이블(Ctrl+T)로 만들어 저장(시트 범위보다 구조 변화에 강함)
  4. 파일 이름 규칙(예: Sales_2025-01.xlsx)을 통일

내부 참고: Power Query — 가져오기·정리·병합·추가·자동 새로고침 완전 가이드

2) Power Query로 폴더 연결(From Folder)

  • 영문 UI: Data → Get Data → From File → From Folder
  • 한글 UI: 데이터 → 데이터 가져오기 → 파일에서 → 폴더에서

3) Combine & Transform → 로드

  • 파일 목록 화면에서 Combine(결합) → Combine & Transform Data(결합 및 변환)
  • Power Query 편집기에서 Close & Load(닫기 및 로드)로 테이블 로드

4) 파일 추가 후 새로고침

폴더에 새 파일을 넣고, 데이터 → 모두 새로 고침(Refresh All)만 누르면 반영됩니다.

왜 Power Query가 “여러 파일 병합”에 최적인가?

복사/붙여넣기 vs Power Query vs 수식(VSTACK) 비교

  • 복사/붙여넣기: 당장 빠르지만 반복/휴먼에러/열 깨짐/유지보수 문제가 큼
  • 수식(VSTACK 등): 파일 수가 적고 구조가 완벽히 같으면 깔끔하지만 폴더 자동 수집에는 한계
  • Power Query: 폴더 단위 자동 결합 + 정리 규칙 저장 + 새로고침으로 운영에 최적

표/범위 병합 중심이라면: 엑셀 VSTACK·HSTACK·TOCOL·TOROW·TAKE·DROP — 표 합치기·재구성

“샘플 파일(Transform Sample File)”이 자동으로 만들어지는 원리

폴더 결합을 하면 Power Query가 대표 파일(샘플)에서 변환 규칙을 만들고, 그 규칙을 “함수”로 저장해 폴더 내 모든 파일에 적용한 뒤 하나의 테이블로 결합합니다.

실전 예제: 월별 매출 파일 12개를 한 테이블로 합치기

샘플 데이터(재현 가능)

DateStoreSKUQtyAmount
2025-01-03SeoulA001240000
2025-01-05BusanB120115000

단계별 클릭 경로(Windows/Mac 공통)

  1. 새 통합문서 열기
  2. 데이터 → 데이터 가져오기 → 파일에서 → 폴더에서
  3. 폴더 선택 → 파일 목록 확인
  4. 결합(Combine) → 결합 및 변환(Combine & Transform Data)
  5. 열 이름/형식 확인
  6. 닫기 및 로드(Close & Load)

파일명(출처) 컬럼 추가하기

Power Query 편집기에서 파일 목록 단계의 Name(파일명) 컬럼을 최종 결과까지 유지하면, 행의 출처를 쉽게 추적할 수 있습니다.

열(스키마)이 다를 때도 합치는 방법(실무 핵심)

추가 열/누락 열이 섞인 경우

샘플 파일 스키마 기준으로 열이 고정되면서 일부 열이 사라질 수 있습니다. 최종 열 목록을 정해 강제로 맞추는 방식이 안전합니다.

let
    Source = Excel.CurrentWorkbook(){[Name="Combined"]}[Content],
    KeepCols = {"Date","Store","SKU","Qty","Amount","Channel"},
    Fixed = Table.SelectColumns(Source, KeepCols, MissingField.UseNull)
in
    Fixed

헤더 행 위치가 다른 경우

샘플 파일 변환 단계에서 “위쪽 행 제거(Remove Top Rows)” 후 “첫 행을 머리글로(Use First Row as Headers)”를 적용해 전체 파일에 동일하게 적용되도록 합니다.

Power Query 기본기 참고: 엑셀 Power Query 기본기 가이드

CSV 여러 개 병합 + 한글 깨짐(인코딩)까지 같이 잡기

CSV는 인코딩/구분자/형식 자동 추정 때문에 더 자주 깨집니다. 미리보기에서 파일 원본(인코딩)을 UTF-8 또는 한국어(949)로 바꿔 확인하고, 가능하면 UTF-8로 통일하세요.

관련 글: 엑셀 CSV 한글 깨짐 완전 해결

Power Query 없이도 합치는 3가지 대안

(1) VSTACK/HSTACK: 표가 몇 개 안 될 때

=VSTACK(TAKE(TblJan,1), DROP(TblJan,1), DROP(TblFeb,1), DROP(TblMar,1))

(2) VBA 매크로: 회사 표준일 때

Sub MergeFilesInFolder()
    Dim folderPath As String, fileName As String
    Dim wb As Workbook, ws As Worksheet
    Dim master As Worksheet, nextRow As Long
    
    folderPath = "C:\Data\Sales\"
    Set master = ThisWorkbook.Worksheets("Master")
    nextRow = master.Cells(master.Rows.Count, 1).End(xlUp).Row + 1
    
    fileName = Dir(folderPath & "*.xlsx")
    Do While fileName <> ""
        Set wb = Workbooks.Open(folderPath & fileName)
        Set ws = wb.Worksheets(1)
        
        ws.UsedRange.Copy master.Cells(nextRow, 1)
        nextRow = master.Cells(master.Rows.Count, 1).End(xlUp).Row + 1
        
        wb.Close SaveChanges:=False
        fileName = Dir
    Loop
End Sub

(3) Python(pandas): 대량/배치 자동화

import glob
import pandas as pd

files = glob.glob(r"C:\Data\Sales\*.xlsx")
dfs = [pd.read_excel(f) for f in files]
out = pd.concat(dfs, ignore_index=True)
out.to_excel(r"C:\Data\Sales\merged.xlsx", index=False)

자동 새로고침 & 성능 최적화 체크리스트

  • 쿼리 속성에서 “파일 열 때 새로 고침”, “매 X분 새로 고침” 설정
  • 불필요 열은 초반에 제거(처리량 급감)
  • 형식 변환은 한 번에 정리
  • 폴더 잡파일 제거

Troubleshooting 표(증상 | 원인 | 해결법)

증상원인해결법
합쳤는데 어떤 열이 사라짐샘플 파일 스키마 기준으로 열이 고정됨SelectColumns + MissingField.UseNull로 열 강제 유지
헤더가 데이터로 들어옴파일마다 헤더 위치 다름샘플 파일에서 위쪽 행 제거 후 첫 행을 머리글로
한글이 깨짐(CSV)인코딩 불일치가져오기에서 UTF-8/한국어(949) 선택, 가능하면 UTF-8 통일
너무 느림불필요 열/단계 과다/폴더 잡파일열 조기 제거, 단계 단순화, 폴더 정리

합친 뒤 중복이 고민이면: 엑셀에서 중복 값을 제거하는 가장 쉬운 방법

맺음말

오늘 세팅한 “폴더 병합”은 한 번만 제대로 만들면, 다음 달부터는 파일을 폴더에 넣고 새로고침만 하면 끝입니다. 운영 자동화/성능까지 확장하려면 위의 관련 글도 같이 묶어 보세요.

Leave a Reply

Your email address will not be published. Required fields are marked *