직업인으로 살아가기

사이드프로젝트. 사무직의 엑셀 활용한 업무자동화 고군분투기

2sim 2020. 8. 6. 08:58
728x90

* 일반 사무직의 엑셀을 이용한 업무 자동화를 위해 고군분투하는 기록.. 이라고 봐주시면 감사하겠습니다.
* 문과인 우리 화이팅

배경

업무 중에 메인은 아닌데, 서브로 하면 좋겠다고 생각한 것이 있다. 개발에 대한 지식은 거의 전무하지만🤔 이것저것 잡다하게 들어둔 지식들에 영감을 받아(?) 뭔가 만들고 싶어졌다.

1. 내가 원하는 기능은
(1) 웹 스크래핑
(2) 기존 목록과 다시 불러오는 데이터를 비교해 추가된 목록을 눈에 띄게 표시하는 것

2. 이 기능이 필요한 이유? (왜 우리는 리소스를 투입해 이를 해결해야하는가)
(삭제)

현황
(삭제)
클릭해서 찾아서 👉🏻 본사에 확인 요청

내가 건드리고 싶은 부분(개선 제안을 하고 싶은 부분)은 일일이 클릭해서 찾는 것의 번거로움의 해결
번거로움이란? (번거롭다-는 말을 회사어로 바꾸면 뭘로 바꿀 수 있을까?)


(1) 기존 목록과 중복 여부 판단에 시간 소요
- 이미 관리 중인 엑셀 목록과 브라우저에 뜬 목록을 한번에 비교하고 싶음
(2) 지난번에 없었던 내용이 브라우저에서 업데이트 되어도 표시해주는 알림이 없기 때문에 재확인작업을 거쳐야 함
(3) 심지어 웹 상에서의 목록은 계속 셔플되면서 총 리스트의 갯수는 변하지 않으나, 보이는 화면 정보가 달라짐... 이걸 수작업으로 확인하는 건 비효율적임



해결 💡아이디어 제안

- 추가 등록되는 목록을 본사에서 알려주면 좋겠지만 현재 그렇게 진행되고 있지 않음.

⭐ 이 부분에서 비효율이 발생하는 이유/혹은 간단한 해결 방법을 제안하지 못하는 이유는 업무 분장이 어떻게 나뉘어져 있는지 내가 모르기 때문이다.. 공식 등록하는 업무를 담당하는 사람은 누구이고, 우리 서비스를 관리하는 사람은 또 따로 있는 건지?

담당자와 연락할 수 있다면 한 번만 노가다를 하고
그 후에는 업데이트 될 때 알림을 달라는 요청을 하면 되지만, <과연 협조 요청이 가능한 일일까?>

이 경우 본사와 소통 가능한 사람의 업무&본사 채널 관리자의 업무가 늘어남 ㅋㅋㅋㅋㅋㅋㅋㅋ 몇 명이 더 일해야 하는 건가

and 이런 프로세스가 되어 업데이트가 오더라도 아래 실무자들은 본인 담당이 아니라는 생각에 무시하게 되기 쉬움.. 👉🏻 상시/정기 업데이트가 필요한 업무는 아니라는 말
이 경우, 목마른 자가 우물을 판다고, 프로그램을 만들어두고 필요한 사람이 체크하도록 만드는 게 가장 효율적인 일하는 방식이 된다.

그러므로 내가 도와줄/할 일은!
브라우저에 산발적으로 뿌려진 목록을 기존 리스트와 비교, 등록되지 않은 채널을 표시해주면 된다! 말은 쉽군..^^

Day 1 끝






Day 2
구현을 하지 못하는 최악의 경우에도 일단 성과평가 기간에 제출해야하는 썸띵을 만들어야 한다는 압박감이 있었다. 본 업무가 아니라서 이 사이드잡(?)을 하느라 회사 업무 시간을 내는 건 괜히 🤧 좀 그래서 퇴근 후 진행.


