칼퇴를 부르는 구글 워크스페이스 완전 정복! 기초 사용법부터 오류 해결, 실무 꿀팁까지

Google Apps Script 자바스크립트를 무료로 사용? 구글 앱스 스크립트 사용법 총정리 배열 꿀팁까지

Google Apps Script 자바스크립트를 무료로 사용? 구글 앱스 스크립트 사용법 총정리 배열 꿀팁까지

매일 반복되는 엑셀 작업이나 데이터 정리를 하다가 ‘이걸 자동으로 처리할 수 없을까?’ 고민해 본 적이 있으실 텐데요.

이럴 때 구글에서 제공하는 무료 도구를 활용하면 복잡한 업무를 클릭 한 번으로 끝내는 마법을 경험할 수 있습니다.

이번 글에서는 자바스크립트 기반의 강력한 자동화 도구인 Google Apps Script의 핵심 사용법과 실무 꿀팁을 친절하게 안내해 드릴게요.

처음에는 코딩이라는 단어 자체에 거부감이 들 수 있지만 차근차근 따라오시면 누구나 쉽게 나만의 자동화 프로그램을 만들 수 있습니다.

목차

Google Apps Script 시작하기 전 알아야 할 기초 개념

(출처 : Google Workspace)

업무 자동화에 관심이 있는 분들이라면 한 번쯤 파이썬이나 매크로 같은 단어를 들어보셨을 텐데요.

막상 배우려고 하면 프로그램을 설치하는 과정부터 막혀서 시작도 하기 전에 포기하는 경우가 정말 많습니다.

하지만 이 도구는 별도의 프로그램 설치 없이 웹 브라우저만 있으면 언제 어디서나 곧바로 개발을 시작할 수 있죠.

기본적으로 웹 언어인 자바스크립트를 기반으로 작동하기 때문에 문법이 직관적이고 다루기가 매우 수월해요.

구글 앱스 스크립트의 작동 원리와 장점

이 시스템은 구글의 클라우드 서버에서 코드가 직접 실행되는 구조로 이루어져 있어서 내 컴퓨터의 사양과 전혀 무관하게 작동합니다.

구글 드라이브나 스프레드시트와 완벽하게 연동되므로 데이터를 불러오고 가공하는 작업이 다른 도구보다 훨씬 빠르고 안정적인데요.

무엇보다 강력한 장점은 이 모든 기능을 별도의 비용 지불 없이 완전히 무료로 사용할 수 있다는 점이죠.

매일 특정 시간에 코드가 자동으로 실행되도록 예약하는 트리거 기능도 내장되어 있어서 진정한 자동화를 구현할 수 있습니다.

구글 스프레드시트에서 스크립트 에디터 실행하는 방법

(출처 : Google Workspace)

자동화를 구현하는 첫 번째 단계는 코드를 입력할 수 있는 전용 편집기 화면을 찾아 들어가는 일인데요.

처음엔 메뉴가 어디에 숨어있는지 헷갈릴 수 있지만 경로만 정확하게 알면 마우스 클릭 몇 번으로 쉽게 진입할 수 있습니다.

우선 작업을 진행할 구글 스프레드시트 문서를 하나 새로 개설하거나 기존에 쓰던 문서를 화면에 열어주시면 되는데요.

이제 화면 상단에 있는 메뉴 바를 유심히 살펴보면서 확장 프로그램이라는 항목을 찾아 클릭하면 됩니다.

에디터 진입 및 첫 번째 코드 작성하기

(출처 : 김에듀)

확장 프로그램 메뉴를 누르면 하위 항목이 나타나는데 여기서 Google Apps Script라는 영문 이름을 선택하시면 되는데요.

화면이 전환되면서 코드를 입력할 수 있는 깔끔한 에디터 창이 새롭게 열리는 모습을 확인할 수 있습니다.

여기에 기본적으로 생성되어 있는 함수 공간에 내가 원하는 자동화 명령어를 한 줄씩 차근차근 입력하면 되죠.

처음에는 낯설게 느껴질 수 있지만 마우스 포인터를 올리면 친절한 안내 팝업이 뜨므로 안심하고 진행하셔도 돼요.

자바스크립트 기반의 문법 구조와 특징 이해하기

(출처 : 조현정의AI실험실)

이 도구는 전 세계 개발자들이 가장 많이 사용하는 언어 중 하나인 자바스크립트 문법을 그대로 사용하고 있는데요.

그 덕분에 인터넷에 검색하면 방대한 양의 예제 코드와 해결 방법을 쉽게 찾을 수 있다는 엄청난 이점이 있습니다.

다만 웹 브라우저를 제어할 때 쓰는 문법과 구글 문서를 제어할 때 쓰는 전용 명령어에는 약간의 차이가 존재하는데요.

