엑셀은 직장인들이 가장 많이 사용하는 소프트웨어 가운데 하나일 겁니다.
하지만 엑셀의 전체 기능이 100이라고 하면 대부분은 20~30 정도만 활용하면서 사용하는 것 같아요.
사실 이 정도면 일반적 업무는 거의 소화할 수 있으니까요.
회사 내에서 데이터를 많이 다루는 경영 기획팀이나 영업 관리팀의 멤버들은 업무의 상당 부분을 엑셀로 진행하기 때문에 옆에서 쳐다보고 있으면 엑셀을 다루는 솜씨가 현란한 정도이지요.
그런데 저 같은 연구 개발 부서라던가 일반 부서는 대표적인 몇 개 함수 외에는 사용할 일이 별로 없으니까 엑셀의 매력에 빠질 일이 별로 없는 것 같아요.
저도 그런 부류였는데, 최근에 엑셀이 갑자기 재미있어졌답니다.
왜냐고요?
최근에 파이썬으로 네이버 쇼핑 데이터를 크롤링해 보면서 이렇게 얻어진 데이터를 엑셀로 정리하다 보니까 자꾸 필요한 함수들이 생기고 이런 필요성 때문에 엑셀 함수들을 찾아 공부하다 보내 재미를 붙이게 된 것이죠.
저는 성향상 이렇게 소소한 것이라도 새로운 것을 배우면 뭔가 발전하는 느낌이 들면서 행복해지는 스타일...ㅋㅋ
위에 언급한 네이버 쇼핑 데이터의 크롤링 관련한 것은 아래 글을 한번 읽어 보세요.
오늘은 크롤링한 데이터를 정리하면서 알게 된 엑셀 함수 등을 한번 정리해 보려고 해요.
숫자가 여러 개 되어서 하나하나 정리하는 것은 다음 기회로 미루고, 이런 필요성이 있을 때 이런 함수들을 사용했다는 정도로만 가볍게 말씀드리려고 합니다.
1) 네이버 쇼핑 100, 보조 배터리 데이터 크롤링 데이터
위 사이트를 크롤링하여 CSV 파일로 만든 후에 엑셀 파일로 열어 보면 아래와 같이 단순한 데이터가 만들어집니다.
100개 제품에 대해서 품명, 링크, 가격, 리뷰 숫자 데이터만 보이게 되죠.
(주의 : 위의 사진과 아래 데이터는 캡처 시점이 달라 데이터가 다르게 보이는 점 이해해 주세요..ㅎ)
2. 엑셀로 정리한 데이터
아래와 같이 여러 가지 필드가 새롭게 추가했어요... 새롭게 추가된 필드를 어떻게 만들었는지 한번 설명드려 볼게요.
🎈브랜드 : 크롤링한 데이터에 있는 품명 데이터에서 브랜드 데이터를 만들었어요.
품명을 읽어 보면 모든 값이 브랜드가 먼저 표시되고 그 뒤에 제품에 대한 설명이 들어가 있으므로 품명 데이터에서 첫 번째 블랭크 (" ")가 나오기 전까지의 문자열을 추출하면 브랜드가 되지요.
-이때 사용한 엑셀 함수 : LEFT
🎈용량 (mAh) : 이것도 품명 데이터 내부에 정보가 들어 있는데 mAh라는 문자 앞에 표시되므로, 먼저 FIND함수를 이용해서 "mAh"의 위치를 읽은 다음에 그 위치를 기준으로 앞쪽의 다섯 개의 문자를 가져오는 방식으로 용량 데이터를 추출했어요.
그리고 이 데이터는 나중에 계산이 필요하므로 문자열을 숫자로 바꾸는 VALUE 함수를 사용했고요... 단, 품명 중에 용량 데이터가 포함되지 않은 것들이 몇 개가 있었는데 이 부분은 하는 수 없이 상세 URL을 통해서 제품 상세 페이지로 간 다음, 그곳에서 데이터를 읽어서 수작업으로 추가했답니다. ( 이런 제품들은 제품 품명을 사실 잘 못 만든 사례죠..ㅎ)
-이때 사용한 엑셀 함수 : FIND, MID, VALUE
🎈무선 기능 유무 : 이 부분도 품명 데이터에 "무선"이라는 문자열이 있는지를 확인해서 만일에 있으면 "O"로 표시하고 없으면 그냥 셀을 비워도라는 형태로 만들 수 있었답니다.
무선이라는 문자열이 몇 번째 있는지는 FIND 함수를 이용하면 찾을 수 있고, 그 값이 숫자이므로 ISNUMER 함수와 조합을 시키면 "무선"이 있으면 TRUE, 없으면 FALSE를 돌려줄 수 있으므로 간단히 IF 함수로 무선 기능이 있으면 "O"를 표시할 수 있게 되지요.
-이때 사용한 엑셀 함수 : FIND, ISVALUE, IF
3. 엑셀 데이터 활용
엑셀 각 필드에 필터를 넣어 두었기 때문에 필터에 따라 다양하게 엑셀 데이터를 분석해 볼 수 있어요.
예를 들어서 100개 제품 중에서 Top 10만의 데이터, 혹은 Top 20 만의 평균/최대/최소/무선 기능 유무 제품의 숫자 등을 확인해 볼 수 있고, 이들에 대한 분산 그래프를 그때그때 바로 확인할 수 있도록 만들었어요.
예를 들면, 아래와 같겠네요.
랭킹 외에도 브랜드별 데이터 집계도 가능하겠지요. 삼성 제품이나 샤오미 제품에 대해서 필터만 선정해 주면 위의 값들이 나타나게 됩니다.
🎈여기서 평균, 최대, 최소, 수량 정보는 많이 사용하는 SUBTOTAL 함수를 사용하면 손쉽게 나타낼 수 있어요.
🎈가장 까다로운 부분이 무선 기능의 수량을 표시하는 것인데, Top 100에는 17개, Top 20에는 4개, Top 10에는 3개로 표시되는 것인데,,, 구현하는데 좀 애를 먹었습니다.
=SUMPRODUCT (SUBTOTAL...( OFFSET, ROW, ROW)...), 회사 내에서 엑셀을 재일 잘 다루시는 분의 도움을 받아서 해결했는데 좀 까다롭습니다...ㅎㅎ. 요지는 OFFSET 함수와 SUMPRODUCT 함수입니다.
마지막으로 데이터 내부에 있는 제품 URL 정보를 클릭하면 바로 그 제품의 상세 페이지로 넘어가게 하는 부분인데, 이 부분은 지난번에 별도 글로 포스팅을 했으니 아래 참조하세요. 엑셀 사용의 정수인 VBA 스크립트를 이용해서 많은 작업을 매크로 처리하는 방법이랍니다.
감사합니다.