19일 추가)
개선 제안서에 (1)현황 (2)요청사항 (3)기대효과 로 PPT만들어서 제출. 아이디어가 좋으면 개발자에게까지 가기도 한다고 한다.

기획자가 개발자에게 주는 기능요구서? 프레임워크? 만들어서 자료로 제출


1. 브라우저에서 특정 내용만 불러와 엑셀에 목록으로 저장하기
2. 기존 모니터링 채널과 불러온 목록 비교하기
3. 비교 후 없는 채널 표시하기


Day 2 끝


Day 3

그래서
엑셀로 웹 스크래핑 하는 법 공부 중...

이참에 파이썬이나 R, 등을 공부하는게 좋을까 싶었지만
이건 내 노트북에서나 가능하지 실제 업무에서는 엑셀밖에 사용하지 않는다는 걸 떠올렸다... 데이터홀릭(팟캐스트)에서 괜히 엑셀이 파이썬이나 다른 데이터분석 도구에 대항마로 나온게 아니었던 것.

Rss로 특정 검색 단어 정보를 한번에 끌어다주는 방법에 대해 자가발전(IT 팟캐스트)에서 들은 적이 있지만 내가 원하는 페이지에는 이게 없는 것 같다.


일단 안 되는 것
- 레지스트리 변환 이런거 하면 회사에서 안돌아감
- 보안이슈 발생하면 안됨..
- rss 이용하는 방법 👉🏻 내가 수집하는 웹페이지에 없음



어쩌지. ..



일단 제약조건은 다 제외하고서! ‼️‼️‼️구현이 되냐 안 되냐만 놓고 만들어보자‼️‼️‼️



개발을 할 때 너무 많은 걸 고려하면 한 발자국도 떼지 못하게 된다. 차근차근 기본이 되는 뼈대부터 찾아서 빌드업을 하자. 짝꿍님이 일단 되는 파일부터 시작하라는 조언을 해서 바로 찾아봄.


👇🏻아래 블로그 자료 이용함



VBA 에서 몇 가지를 바꾸어서 웹페이지 리스트 자동 불러오기는 성공



추가로 해야할 것
- 레지스트리 변경 안하고 하는 법
- 페이지 넘버링 자동으로 설정하는 법
- 테이블 불러오기 전 0로 만드는 법

그 다음 구현할 것은
불러온 리스트에서 아이디 부분만 따로 추출
(search, right 함수 사용)

그 다음은
아이디와 기존 목록 테이블 비교해서 표시하는 법


Semi project END



----------
마감일이 다가와서 1차 프로젝트는 끝냈다.
이로 인해 배운 점을 기록해보려 한다.


구현이 안 되는데
기획자로서의 내 성과는
어떻게 인정받을 것인가?



업무자동화-라고 하면 되게 거창하게 들리지만 아이디어를 완벽하게 만들어내지 못했다.

구현도 못하는데 무슨 소용이 있냐며 그냥 그만두려고 했는데 구현을 해내는 능력과 아이디어를 내는 능력은 다른 것이고 아이디어를 생각해내는것도 충분히 좋은 장점이라는 이야기를 듣고 마음을 고쳐먹었다.
(🙇🏻‍♀️thanks H)

기획자로서의 내가 잘 해내야 하는 것은 '어떤 기능이 이러이러한 유익이 되기 때문에 필요합니다'를 개발자 혹은 조직에게 설득하는 것이지 구현까지 해내야하는 포지션은 아니다. 구현을 해내고 싶다면 개발이나 코딩을 더 공부하는 것이 옳겠지.

어쨌든 꽤 고민하고 알아본 결과 아주 디테일하지는 않더라도 어떤 식으로 내가 원하는 결과를 만들어낼 수 있을지 방향은 그릴 수 있었다.

👉🏻 이런 점은 내 장점이자 단점. 가능한지 아닌지 구체적으로 각을 세우는 것은 개발자를 설득하는데 유용하지만 / 반면에 찾아보고 각이 안 서면 그냥 포기해버릴 수도 있다.





728x90