예를 들어 시트의 특정 셀을 선택하고 값을 입력하는 과정은 구글이 자체적으로 만들어 둔 전용 함수를 사용해야 합니다.

초보자를 위한 필수 내장 객체 가이드

(출처 : Google Workspace)

가장 먼저 친숙해져야 하는 명령어는 현재 열려 있는 스프레드시트 전체를 의미하는 SpreadsheetApp이라는 객체인데요.

이 객체를 시작으로 현재 시트를 선택하고 그 안에서 다시 원하는 셀의 범위를 지정하는 방식으로 코딩이 진행됩니다.

처음에는 문장 뒤에 점을 찍고 명령어를 이어 붙이는 방식이 어색해서 오타로 인한 에러를 자주 마주하게 되는데요.

에디터가 자동으로 완성 문구를 추천해 주기 때문에 철자를 모두 외우지 않아도 코드를 매끄럽게 완성할 수 있습니다.

실무 생산성을 극대화하는 자바스크립트 배열 활용법

(출처 : G-CREATOR)

구글 시트의 데이터를 코드로 가져오면 수많은 행과 열로 이루어진 묶음 형태의 데이터로 변환되어 저장되는데요.

프로그래밍에서는 이렇게 여러 개의 데이터를 하나의 상자에 순서대로 담아둔 형태를 자바스크립트 배열이라고 부릅니다.

시트에 적힌 수백 행의 고객 정보를 하나씩 읽는 것이 아니라 이 상자에 통째로 넣어서 한 번에 처리하는 방식이죠.

따라서 대량의 데이터를 빠르고 정확하게 처리하기 위해서는 이 배열을 자유자재로 다루는 기술이 무엇보다 중요합니다.

데이터 처리를 위한 필수 배열 메서드

가장 자주 쓰이는 기술은 수많은 데이터 중에서 내가 원하는 조건에 맞는 행만 쏙쏙 골라내는 필터 기능인데요.

이때 자바스크립트 배열의 filter() 메서드를 사용하면 복잡한 반복문 없이도 단 한 줄로 조건 검색이 가능합니다.

또한 각 데이터의 형태를 일괄적으로 변경하고 싶을 때는 map() 메서드를 활용하여 전체 요소를 한 번에 가공할 수 있죠.

이러한 가공 처리는 시트 화면을 직접 건드리지 않고 메모리 안에서만 일어나기 때문에 작업 속도가 수십 배 이상 빨라집니다.

데이터 정렬과 반복 처리를 위한 실전 테크닉

가공이 끝난 데이터들을 화면에 보기 좋게 정렬하거나 특정 조건에 따라 순서를 바꾸어야 하는 상황도 자주 생기는데요.

이때는 sort()라는 정렬 기능을 연동하여 이름순이나 금액 순서대로 깔끔하게 행 위치를 재배치할 수 있습니다.

배열에 담긴 아이템을 하나씩 꺼내어 이메일을 보내는 것과 같은 반복 작업에는 forEach() 문법이 아주 효과적인데요.

데이터의 개수가 몇 개이든 상관없이 컴퓨터가 지치지 않고 순식간에 루프를 돌며 지정된 임무를 완수해 냅니다.

2차원 배열 구조와 시트 데이터 매핑

구글 시트에서 가져온 데이터는 행과 열이 모두 존재하는 격자 무늬 형태의 2차원 자바스크립트 배열 형식을 띱니다.

대괄호가 이중으로 감싸져 있는 독특한 모양이라서 초보자분들이 데이터를 꺼낼 때 인덱스 번호를 많이 헷갈려 하시는데요.

첫 번째 행의 첫 번째 열은 1이 아니라 0번부터 시작한다는 프로그래밍의 기본 규칙만 마음속에 잘 기억해 두시면 됩니다.

막히는 지점이 있다면 Logger.log() 함수를 사용해 데이터가 상자에 어떻게 담겼는지 실시간으로 출력해 보면 돼요.

코딩 실행 중 자주 발생하는 에러와 해결 팁

기분 좋게 코드를 작성하고 실행 버튼을 눌렀는데 갑자기 빨간색 경고 문구가 뜨면 가슴이 철렁 내려앉기 마련입니다.

하지만 숙련된 개발자들도 매일 수없이 많은 에러를 마주하며 이를 수정하는 과정을 거치니 전혀 낙담하실 필요가 없어요.

가장 흔하게 보는 실수는 대문자와 소문자를 구분해서 적지 않았거나 문장 끝에 기호를 빼먹어서 생기는 현상인데요.

에러 메시지에 몇 번째 줄에서 문제가 생겼는지 친절하게 숫자로 알려주니 해당 라인을 집중적으로 점검하시면 됩니다.

