엑셀 매크로 · 크롤링 · RPA
반복 작업을 프로그램에 맡기는 법
· 이음웍스

매일 아침 거래처 세 곳의 사이트를 돌며 단가를 엑셀에 옮겨 적는다. 주문 내역을 내려받아 양식에 맞게 고치고 합계를 낸다. 어렵지는 않은데 매일 하면 지칩니다. 순서가 늘 같은 일이라면 프로그램에 맡길 수 있습니다.
찾아보면 이름이 여럿 나옵니다. 엑셀 매크로, VBA, 크롤링, RPA. 어려운 말 같지만 하나씩 보면 간단합니다.
이름부터 — 매크로 · 크롤링 · RPA
- 엑셀 매크로 · VBA엑셀에서 하던 동작을 기록해 두고 버튼 하나로 다시예) 주문 파일을 양식에 맞게 고치고 합계 내기
- 크롤링사이트에 올라온 정보를 읽어 와 표로 모으기예) 거래처 세 곳의 단가를 매일 한 표로
- RPA사람이 화면에서 하던 클릭 · 입력을 그대로 따라 하기예) 메일 첨부를 내려받아 사내 프로그램에 입력
- 자동화 프로그램여러 단계를 이어 정해진 시각에 혼자 돌기예) 아침 9시에 모으고 · 정리하고 · 보내기
엑셀 매크로와 VBA가 늘 같이 나오는 것은, 매크로로 기록한 동작이 VBA라는 말로 저장되기 때문입니다. 이름은 넷이어도 하는 일은 하나입니다. 사람이 하던 순서를 그대로 적어 두고 프로그램에 시키는 것입니다.
내 일에는 무엇이 맞나
이름보다 먼저 볼 것은 그 일이 어디서 일어나느냐입니다.
지금 손으로 하는 일은…
- 엑셀 파일 안에서 끝난다엑셀 매크로 · VBA
- 여러 사이트를 돌며 정보를 모은다크롤링 (먼저 공식 내려받기 확인)
- 여러 프로그램 화면을 오가며 클릭 · 입력한다RPA
- 위의 일을 매일 정해진 시각에 이어서 한다자동화 프로그램
실제로는 하나로 끝나지 않는 경우가 많습니다. "사이트에서 단가를 모아(크롤링) → 엑셀 양식에 채우고(엑셀 자동화) → 아침 9시에 혼자 돈다(자동화 프로그램)"처럼 이어 붙입니다. 그래서 맡기실 때는 도구 이름보다 지금 손으로 하는 순서를 처음부터 끝까지 알려 주시는 것이 가장 좋습니다.
맡기기 좋은 일, 사람이 하는 게 나은 일
| 맡기기 좋은 일 | 사람이 하는 게 나은 일 | |
|---|---|---|
| 순서 | 늘 같다 | 그때그때 다르다 |
| 얼마나 자주 | 매일 · 매주 | 몇 달에 한 번 |
| 들어오는 자료 | 같은 양식 · 같은 사이트 | 매번 모양이 다르다 |
| 판단 | 규칙으로 적을 수 있다 | 사람이 보고 정해야 한다 |
판단이 매번 달라지는 일은 프로그램이 대신하기 어렵습니다. 대신 판단 앞뒤의 옮겨 적기와 모으기만 맡겨도 시간은 꽤 줄어듭니다. 사람은 다 모인 표를 보고 판단만 하면 됩니다.

맡길지 망설여지면 한 달에 몇 시간이 드는지 계산해 보세요. 하루 30분짜리 일도 쌓이면 적지 않습니다.
크롤링 전에 확인할 것
크롤링은 남의 사이트에서 정보를 가져오는 일이라, 만들기 전에 확인할 것이 있습니다.
- 1공식으로 받는 길이 있나API · 엑셀 내려받기 · 연동 기능
- 2약관이 막고 있지 않나이용약관 · robots.txt
- 3로그인해야 보이는 정보인가회원만 보는 정보는 약관과 권한을 따로 본다
- 4개인정보가 섞여 있나이름 · 연락처는 모으지 않는다
- 5상대 서버에 무리가 없나간격을 두고, 필요한 만큼만
가장 먼저 볼 것은 공식으로 받아 오는 길입니다. 공공기관 정보는 공공데이터포털에서 정해진 방식(API)으로 내려받을 수 있는 경우가 많고, 쇼핑몰이나 거래처 사이트도 엑셀 내려받기나 연동 기능을 두기도 합니다. 이런 길이 있으면 화면을 읽어 오는 것보다 훨씬 덜 망가집니다.
크롤링 자체가 금지된 것은 아닙니다. 다만 2~4번에 걸리거나, 남의 자료를 통째로 베껴 같은 서비스를 만드는 것이라면 문제가 될 수 있어서 만들기 전에 같이 확인합니다.
사이트가 바뀌면 멈춥니다
크롤링과 RPA는 화면의 모양을 보고 일합니다. 그래서 상대 사이트가 화면을 바꾸면 어느 날 아침 멈춥니다. 고장이 아니라 원래 그런 것이라, 처음부터 멈췄을 때 알아차리고 고치는 길을 정해 두는 것이 중요합니다.
모른 채 돌아갈 때
- 1상대 사이트가 화면을 바꾼다
- 2프로그램이 빈칸 · 엉뚱한 값을 읽는다
- 3그대로 엑셀에 채워진다
- 4며칠 뒤에야 숫자가 틀린 걸 안다
멈추고 알리게 만들었을 때
- 1상대 사이트가 화면을 바꾼다
- 2값이 비었거나 평소와 크게 다르다
- 3멈추고 문자 · 메일로 알린다
- 4어제까지 모은 자료는 그대로
가장 나쁜 것은 멈춘 줄 모르고 틀린 숫자를 계속 믿는 것입니다. 그래서 저는 처음부터 「멈추고 알리게」 쪽으로 만듭니다.
실제로 만든 예 — 혜택모아
제가 만든 혜택모아는 전국의 정부 · 지자체 지원 정책을 한곳에 모아, 나이와 사는 곳만 고르면 받을 수 있는 혜택을 골라 주는 서비스입니다. 겉으로는 검색 사이트지만, 뒤에서는 자동화가 돌고 있습니다.

