엑셀 반복 업무 자동화, 매크로·파이썬·외주 중 무엇으로 해야 할까?
엑셀 안에서 끝나는 일은 매크로나 파워 쿼리로 충분합니다. 여러 파일과 시스템을 오가면 파이썬, 담당자가 바뀌어도 매일 돌아야 하면 외주 개발이 맞습니다. 직접 만들면 암호 걸린 파일, 깨진 csv, 조용한 실패에서 자주 멈춥니다.

엑셀 안에서 끝나는 일이면 매크로나 파워 쿼리로 충분합니다. 여러 형식의 파일을 모으거나 다른 시스템과 주고받아야 하면 파이썬이 맞고, 담당자가 바뀌어도 매일 정해진 시간에 돌아야 하는 업무라면 외주 개발을 검토할 때입니다. 도구를 고르기 전에 세 가지만 보면 됩니다. 업무가 엑셀 밖으로 나가는지, 누가 계속 고칠 수 있는지, 멈췄을 때 누가 알아채는지입니다.
매크로, 파워 쿼리, 파이썬, 외주는 각각 어디까지 할 수 있나요?
| 방법 | 잘하는 일 | 약한 곳 | 누가 고치나 |
|---|---|---|---|
| 매크로(VBA, 매크로 기록) | 서식 맞추기, 시트 나누기, 버튼 한 번으로 같은 작업 반복 | 파일 형식이 다양할 때, 다른 시스템 연결, 정해진 시간 실행 | 만든 사람 |
| 파워 쿼리 | 같은 양식의 파일 여러 개 합치기, 열 정리, 새로 고침 | 양식이 판매처마다 다를 때, 결과를 다른 곳에 올리는 일 | 엑셀을 잘 아는 직원 |
| 파이썬 | xlsx·xls·csv 섞인 파일 처리, 판매처 API 호출, 정해진 시간 실행 | 설치·실행 환경 관리, 코드를 읽을 사람이 필요 | 개발자 |
| 외주 개발 | 위 일 전부 + 실패 알림, 사용자 권한, 화면 | 비용, 처음 범위를 정하는 시간 | 계약한 업체 |
표에서 가장 중요한 칸은 마지막 열입니다. 자동화가 멈추는 이유는 대부분 도구 성능보다 고칠 사람이 없어서입니다.
엑셀 안에서 끝나는 일이면 매크로로 충분할까요?
네, 대부분 충분합니다. 매일 받는 보고서의 서식을 맞추고, 거래처별로 시트를 나누고, 피벗 표를 새로 고치는 일은 매크로 기록기로 녹화해 버튼에 연결하는 것만으로 줄어듭니다.
같은 양식의 파일 여러 개를 합치는 일이라면 매크로보다 파워 쿼리가 낫습니다. 폴더를 지정해 두면 새 파일을 넣고 새로 고침만 누르면 되고, 코드를 몰라도 단계가 화면에 남아 다른 직원이 따라 고칠 수 있습니다.
다만 매크로를 쓸 때 알아 둘 점이 있습니다.
- 메일로 받은 매크로 파일은 기본으로 막힙니다. 마이크로소프트 오피스는 인터넷에서 받은 파일의 매크로를 기본으로 차단합니다. 파일을 공유할 때마다 차단 해제 방법을 알려 줘야 합니다.
- 열 위치를 외워 둔 매크로는 양식이 바뀌면 틀린 값을 넣습니다. 판매처가 열 하나만 추가해도 오류 없이 엉뚱한 열을 옮깁니다. 열 이름으로 찾도록 만들어야 합니다.
- 만든 사람만 고칠 수 있는 경우가 많습니다. 매크로 코드는 엑셀 파일 안에 숨어 있어서 담당자가 바뀌면 존재 자체를 모르기도 합니다.
파이썬은 언제 필요한가요?
파일이 여러 형식으로 오거나, 엑셀 밖의 시스템과 데이터를 주고받아야 할 때입니다. 쇼핑몰 주문 정리가 대표적입니다. 판매처마다 xlsx, 구형 xls, 한글이 EUC-KR로 저장된 csv가 섞여 오고, 열 이름도 "수취인명", "수취인이름", "수령인"처럼 제각각입니다. 이런 차이를 흡수하는 규칙은 파이썬으로 쓰는 편이 관리하기 쉽습니다.
정해진 시간에 혼자 돌아야 하는 일도 파이썬 쪽입니다. 매일 오후 3시에 판매처 API로 주문을 가져와 택배 접수 파일을 만드는 일은 엑셀을 켜 둔 컴퓨터에 기대기 어렵습니다.
최근 엑셀에 생긴 Python in Excel은 이 용도와 다릅니다. 통합 문서 안의 데이터를 분석하는 기능이고, 계산은 마이크로소프트 클라우드에서 돌아서 내 컴퓨터 폴더나 외부 시스템에는 접근하지 않습니다. 파일을 모으고 다른 시스템에 올리는 자동화는 따로 실행되는 파이썬 프로그램이 필요합니다.
주문 엑셀 합치기 데모에서 형식이 다른 주문 파일 세 개를 한 시트로 합치는 과정을 직접 볼 수 있습니다. 파일은 서버로 올라가지 않고 브라우저 안에서만 처리됩니다.

