구글 스프레드시트 앱스 스크립트 기초부터 활용까지 직장인 필수 자동화 스킬
매일 아침 출근해서 똑같은 엑셀 데이터를 복사하고 붙여넣는 단순 반복 업무, 솔직히 좀 지겹지 않나요? 저도 예전에는 ‘이게 내 일이니까…’ 하면서 무념무상으로 컨트롤 C, 컨트롤 V만 눌러댔거든요. 근데 구글 스프레드시트 앱스 스크립트(Apps Script)를 알고 나서는 세상이 완전히 달라지더라고요. 이게 처음엔 코딩이라서 어렵게 느껴질 수 있는데, 막상 써보면 ‘왜 이제야 알았지?’ 싶을 정도로 업무 효율이 미친 듯이 올라갑니다. 오늘은 제가 직접 써보고 무릎을 탁 쳤던 앱스 스크립트의 핵심 기능과 활용법을 친구한테 알려주듯 아주 쉽게 풀어드릴게요.
확장 프로그램 속에 숨겨진 보물
많은 분들이 구글 시트를 쓰면서도 메뉴바에 있는 ‘확장 프로그램’ 탭은 잘 안 눌러보시더라고요. 바로 그 안에 ‘Apps Script’라는 보물이 숨겨져 있습니다. 이걸 클릭하면 별도의 설치 없이 바로 코드를 짤 수 있는 에디터가 열리죠. 기반 언어는 자바스크립트(JavaScript)예요. 개발자가 아니더라도 걱정할 필요가 없는 게, 문법이 꽤 직관적이고 구글에 검색하면 웬만한 코드는 다 나와 있거든요.
가장 매력적인 건 이 스크립트가 내 컴퓨터가 아니라 구글 클라우드 서버에서 돌아간다는 점이에요. 컴퓨터를 꺼놔도, 내가 자고 있어도 스크립트는 설정한 시간에 맞춰 알아서 일을 합니다. 이게 진짜 꿀기능이죠.
함수와 스크립트, 뭐가 다를까?
“그냥 엑셀 함수 쓰면 되는 거 아냐?”라고 생각하실 수도 있어요. 물론 VLOOKUP이나 QUERY 함수도 훌륭하지만, 스크립트는 차원이 다른 자유도를 줍니다. 함수는 셀 안에 있는 값만 계산해서 보여주지만, 스크립트는 시트의 구조를 바꾸거나 아예 다른 구글 서비스와 연동할 수 있거든요.
간단하게 표로 비교해봤어요. 이거 보시면 확 이해가 되실 거예요.
| 구분 | 기본 함수(Formula) | 앱스 스크립트(Apps Script) |
|---|---|---|
| 주요 기능 | 데이터 계산 및 조회 | 업무 프로세스 자동화 |
| 실행 위치 | 해당 셀 내부 | 백그라운드 서버 |
| 외부 연동 | 제한적 (IMPORTXML 등) | 자유로움 (Gmail, 캘린더, 슬랙 등) |
| 난이도 | 쉬움 | 중간 (자바스크립트 기초 필요) |
| 활용 예시 | 합계, 평균, 필터링 | 자동 이메일 발송, 보고서 생성 |
이메일 자동화로 칼퇴하기
제가 앱스 스크립트를 가장 애용하는 순간은 바로 ‘이메일 자동 발송’ 기능을 구현할 때예요. 예를 들어, 거래처 목록이 담긴 시트가 있다고 쳐요. 계약 만료일이 다가온 업체에게만 “계약 갱신 안내드립니다”라는 메일을 보내야 한다면? 이걸 일일이 날짜 확인하고 메일 쓰는 건 진짜 시간 낭비잖아요.
앱스 스크립트의 MailApp 또는 GmailApp 클래스를 사용하면 이 과정을 완전히 자동화할 수 있어요. 시트의 데이터를 한 줄씩 읽어 내려가다가, 오늘 날짜 기준으로 만료일이 7일 남은 행을 발견하면 미리 작성해둔 템플릿으로 메일을 쏘는 거죠. 심지어 PDF로 견적서를 만들어서 첨부하는 것까지 가능해요. 처음 이 코드를 짜서 돌렸을 때, 제가 커피 마시는 동안 수십 통의 메일이 알아서 발송되는 걸 보고 진짜 소름 돋았어요.
트리거(Trigger) 기능을 같이 쓰면 더 대박입니다. ‘매일 오전 9시’라고 시간을 정해두면, 제가 출근하기도 전에 스크립트가 알아서 현황을 체크하고 필요한 사람에게 메일을 보내놓더라고요. 상사가 “그거 보냈어?”라고 물어보기도 전에 이미 처리되어 있는 거죠.
외부 데이터도 척척 가져옵니다
요즘 주식이나 코인, 환율 정보 같은 거 실시간으로 시트에 정리하고 싶은 분들 많으시죠? IMPORTXML 함수는 웹사이트 구조가 바뀌면 에러가 자주 나는데, 앱스 스크립트의 UrlFetchApp을 쓰면 API를 통해 훨씬 안정적으로 데이터를 가져올 수 있어요.
공공데이터 포털이나 금융 API를 연결해서 버튼 하나만 누르면 최신 데이터가 쫙 업데이트되게 만들 수 있습니다. 저는 이걸로 경쟁사 가격 모니터링 대시보드를 만들어서 쓰고 있는데, 팀원들이 볼 때마다 신기해하더라고요. 복잡한 크롤링 툴을 안 써도 구글 시트만으로 웬만한 데이터 수집은 다 해결됩니다.
커스텀 메뉴로 나만의 프로그램 만들기
스크립트를 다 짜고 나서 매번 에디터를 열어서 실행 버튼을 누르는 건 좀 멋이 안 나잖아요? onOpen 함수를 사용하면 구글 시트 상단 메뉴바에 나만의 메뉴를 추가할 수 있어요. ‘업무 자동화’라는 메뉴를 만들고 그 아래에 ‘일일 리포트 생성’, ‘데이터 초기화’ 같은 버튼을 달아두는 거죠.
이렇게 해두면 코드를 전혀 모르는 동료들도 그냥 버튼만 눌러서 제가 만든 자동화 기능을 쓸 수 있게 됩니다. 실제로 사내에서 이렇게 툴을 몇 개 만들어 배포했더니, 업무 편의성 높였다고 평가가 아주 좋아지더라고요. 단순히 엑셀 파일 하나 공유하는 게 아니라, 하나의 작은 프로그램을 만들어서 배포하는 느낌이랄까요?
시작이 반이다
처음엔 Hello World 하나 띄우는 것도 버거울 수 있어요. 근데 구글링 해보면 전 세계의 수많은 능력자들이 이미 웬만한 코드는 다 짜서 공유해뒀더라고요. 우리는 그걸 가져와서 내 시트 이름에 맞게 조금만 수정해서 쓰면 됩니다. 너무 완벽하게 이해하려고 하지 말고, 일단 복사해서 붙여넣고 실행 버튼을 눌러보세요. 빨간 에러 메시지가 떠도 좌절하지 말고 그 메시지 그대로 검색하면 해결책은 무조건 나옵니다.
지금 당장 구글 시트 켜서 확장 프로그램 메뉴 한번 눌러보세요. 그 클릭 한 번이 여러분의 퇴근 시간을 1시간, 아니 그 이상 당겨줄 확실한 열쇠가 될 겁니다.



