여러 엑셀 파일과 시트를 한 장으로 합칩니다. 반복되는 제목 줄은 한 번만 남기고, 어느 파일 어느 시트에서 온 줄인지 출처를 붙일 수도 있어요. 파일 개수나 용량 제한이 없고 브라우저 안에서 처리하기 때문에 회사 자료를 남의 서버에 올릴 일이 없습니다.
여러 엑셀 파일과 시트를 한 장으로 합치고, 반복되는 제목 줄은 한 번만 남깁니다. 어느 시트에서 온 줄인지 출처 열을 붙일 수 있고, CSV는 한글이 깨지지 않게 인코딩을 자동으로 판별합니다. 처리는 전부 브라우저 안에서 일어나므로 파일이 서버로 올라가지 않고, 그래서 파일 개수와 용량에 제한을 두지 않았습니다. 수식은 계산된 값으로 들어가고 글꼴·색 같은 서식은 따라오지 않습니다.
월별로 시트를 나누고, 지점별로 파일을 나누는 건 자료를 만들 때 편한 방식입니다. 1월 담당자가 1월 시트만 건드리면 되니 사고가 날 일이 없고, 지점마다 파일을 따로 주면 서로 덮어쓸 걱정도 없습니다. 그래서 현장에서는 거의 언제나 이렇게 쌓입니다.
문제는 쓸 때 생깁니다. 피벗 테이블도, 필터도, 함수도 전부 "한 장의 표"를 전제로 만들어져 있습니다. 시트 열두 개에 흩어진 1년치로는 피벗 하나 못 돌립니다. 그래서 연말마다 누군가 시트를 하나씩 열어 Ctrl+C, Ctrl+V를 스물네 번 합니다. 중간에 한 번 빠뜨리면 숫자가 안 맞고, 안 맞는 걸 찾느라 또 반나절이 갑니다.
이 도구는 그 복사 붙여넣기만 대신합니다. 파일을 넣고 합칠 시트를 고르면 한 장짜리 엑셀이 나오고, 그다음은 평소 하던 대로 피벗을 돌리면 됩니다. 시트가 몇 개든, 파일이 몇 개든 한 번에 처리합니다.
시트마다 맨 위에 "날짜 / 거래처 / 품목 / 수량 / 금액" 같은 제목 줄이 있습니다. 그냥 이어 붙이면 이 줄이 시트 개수만큼 표 중간중간에 끼어듭니다. 겉보기에는 구분선 같아 보여도 엑셀은 그걸 데이터로 읽습니다. 수량 열에 "수량"이라는 글자가 섞이면 합계가 안 나오고, 피벗 테이블에는 "수량"이라는 항목이 하나 생깁니다.
그래서 기본값은 첫 시트의 제목 줄만 남기고 나머지 시트의 첫 줄은 버리는 쪽입니다. 다만 이 판단은 모든 시트의 첫 줄이 제목이라는 전제 위에 있습니다. 어떤 시트는 제목 없이 바로 데이터로 시작한다면 그 시트의 첫 줄 한 개가 사라집니다. 목록에서 각 시트의 첫 줄을 미리 보여주는 건 그 때문이에요. 제목처럼 안 생긴 줄이 보이면 그 시트만 빼고 따로 합치시면 됩니다.
제목 줄의 항목 개수나 이름이 시트마다 다르면 목록에 표시해 드립니다. 열 순서가 다른 파일을 그대로 합치면 날짜 열에 거래처가 들어가는 식으로 어긋나기 때문에, 이 경고가 뜨면 원본을 먼저 맞추는 편이 안전합니다. 이 도구는 열 이름을 보고 순서를 알아서 맞춰 주지는 않습니다.
CSV는 글자를 어떤 규칙으로 저장했는지를 파일 안에 적어 두지 않습니다. 그래서 읽는 쪽이 짐작해야 하는데, 여기서 한국 사용자만 겪는 사고가 납니다. 한국어 윈도우의 엑셀은 "CSV로 저장"을 고르면 오래된 한국어 방식인 EUC-KR(CP949)로 저장하고, 요즘 웹 도구는 대부분 UTF-8로 읽습니다. 그 어긋남이 "홍길동"을 "ÈÁ±æµ¿"으로 만듭니다.
이 도구는 파일을 UTF-8로 먼저 읽어 보고, 깨진 글자가 나오면 EUC-KR로 다시 읽습니다. 맨 앞에 UTF-8 표식(BOM)이 붙어 있으면 그걸 우선합니다. 어느 쪽으로 읽었는지는 목록에 적어 두니, 미리보기에서 한글이 멀쩡한지 한 번 확인하고 합치세요.
합친 결과는 CSV가 아니라 엑셀 파일(.xlsx)로 내려갑니다. 엑셀 파일은 글자 규칙이 UTF-8로 고정되어 있어서 이 문제가 애초에 생기지 않습니다. 다시 CSV로 저장해야 한다면, 엑셀의 "CSV UTF-8(쉼표로 분리)" 항목을 고르면 남들도 깨지지 않게 열 수 있습니다.
수식은 계산된 값으로 들어갑니다. =B2*C2가 아니라 그 결과인 숫자가 담깁니다. 시트를 합치면 원래 참조하던 칸의 위치가 전부 바뀌기 때문에, 수식을 그대로 옮기면 엉뚱한 칸을 가리키게 됩니다. 값으로 고정하는 편이 안전하고, 합친 표 위에서 새로 수식을 걸면 됩니다.
다만 원본 파일이 계산 결과를 저장하지 않은 상태라면 그 칸은 비어서 나옵니다. 다른 프로그램이 만든 엑셀에서 가끔 생기는 일입니다. 이럴 때는 원본을 엑셀에서 한 번 열었다가 저장하면 결과가 파일에 기록됩니다.
글꼴, 색, 테두리, 조건부 서식, 그림, 차트는 따라오지 않습니다. 병합된 셀은 풀려서 같은 값이 각 칸에 채워집니다 — 합친 표에서 필터와 피벗이 제대로 돌게 하려면 이 편이 맞습니다. 숨겨 둔 행과 열도 그대로 들어옵니다. 숨김은 지운 것이 아니라 안 보이게 해 둔 것뿐이라 빼지 않았습니다. 빼야 한다면 원본에서 지운 뒤에 넣어 주세요. 이 도구가 보는 것은 값과 그 값이 놓인 위치뿐입니다. 서식까지 그대로 살려야 하는 문서라면 이 도구가 맞지 않습니다. 반대로 합쳐서 피벗이나 집계를 돌릴 자료라면 서식이 없는 편이 오히려 깔끔합니다. 날짜는 YYYY-MM-DD 형태의 글자로 통일하고, 시각이 함께 든 칸은 YYYY-MM-DD HH:MM, 시각만 든 칸은 HH:MM 으로 넣습니다.
확장자가 .xls인 예전 형식이면 이 도구가 읽지 못합니다. 2007년 이전 엑셀이 쓰던 형식이라 구조가 완전히 다릅니다. 엑셀에서 열어 다른 이름으로 저장 → Excel 통합 문서(*.xlsx)로 한 번 바꾼 뒤에 넣으세요. 암호가 걸린 파일도 열 수 없습니다. 암호를 풀고 저장한 사본을 쓰시면 됩니다.
표 아래쪽에 서식만 남고 내용이 없는 줄은 세지 않습니다. 그리고 제목 줄 처리를 켜 두면 시트 개수만큼 줄이 빠집니다. 시트 세 개를 합쳤다면 두 줄이 줄어드는 게 정상이에요.
원본에서 이미 글자였을 가능성이 큽니다. 엑셀에서 숫자 앞에 작은따옴표가 붙어 있거나 칸 서식이 "텍스트"로 되어 있으면 보기에는 숫자여도 속은 글자입니다. 합친 뒤 엑셀에서 해당 열을 골라 데이터 → 텍스트 나누기 → 마침을 누르면 한 번에 숫자로 바뀝니다.
사라지지 않습니다. 01234처럼 앞자리가 0인 값과 15자리가 넘는 긴 번호는 숫자로 바꾸지 않고 글자 그대로 둡니다. 우편번호, 사번, 계좌번호, 주민등록번호 앞자리가 여기 해당합니다. 반대로 1234나 -5000, 0.07처럼 진짜 숫자인 값은 숫자로 넣어서 합계와 피벗이 바로 됩니다.
안 됩니다. CSV는 쉼표로 나뉜 것만 읽습니다. 탭으로 나뉜 파일(.tsv를 .csv로 저장한 경우 등)은 한 칸에 전부 들어가 버려요. 엑셀에서 열어 다른 이름으로 저장 → Excel 통합 문서(*.xlsx)로 바꾼 뒤에 넣으시면 됩니다.
멈춘 게 아니라 읽는 중입니다. 파일을 읽을 때는 몇 번째 파일인지가 표시되고, 합칠 때는 진행률 막대가 찹니다. 처리 속도는 이 기기의 성능이 정합니다. 시험 삼아 10만 줄짜리를 넣어 보니 PC에서 읽는 데 1.5초, 합쳐서 내보내는 데 2초가 걸렸습니다. 휴대폰이나 오래된 기기에서는 이보다 더 걸리고, 줄 수가 아주 많으면 메모리가 모자라 브라우저가 탭을 닫아 버릴 수도 있습니다. 그럴 때는 파일을 나눠 두 번에 걸쳐 합치세요.
올라가지 않습니다. 파일을 읽고 합치고 내보내는 일이 전부 브라우저 안에서 일어나고, 인터넷을 끊어도 똑같이 동작합니다. 매출 자료나 인사 자료처럼 밖으로 나가면 곤란한 파일을 다루는 도구라 이 점이 중요합니다. 고른 파일을 브라우저에 저장하지도 않아서 탭을 닫으면 아무것도 남지 않습니다. 대신 새로고침하면 처음부터 다시 넣어야 해요. 파일 개수와 용량에 제한을 두지 않은 것도 서버 비용이 들지 않기 때문입니다.
일부러 그렇게 했습니다. 크로미움 계열 브라우저는 자동 내려받기에서 한글이 섞인 파일명을 안전하지 않다고 보고 버리거나 이상한 이름으로 바꿉니다. 그래서 영문 고정 이름으로 내려받은 뒤 이름을 바꾸도록 했습니다.