외주 개발을 맡기는 게 나은 경우는 언제인가요?
아래 중 두 개 이상에 해당하면 직접 만들기보다 맡기는 쪽이 오래 갑니다.
- 이 업무가 하루라도 멈추면 출고나 정산이 밀린다.
- 지금 담당자 말고는 이 업무를 처리할 수 있는 사람이 없다.
- 판매처·택배사·ERP처럼 바깥 시스템과 데이터를 주고받는다.
- 고객 이름, 주소, 연락처 같은 개인정보를 다룬다.
- 실패했을 때 누군가 바로 알아야 한다.
외주로 맡길 때는 결과물만큼 계약 조건을 봐야 합니다. 소스 코드와 계정을 회사 명의로 받는지, 판매처 양식이 바뀌었을 때 누가 고치는지, 실패하면 어디로 알림이 오는지를 계약서에 적어 두면 담당자가 바뀌어도 업무가 이어집니다. 견적서에서 볼 항목은 업무 자동화 외주 견적 읽는 법에 있습니다.
직접 만들 때 자주 막히는 곳은 어디인가요?
엑셀 자동화가 처음엔 잘 돌다가 멈추는 지점은 비슷합니다.
- 암호가 걸린 엑셀 파일. 개인정보가 담긴 주문 파일은 암호를 걸어 내려받는 경우가 많습니다. 프로그램이 열지 못하므로, 암호를 푸는 단계를 사람이 하거나 처리 방식을 따로 정해야 합니다.
- 한글이 깨지는 csv. 윈도우 엑셀에서 저장한 csv는 EUC-KR인 경우가 많아, UTF-8로 읽으면 이름과 주소가 깨집니다.
- 날짜와 숫자가 글자로 저장된 칸. 주문번호 앞의 0이 사라지거나, 날짜가 정렬되지 않습니다.
- 병합된 셀과 합계 행. 사람이 보기 좋게 만든 표는 프로그램이 읽기 어렵습니다. 원본 데이터 시트와 보고용 시트를 나누면 대부분 해결됩니다.
- 조용한 실패. 오류 없이 0건을 처리하고 끝나는 경우입니다. 처리 건수를 매번 기록하고, 평소와 크게 다르면 알림을 보내야 합니다.
우리 업무는 어디에 해당하는지 어떻게 판단하나요?
한 주 동안 그 업무에 쓰는 시간을 재고, 아래 순서로 물어보면 대부분 답이 나옵니다.
- 엑셀 파일 하나 안에서 끝나는가? → 매크로 기록부터 시작합니다.
- 같은 양식의 파일 여러 개를 합치는가? → 파워 쿼리로 합칩니다.
- 형식이 다른 파일이 섞이거나 외부 시스템과 주고받는가? → 파이썬이 필요합니다. 사내에 코드를 볼 사람이 있는지 확인합니다.
- 멈추면 안 되고, 담당자가 바뀌어도 이어져야 하는가? → 외주 개발을 검토합니다.
어떤 업무부터 자동화할지 정하는 표는 반복 업무 자동화, 어떤 업무부터 맡겨야 할까에 있습니다. 루코 웍스는 주문 엑셀 합치기, 발주서 전표 입력처럼 범위가 분명한 업무를 업무 1개 300만 원부터(부가세 별도) 맡습니다.
자주 묻는 질문
매크로를 만들어 두면 다른 직원 컴퓨터에서도 그대로 돌아가나요?
같은 엑셀 버전, 같은 파일 위치, 같은 시트 이름일 때만 그대로 돌아갑니다. 메일이나 메신저로 받은 매크로 파일은 윈도우가 인터넷에서 온 파일로 표시해 매크로가 기본으로 막히므로, 파일 속성에서 차단을 풀거나 신뢰할 수 있는 위치에 두어야 합니다.
Python in Excel이 생겼는데 따로 파이썬을 설치할 필요가 없나요?
Python in Excel은 통합 문서 안의 데이터를 분석하는 기능입니다. 마이크로소프트 클라우드에서 계산하고 내 컴퓨터의 폴더나 다른 시스템에는 접근하지 않으므로, 여러 파일을 모으거나 판매처 API를 부르는 자동화에는 별도 파이썬 프로그램이 필요합니다.
프리랜서와 업체 중 어디에 맡기는 게 나은가요?
한 번 만들고 끝나는 작은 변환이면 프리랜서도 충분합니다. 매일 돌아가야 하고 판매처 양식이 바뀔 때마다 고쳐야 하는 업무라면, 실패 알림과 유지보수를 계약서에 넣을 수 있는지가 더 중요합니다.
자동화 외주는 비용이 얼마나 드나요?
범위에 따라 다릅니다. 루코 웍스는 주문 엑셀 합치기, 발주서 전표 입력처럼 범위가 분명한 업무를 업무 1개 300만 원부터(부가세 별도) 맡습니다.