
엑셀 업무를 오래 하면서도 처음에는 매크로를 굳이 써야 하나 싶었습니다. 수동으로 복사하고 붙여넣고 필터를 걸고 피벗테이블을 만들면 시간이 걸리긴 해도, 적어도 내가 직접 확인하면서 처리하니 더 안전하다고 생각했습니다. 그런데 매월 반복되는 정산 업무를 맡으면서 생각이 완전히 바뀌었습니다. 하루에 한두 번 하는 작업은 수동으로 해도 괜찮지만, 같은 순서를 매주 반복하고 파일 개수가 늘어나면 수동 작업은 실수와 피로가 같이 늘어났습니다.
제가 매크로를 본격적으로 쓰기 시작한 업무는 월간 매출 정리 작업이었습니다. 업무 기간은 2024년 2월부터 2024년 7월까지 약 6개월이었고, 매월 거래처별 매출 파일 8개에서 12개를 받아 하나의 통합 보고서로 만드는 일이었습니다. 파일당 행 수는 적게는 850행, 많게는 2,400행이었고, 한 달 평균으로는 약 12,400행 정도를 정리했습니다. 처음 2개월은 전부 수동으로 처리했고, 이후 4개월은 엑셀 VBA 매크로를 만들어 적용했습니다.
수동 작업으로 처리하던 업무 상황
수동 작업 순서는 매번 비슷했습니다. 먼저 거래처별 엑셀 파일을 열고, 불필요한 상단 설명 행을 삭제했습니다. 그다음 날짜 형식을 맞추고, 상품명 앞뒤 공백을 제거하고, 거래처 코드를 기준으로 VLOOKUP을 걸었습니다. 이후 매출 금액과 수량을 확인한 뒤, 통합 파일에 붙여넣고 피벗테이블로 거래처별 합계를 만들었습니다.
말로 쓰면 단순해 보이지만 실제로는 손이 많이 갔습니다. 한 달 평균 파일 10개를 기준으로 보면 파일 열기와 기본 정리에 약 35분, 데이터 복사와 통합에 약 42분, 함수 입력과 검증에 약 58분, 피벗테이블 작성과 보고서 서식 정리에 약 49분이 걸렸습니다. 총 작업 시간은 평균 184분, 즉 약 3시간 4분이었습니다. 가장 오래 걸린 달은 파일이 12개였던 2024년 3월이었고, 그때는 총 231분이 걸렸습니다.
수동 작업에서 가장 힘들었던 부분
수동 작업의 문제는 시간보다 실수였습니다. 2024년 2월에는 통합 파일에 데이터를 붙여넣는 과정에서 1개 거래처의 312행을 중복으로 넣은 적이 있었습니다. 보고서 제출 전 검산에서 발견해서 다행이었지만, 그 오류를 찾는 데만 27분이 추가로 걸렸습니다. 2024년 3월에는 날짜 형식이 일부 파일에서 텍스트로 들어와 피벗테이블 월별 집계가 틀어졌습니다. 이때는 12개 파일 중 3개 파일의 날짜 열을 다시 정리해야 했고, 추가 수정에 41분이 걸렸습니다.
제가 기록해둔 기준으로 수동 작업 2개월 동안 확인된 오류는 총 14건이었습니다. 중복 붙여넣기 2건, 날짜 형식 오류 4건, 거래처 코드 누락 3건, 함수 범위 지정 실수 3건, 피벗테이블 새로고침 누락 2건이었습니다. 숫자로 보면 한 달 평균 7건의 오류가 있었던 셈입니다. 대부분 제출 전에 잡았지만, 매번 검산에 시간을 많이 써야 했습니다.
매크로를 만들기로 한 이유
매크로를 만들기로 한 결정적인 계기는 2024년 3월 정산 마감일이었습니다. 오후 2시까지 보고서를 보내야 했는데, 오전 10시 20분에 거래처 파일 하나가 수정되어 다시 전달됐습니다. 수동으로 다시 통합하려면 기존 데이터 삭제, 새 파일 정리, 함수 재입력, 피벗 새로고침을 다시 해야 했습니다. 그날 최종 보고서를 보낸 시간이 오후 2시 17분이었고, 17분 늦었습니다.
그때부터 반복되는 작업을 매크로로 바꿔야겠다고 생각했습니다. 처음부터 모든 과정을 자동화한 것은 아니었습니다. 1차 목표는 파일 불러오기, 상단 행 삭제, 열 이름 통일, 날짜 형식 변환, 공백 제거, 통합 시트 붙여넣기까지였습니다. 피벗테이블과 최종 보고서 서식은 처음에는 수동으로 남겨두었습니다.
처음 만든 매크로와 실제 소요 시간
첫 번째 매크로는 2024년 4월 초에 만들었습니다. VBA 코드는 약 180줄 정도였고, 기능은 단순했습니다. 지정 폴더 안의 엑셀 파일을 순서대로 열고, 각 파일의 데이터 영역을 찾아 통합 시트에 붙여넣는 방식이었습니다. 테스트 파일은 총 5개, 데이터는 약 4,800행이었습니다.
첫 테스트 결과는 기대보다 좋았습니다. 수동으로 5개 파일을 정리하면 평균 82분이 걸렸는데, 매크로 실행 시간은 6분 40초였습니다. 다만 검산에 18분이 추가로 필요했습니다. 그래서 전체 소요 시간은 약 25분이었습니다. 순수 작업 시간만 보면 82분에서 25분으로 줄어 약 69.5% 단축된 셈입니다.
매크로도 처음부터 완벽하지 않았다
매크로를 쓰면서 실패 사례도 있었습니다. 가장 큰 실수는 병합 셀이 있는 파일을 고려하지 않은 것입니다. 2024년 4월에 거래처 한 곳에서 보낸 파일은 상단 제목 영역에 병합 셀이 있었고, 데이터 시작 행도 다른 파일과 달랐습니다. 제가 만든 매크로는 5행부터 데이터가 시작된다고 가정했는데, 그 파일은 7행부터 시작했습니다. 결과적으로 첫 두 줄의 설명 문구가 데이터처럼 들어갔고, 거래처 코드 열이 밀렸습니다.
이 오류를 발견한 뒤 수정하는 데 52분이 걸렸습니다. 매크로가 틀리면 수동 작업보다 더 위험할 수 있다는 것을 그때 알았습니다. 수동 작업은 눈으로 보면서 틀리지만, 매크로는 빠르게 틀립니다. 그래서 이후에는 매크로 실행 후 검증 시트를 따로 만들었습니다. 총 행 수, 금액 합계, 거래처 코드 누락 수, 날짜 오류 수를 자동으로 보여주는 검산 영역을 추가했습니다.
개선 후 매크로 작업 시간 변화
2024년 5월부터는 매크로를 조금 더 개선했습니다. 파일 불러오기와 통합뿐 아니라, 거래처 코드 매칭, 날짜 형식 변환, 피벗테이블 새로고침, 보고서 시트 기본 서식 적용까지 자동화했습니다. 코드 길이는 약 420줄로 늘었고, 실행 전 확인 메시지와 오류 발생 시 중단 기능도 넣었습니다.
개선 후 한 달 평균 작업 시간은 크게 줄었습니다. 2024년 5월에는 파일 9개, 약 11,200행을 처리하는 데 매크로 실행 8분, 검산 13분, 최종 확인 7분으로 총 28분이 걸렸습니다. 2024년 6월에는 파일 10개, 약 12,900행 기준으로 총 24분이 걸렸습니다. 2024년 7월에는 파일 11개, 약 13,700행 기준으로 총 31분이 걸렸습니다. 수동 작업 평균 184분과 비교하면, 매크로 적용 후 평균 27.6분으로 줄었습니다. 시간 단축률은 약 85%였습니다.
수동 작업 vs 매크로 작업 내 기준 표
| 구분 | 수동 작업 | 매크로 작업 | 체감 차이 |
|---|---|---|---|
| 월 평균 처리 파일 수 | 10개 | 10개 | 동일 기준 |
| 월 평균 데이터 행 수 | 12,400행 | 12,400행 | 동일 기준 |
| 평균 작업 시간 | 184분 | 27.6분 | 약 156분 단축 |
| 월 평균 오류 건수 | 7건 | 1.3건 | 검산 기준 안정화 |
| 가장 큰 실패 사례 | 312행 중복 붙여넣기 | 병합 셀로 열 밀림 | 둘 다 검산 필요 |
| 심리적 피로도 | 높음 | 중간 | 반복 클릭 감소 |
업무 효율이 실제로 바뀐 부분
매크로를 쓰고 가장 크게 바뀐 것은 마감일의 여유였습니다. 수동 작업을 할 때는 오전 9시에 시작해도 점심시간 전까지 계속 엑셀만 보고 있어야 했습니다. 중간에 전화가 오거나 다른 요청이 들어오면 흐름이 끊겼고, 다시 어디까지 했는지 확인해야 했습니다. 반면 매크로 적용 후에는 오전 9시 20분에 파일을 받은 뒤 9시 50분 전후에 1차 보고서가 나왔습니다.
특히 수정 파일이 들어왔을 때 차이가 컸습니다. 예전에는 거래처 파일 하나가 바뀌면 최소 30분에서 50분이 추가로 걸렸습니다. 매크로 적용 후에는 해당 파일을 폴더에 다시 넣고 실행하면 6분에서 9분 안에 통합 결과가 다시 나왔습니다. 2024년 6월에는 실제로 마감 당일 오전 11시 12분에 수정 파일 2개가 들어왔는데, 11시 28분에 재검산까지 마쳤습니다. 수동이었다면 점심시간을 넘겼을 가능성이 컸습니다.
매크로 도입 후에도 남긴 수동 확인 작업
모든 것을 매크로에 맡기지는 않았습니다. 제 기준에서 반드시 수동 확인하는 항목도 남겨두었습니다. 첫째, 거래처별 총 매출 합계입니다. 둘째, 전월 대비 증감률이 30% 이상인 거래처입니다. 셋째, 거래처 코드가 빈 행입니다. 넷째, 단가가 0원이거나 수량이 음수인 행입니다. 이 네 가지는 매크로가 표시해주지만, 최종 판단은 직접 했습니다.
예를 들어 2024년 7월 보고서에서 한 거래처의 매출이 전월 대비 43% 증가한 것으로 표시됐습니다. 처음에는 매크로 오류인 줄 알았지만, 실제로 신규 상품이 대량 출고된 건이었습니다. 반대로 다른 거래처는 매출이 38% 감소했는데, 확인해보니 파일 하나가 누락된 것이었습니다. 이처럼 매크로는 빠르게 이상값을 찾아주지만, 그 이유를 해석하는 것은 여전히 사람이 해야 했습니다.
매크로를 쓰며 새로 만든 업무 기준
매크로를 도입한 뒤 저는 나름의 기준을 만들었습니다. 첫째, 월 2회 이상 반복되는 작업은 자동화 후보로 둡니다. 둘째, 한 번 작업에 30분 이상 걸리면 매크로 적용 가능성을 검토합니다. 셋째, 파일 구조가 매번 크게 바뀌는 업무는 완전 자동화하지 않습니다. 넷째, 매크로 실행 전 원본 파일은 반드시 별도 폴더에 백업합니다. 다섯째, 자동화 후에도 검산표는 반드시 남깁니다.
이 기준을 만든 이유는 매크로가 항상 정답은 아니었기 때문입니다. 실제로 2024년 5월에 재고 파일 자동화도 시도했지만 실패했습니다. 재고 파일은 지점마다 양식이 너무 달랐고, 어떤 파일은 품목명이 B열에 있고 어떤 파일은 D열에 있었습니다. 이 작업은 매크로를 만들다 보니 예외 처리가 너무 많아졌고, 3시간을 써도 안정적으로 돌아가지 않았습니다. 결국 재고 파일은 수동 작업과 파워쿼리 조합으로 처리하는 것이 더 낫다고 판단했습니다.
최종 결론: 매크로는 시간을 줄이지만, 기준 없이 쓰면 위험하다
6개월 동안 엑셀 매크로와 수동 작업을 비교해본 결과, 제 업무에서는 매크로 효과가 확실했습니다. 수동 작업 평균 184분이 걸리던 월간 매출 정리 업무가 매크로 적용 후 평균 27.6분으로 줄었습니다. 한 달에 약 156분, 6개월 기준으로는 약 780분 이상을 절약한 셈입니다. 오류 건수도 월 평균 7건에서 1.3건 수준으로 줄었습니다.
하지만 매크로가 모든 문제를 해결해주지는 않았습니다. 병합 셀, 다른 데이터 시작 행, 누락 파일, 양식 변경 같은 예외 상황에서는 오히려 빠르게 잘못된 결과를 만들 수 있었습니다. 그래서 매크로를 쓸수록 검산 기준이 더 중요해졌습니다. 저는 지금도 매크로 실행 후 총 행 수, 금액 합계, 누락 코드, 날짜 오류, 전월 대비 증감률은 반드시 확인합니다.
직접 경험해보니 엑셀 매크로의 가장 큰 장점은 단순히 시간을 줄이는 것이 아니었습니다. 반복 클릭과 복사 붙여넣기를 줄여서 사람이 판단해야 할 부분에 더 집중하게 해주는 것이었습니다. 예전에는 보고서를 만드는 데 대부분의 시간을 썼다면, 이제는 보고서가 맞는지 해석하고 이상값을 찾는 데 시간을 씁니다.
제 기준에서 매크로를 추천하는 업무는 양식이 일정하고, 반복 주기가 짧고, 데이터 양이 많고, 검산 기준을 숫자로 만들 수 있는 작업입니다. 반대로 파일 양식이 자주 바뀌거나, 사람이 매번 판단해야 하는 업무는 무리하게 매크로로 만들지 않는 편이 낫습니다. 매크로는 잘 쓰면 업무 시간을 80% 이상 줄여주지만, 검산 없이 믿으면 실수를 더 크게 만들 수도 있습니다.
결론적으로 엑셀 매크로는 제 업무 방식 자체를 바꿨습니다. 수동 작업만 하던 때에는 ‘빨리 끝내는 것’이 목표였다면, 지금은 ‘반복 작업은 자동화하고, 사람은 확인과 판단에 집중하는 것’이 목표가 되었습니다. 처음부터 완벽한 매크로를 만들 필요는 없습니다. 저도 5개 파일, 4,800행 테스트에서 시작했습니다. 중요한 것은 작은 반복 작업 하나를 줄여보고, 실패한 부분을 기록하면서 내 업무에 맞는 자동화 기준을 만드는 것이라고 생각합니다.