매일 새벽 공공기관이 공개한 최신 정책을 가져와 정리합니다. 사람이 하나하나 입력하거나 고칠 필요가 없고, 모아 온 정책은 분야 · 지역별로 나뉘어 바로 찾아볼 수 있습니다.

가져오다 중간에 오류가 나도 이미 모아 둔 정보는 그대로 남게 했습니다. 위에서 말한 「조용히 틀린 값을 내지 않게」를 실제로 챙긴 부분이고, 작은 엑셀 자동화라도 같은 원칙으로 만듭니다.
맡지 않는 것
- 예매 · 수강신청 매크로남보다 빨리 누르게 하는 프로그램
- 사이트 약관을 어기는 자동화약관이 막은 수집 · 대량 가입 · 대량 게시
- 종목 추천 · 매매 신호 판매남에게 파는 투자 신호
「매크로 프로그램」이라는 말은 공연 예매나 수강신청을 남보다 빨리 누르는 프로그램을 가리킬 때도 쓰입니다. 그런 매크로는 다른 사람의 기회를 빼앗고 사이트 약관에도 어긋나서 맡지 않습니다. 내 일의 반복을 줄이는 매크로와는 다른 이야기입니다.
맡길 때 준비할 것
설명서를 쓰실 필요는 없습니다. 지금 하는 순서를 그대로 적어 주시면 됩니다.
자동화 요청 메모
- 하는 일
- 매일 아침 거래처 3곳 단가를 엑셀에 옮겨 적기
- 순서
- 사이트 로그인 → 상품 검색 → 단가 복사 → 엑셀 붙여넣기 → 사장님께 카톡
- 자료
- 지금 쓰는 엑셀 양식 1개, 거래처 사이트 주소 3개
- 결과
- 상품별 · 거래처별 단가가 한 줄씩 나오는 표
- 얼마나 자주
- 평일 아침 9시 전, 한 번에 30분쯤
순서를 글로 적기 어려우면, 평소처럼 한 번 하시는 화면을 녹화해 보내 주셔도 됩니다. 매번 받는 엑셀 파일이 있다면 두세 개를 같이 주시면 양식이 바뀌는 경우까지 미리 봅니다.
자주 묻는 질문
제 컴퓨터에서 돌아가나요?
대개 그렇습니다. 쓰시는 PC에 설치하고 쓰는 법을 알려 드립니다. 다만 PC가 꺼져 있으면 돌지 않으니, 새벽처럼 정해진 시각에 돌아야 하면 그 시각에 켜 두시거나 서버에서 돌리는 방법을 같이 정합니다.
내 PC
- 언제 도나
- PC가 켜져 있을 때
- 매달 비용
- 대개 없음
- 맞는 일
- 출근해서 누르는 일 · 하루 한두 번
서버
- 언제 도나
- 늘 — 새벽에도
- 매달 비용
- 서버비
- 맞는 일
- 정해진 시각 · 자주 · 여럿이 결과를 볼 때
엑셀 매크로는 직접 배울 수 있지 않나요?
배울 수 있습니다. 엑셀의 「매크로 기록」으로 동작을 녹화하는 데서 시작하면 간단한 반복은 혼자서도 됩니다. 여러 파일을 오가거나, 사이트에서 가져오거나, 정해진 시각에 혼자 돌아야 하는 일부터는 맡기시는 편이 빠릅니다.
사이트가 바뀌어 멈추면요?
넘겨 드린 뒤 한 달 동안 합의한 범위의 오류는 무상으로 고칩니다. 그 뒤에 상대 사이트가 바뀌어 멈추면 건당 10만 원부터 고쳐 드립니다(부가세 별도).
이음웍스는
프로그램 · 자동화는 30만 원부터, 1주부터 걸립니다(부가세 별도). 자동화할 작업 하나를 기준으로 견적을 드리고, 잘 돌면 다음 작업을 붙이는 편을 권합니다. 대개 쓰시는 PC에서 돌아가서 매달 드는 비용은 없습니다. 자세한 범위는 프로그램 · 업무 자동화 개발에 있습니다.
견적 요청서에 지금 손으로 하는 순서를 적어 보내 주세요. 어디까지 맡길 수 있는지부터 같이 봅니다.