김철수, <챗GPT와 업무자동화>, 위키북스, 2023.
위 책으로 엑셀 업무 자동화를 연습했다.
이 책에서 엑셀 다음으로는 구글스프레드시트를 이용하는 방법을 나온다.
엑셀의 VBA 코드는 이전에 들어봤고, 한 번 정도 사용해본 적이 있지만
구글스프레드시트의 GAS 기능은 정말 처음이라!
기초부터 정리해본다.
Google Apps Script
구글 앱스 스크립트
○ 구글 앱스 스크립트?
= Google Apps Script = GAS = 가스
- 엑셀의 VBA랑 비슷한 것. (but, 언어가 살짝 다르다.)
○ 구글 앱스 스크립트 입력창을 띄우는 방법은?
- 구글 스프레드 시트에서
확장 프로그램 > Apps Script 메뉴로 간다.
- 그러면 아래 같은 새로운 창이 뜬다.
- 여기에서 빈 코드 창에(현재 Code.gs 기본 선택) 챗GPT가 알려준 앱스 스크립트를 입력하고
▷ 실행을 누르면 되는데,
- 이 책에서는 ②으로 표시한 배포 > 새 배포를 먼저 하라고 나온다.
'웹 앱'을 선택하고, 계속 경고창 뜰 때 Advanced 고급에서 진행하면 된다고..
- 그리고 ▷ 실행을 누르면 앱스 스크립트가 실행된다.
○ 구글 스프레드 시트에서 새 앱스 스크립트를 추가하고 싶을 때
- 좌측 상단의 + 버튼을 누르고 '스크립트'를 추가해준다.
연습해보기!
자유분방하게 입력된 핸드폰 번호
000-000-0000 양식으로 통일하기
주의! - 휴대폰 번호 몇백 개 안 되면, ChatGPT에 바로 바꿔달라고 요청하면 편하긴 하지만! - 그러면 휴대폰 번호를 대량으로 입력하는 것이 되기 때문에 개인정보 보호법 위반일 수도 있다. - 그래서 주의해야 함. - 앱스 스크립트를 요청하고 내 구글 스프레드 시트에서 처리하면 안전! |
○ 구글 폼으로 입력받은 핸드폰 번호 양식이 일관적이지 않을 때
- 없이 입력된 010999999번호는 앞의 0이 사라진다고.
★ 그래서, 000-000-0000 양식으로 통일하기 전에,
우선 앞에 0이 없어 "10"으로 시작하는 셀은 "0"을 붙여줘야 한다.
○ 위 앱스 스크립트 뜻을 조금 해석해보기!
Why?
★작동이 잘되지 않으면 일부 코드 변경이 필요함
★개발자만큼은 모르더라도 '어디가 잘못된 것 같다'는 느낌은 와야 함.
- 구글 앱스 스크립트는 '함수(function)' 단위로 실행
위 캡쳐 이미지에서 addZeroToCell이 ChatGPT가 지정한 함수명.
- 함수는 시트에 =addZeroToCell와 같은 형식으로 쓸 수 있음.
- var : 변수(variable) 의미. 변수를 지정하는 것
- data[i][0]은 i+1행의 1열의 데이터를 의미함
○ 그 다음, 형식이 제각각인 핸드폰번호 형식 통일하기
▲ 넘 놀랍고 똑똑해서 그대로 캡쳐해서 왔다.
올바른 핸드폰번호 양식이 000-0000-0000이 되어야 한다고 말하지도 않았고,
심지어 프롬프트에 오타까지 냈는데 ㅋㅋㅋㅋ (형시긍ㄹ)
'형식을'이라고 물어봤다는 것을 알고 이렇게 답을 제시해줬다.
○ ChatGPT에게 물어볼 프롬프트 예시들
구글 시트에서 F열에 정확한 이메일 형식이 아닌 셀을 찾아서 노란색으로 칠하는 앱스 스크립트를 짜 줘 |
정규식 이해해보기
이메일 형식이 아닌 셀을 찾아달라고 했을 때
앱스 스크립트 안에 아래 코드가 포함되었다.
var emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; // 이메일 주소 패턴을 정의합니다. |
이전에 파이썬에서 텍스트마이닝할 때도 본 정규식인데,
해석해보자.
- . 마침표 : 임의의 문자
- * 별표 : 앞 문자가 0개 이상 반복되는 패턴
- + 덧셈표 : 앞 문자가 1개 이상 반복되는 패턴
- ? 물음표 : 앞 문자가 0개 또는 1개인 패턴
- ^ 시작 : 문자열의 시작, 또는 뒤에 글자가 아닌 것
- \s : 공백
- \d : 숫자
[^\s@]+ : 공백(\s)이나 @이 아닌(^) 문자가 하나 이상(+) 있어야 함.
@ : @이 있어야 함
\. : 점(.)이 있어야 함.
$ : 문자열이 끝나야 함.
'일잘러 되어보기' 카테고리의 다른 글
ChatGPT로 엑셀 업무 자동화2 - VBA 편집기 사용하기 (2) | 2024.01.21 |
---|---|
ChatGPT로 엑셀 업무 자동화 (0) | 2024.01.14 |
ChatGPT에게 질문 요청하기, 업무 연락, 보고서 검토, 파일 버전 관리 (1) | 2024.01.11 |
ChatGPT로 업무 분배하기. WBS란? / 성과 분석하기. BCS 전략 맵? (0) | 2024.01.06 |
ChatGPT로 아이디어 도출, 기획하기 (1) | 2024.01.01 |
댓글