구글시트를 이용한 업무 자동화 시도
구글시트를 이용한 업무 자동화 시도
이 글은 코딩에 대한 지식이 없는 상태에서 업무자동화를 시도했었던 기록에 대해서 적고 있습니다. 특히, 로컬이 아닌 외부의 온라인 데이터를 불러오는 것이 주를 이룹니다. 다만, 구체적으로 어떻게 하면 만들수 있는지에 대해서 적지 않습니다. 대신 제가 참고하며 그대로 따라한 글을 맨아래에 모두 적어두니 참조 바랍니다.
만들어 본 이유
사무실에 있다보면 내 업무가 아니라도 여러부서의 업무내용을 듣거나 보게 됩니다. 그러다보니 반복적으로 보이는 업무 있는데, 대표적으로 일정, 뉴스, 환율, 주가 보고서 작성이 그것입니다. 기본적인 업무는 정보 소스에 특정 시간에 들어가 데이터를 받고, 그것을 오피스 프로그램으로 옮겨서 보고서를 작성하는 방식으로 이루어집니다. 해당 업무들은 모두 온라인에 연관점이 있어 자동화해보면 좋겠다는 생각이 들었습니다.
기존 방식 vs. 자동보고서
결론부터 말하면 결과는 아래와 같습니다. 수기로 이루어지던 데이터 수집과정을 자동 스크랩으로 변경하고, 보고서 작성 또한 자동 업데이트로 변경했습니다. 그 과정에서 모든 내용이 하나의 리포트로 통합해 정보의 집약도를 높였습니다. 보고서를 온라인문서(구글시트)로 작성하여 문서가 열릴때마다 업데이트(스크랩) 되게 설정하여 수시로 보더라도 최신 정보를 볼수 있게 하였습니다.
구분 | 구분2 | 기존 | 변경 |
---|---|---|---|
일정 | 관리 | 종이달력 | 공유캘린더 공동작성 |
공유 | 구두 | 통합보고서 자동 업데이트 | |
뉴스 | 확인 | 포탈뉴스검색 | 통합보고서 자동 스크랩 |
분석 | 읽기 | 통합보고서 자동 분석(GPT) | |
환율 | 확인 | 사이트 직접접속 | 통합보고서 자동 스크랩 |
분석 | 발표 시간 사이트 직접접속 | 통합보고서 자동 스크랩 | |
보고 | 자료를 받아 보고서 별도작성 | 통합보고서 자동 업데이트 | |
주가확인 | 주가확인 | 포탈에서 검색 | 통합보고서 자동 업데이트 |
주가차트 | 자료를 받아 엑셀로 작성 | 통합보고서 자동 업데이트 | |
동종업계주가 | 생략 | 통합보고서 자동 업데이트 |
아래는 새롭된 만든 자동화 보고서 중 일부분입니다. 날짜, 환율, 주가 등의 숫자는 물론이고 뉴스내용, 환율분석, GPT내용분석도 모두 자동입니다.
한계점
보고서 자체
- 완전한 실시간은 아닙니다. 구글시트에서 제공하는 Google Finance 함수를 활용한 부분의 경우 일정부분 지연된 데이터가 표시됩니다. 주가의 경우 최대 20분의 지연이 있습니다.
- 일정을 끌어오는 대상 Calendar를 회사 것이 아닌 별도로 만든 Google Calendar로 설정하여 별도로 일정을 입력해 주어야 합니다.
- 환율분석 정보의 경우 은행권의 분석 보고서가 더욱 좋다고 보지만, 한국무역보험공사의 분석을 이용한 것은 그럴수 밖에 없었기 때문입니다. 한국무역보험공사의 경우에는 규칙이 있는 주소에 스크랩 가능한 형태로 공시하나 은행의 경우는 PDF형태의 가변주소로 공시하기 때문입니다.
- 또한 환율의 경우 발표시간이 정해져 있는데, 구글시트에서 now함수를 이용하여 스크랩 시간을 조정할수 없었습니다. now함수는 실시간이라 구글시트에 부하가 너무 걸리므로 이를 이용한 조건문은 불가능하도록 처리되어 있기 때문입니다. 때문에 Google Apps Script를 사용해야 했습니다.
- 여러 스크랩 및 업데이트를 한 문서로 통합하다보니 문서를 열고 모두 업데이트 되기까지 5~8초정도 소요되었습니다.
- GPT는 고급 함수를 쓰기 위해서는 토큰이 필요하여 일단 꺼두었습니다.
외적인 부분
- 직접 만들고 잘 작동하고 있기는 하나 원리부터 이해한 것이 아니라 커스터 마이징 및 유지 관리가 어려울 것으로 사료됩니다. 다행히 반년이상 무리없이 동작하고 있습니다.
- 마찬가지로 단순히 똑같은 과정을 따라한 것 뿐이라 응용 및 재사용이 어렵습니다. 다시 똑같이 따라하더라도 처음 만들때보다 시간이 단축된다고 확신하기 어렵습니다.
- 직접 당사자가 사용하지 않는다면 의미가 없습니다. 저도 원리부터 이해한 것은 아니므로 안정성 측면에서 권유하기가 어렵고, 이러한 것이 있으니 업무에 참고하면 좋겠다 정도로만 넘어 갔습니다.
- 이어지는 이야기로 제가 직접 당사자가 아니다 보니 저도 한번 만들고나서 수정할 일이 없다보니 이제는 정말 건드리가 어려워졌습니다.
- 최초에 특정시간에 보고서를 PDF형태로 변경한 후 발송하는 기능도 고려하였으나 역시 당사자가 아니다보니 구현하지 않았습니다.
자동화를 위해 따라한 글
아래는 자동화된 통합보고서를 만들기 위해 그대로 따라한 예제들입니다.
- 구글파이낸스 함수 : 구글 매뉴얼 및 구글 시트 템플릿 참조
- 사이트크롤링 : importxml 함수
스프레드 시트 크롤링, 매일 환율 데이터 자동 업데이트하기 - 구글캘린터 데이터 추출 : Apps Script
구글 캘린더를 구글 스프레드 시트로 옮기기 Apps Script로 Google Sheet의 정렬(sort) 적용하기 ※ 구글 시트의 일정을 구글 캘린더로 대량 업로드 하는 것은 필요하지 않아 PASS함. - 뉴스 경향 분석 : Ghat GPT
이 글은 저작권자의 CC BY 4.0 라이센스를 따릅니다.