권한 승인 오류 발생 시 대처 방법

코드를 처음 실행할 때 ‘권한이 필요합니다’라는 무시무시한 팝업창이 뜨면서 실행이 차단되는 현상을 겪게 되는데요.

이것은 내가 만든 코드가 내 구글 계정의 데이터에 접근해도 안전한지 확인하는 구글의 자체적인 보안 절차입니다.

당황하지 마시고 고급 설정 링크를 누른 뒤 안전하지 않음으로 표시된 이동 메뉴를 클릭하여 승인해 주시면 되는데요.

내가 직접 작성한 코드이므로 계정이 해킹당할 위험이 전혀 없으니 안심하고 권한 동의를 완료하셔도 됩니다.

구글 서비스 연동으로 이메일 및 캘린더 자동화하기

Google Apps Script의 진정한 가치는 스프레드시트를 넘어 다른 구글 서비스와 결합할 때 비로소 폭발하게 됩니다.

시트에 등록된 고객 명단을 기반으로 개인화된 안내 이메일을 지메일을 통해 수백 명에게 자동으로 발송할 수 있는데요.

또한 특정 날짜와 업무 내용이 적힌 행을 읽어와서 구글 캘린더에 자동으로 일정을 등록하는 시스템도 구축이 가능하죠.

서로 다른 서비스들이 하나의 사슬처럼 연결되어 움직이기 때문에 업무에 들어가는 시간과 노력을 획기적으로 줄여줍니다.

매일 정해진 시간에 작동하는 트리거 설정

매번 시트를 열고 실행 버튼을 직접 누르는 과정조차 귀찮다면 특정 시간에 알아서 작동하는 타이머를 작동시키면 되는데요.

에디터 좌측 메뉴에 있는 시계 모양의 트리거 아이콘을 누르면 코드가 스스로 깨어나 실행되는 조건을 걸 수 있습니다.

예를 들어 ‘매일 아침 9시마다 시트 데이터를 정리해서 보고서 메일을 발송하라’는 명령을 완벽하게 수행할 수 있죠.

컴퓨터를 끄고 퇴근하더라도 구글 서버가 알아서 새벽에 일을 끝내 두므로 출근길이 한결 가벼워지는 효과를 줍니다.

외부 API 연동을 통한 실시간 데이터 수집 및 확장

구글 생태계 내부의 기능에만 머무르지 않고 외부 인터넷 세상의 유익한 정보들을 시트로 긁어올 수도 있는데요.

UrlFetchApp이라는 기본 통신 함수를 사용하면 외부 기관에서 제공하는 날씨, 주가, 환율 등의 정보를 실시간으로 호출합니다.

가져온 텍스트 데이터를 자바스크립트 배열로 변환하여 시트 화면에 일목요연하게 정리하는 작업까지 연속으로 처리되는데요.

이 기술을 응용하면 매일 아침마다 경쟁사의 상품 가격을 자동으로 모니터링하는 나만의 비서를 가질 수 있습니다.

슬랙이나 카카오톡으로 알림 메시지 보내기

수집된 데이터에 특이사항이 발생했을 때 사내에서 사용하는 협업 툴로 실시간 비상 알림을 보내는 것도 가능한데요.

슬랙이나 잔디 같은 메신저의 웹훅 주소를 코드가 연동하여 조건이 충족되었을 때 즉시 가독성 높은 메시지를 쏘아줍니다.

업무 중에 계속 구글 시트 창을 켜두고 감시할 필요가 없어져서 온전히 다른 창의적인 업무에 집중할 수 있게 되는데요.

단 몇 줄의 연동 코딩만으로 구축할 수 있어서 실무자들 사이에서 만족도가 가장 높은 기능 중 하나로 손꼽힙니다.

마무리

지금까지 Google Apps Script의 기본 개념부터 자바스크립트 배열을 활용한 실무 팁까지 전체적인 로드맵을 살펴보았는데요.

처음에는 코드 한 줄을 적는 것도 두렵고 어렵게 느껴지겠지만 매일 조금씩 연습하다 보면 업무 속도가 몰라보게 빨라질 것입니다.

오늘 배운 기초적인 실행 방법과 배열 다루기 기술을 토대로 지금 바로 빈 스프레드시트를 열어 첫 번째 코드를 실행해 보세요.

글쓴이

15년 IT 노하우로, 여러분의 직장생활을 '업그레이드' 해드릴 박찬혁입니다.
지난 15년간 IT 현장에서 굴러먹으며 깨달은 건, 구글만 제대로 써도 업무가 확 줄어든다는 사실입니다.
복잡한 기술 이야기는 빼고 여러분의 칼퇴와 생산성을 책임질, 당장 써먹을 수 있는 '실전 압축 구글 팁'만 소개하겠습니다.

목차