M온고잉
목록으로
AI·12분 읽기

구글 스프레드시트 반복 작업, 이제 그만! 앱스 스크립트로 업무 자동화하는 법

매번 반복되는 스프레드시트 작업에 지치셨나요? 구글 앱스 스크립트(Google Apps Script)를 활용하면 데이터 가공, 커스텀 함수 제작, 구글 서비스 연동까지 한 번에 자동화할 수 있습니다. 코딩 초보자도 이해할 수 있도록 개념부터 실전 활용법까지 단계별로 정리했습니다.

반복 작업이 당신의 시간을 갉아먹고 있다

반복적인 스프레드시트 작업으로 시간을 낭비하는 직장인 일러스트
반복적인 스프레드시트 작업으로 시간을 낭비하는 직장인 일러스트

매달 말일, 같은 작업을 반복하고 있지는 않으신가요? 여러 시트에 흩어진 데이터를 하나로 합치고, 빈 행을 일일이 찾아 삭제하고, 이전 달 데이터를 복사해 히스토리 탭에 붙여 넣는 일들. 이런 작업은 실수하기도 쉽고, 무엇보다 시간이 아깝습니다.

구글 스프레드시트의 기본 수식(VLOOKUP, SUMIF 등)을 잘 활용해도 이런 반복적인 데이터 조작 작업만큼은 여전히 손이 많이 갑니다. 바로 이 지점에서 구글 앱스 스크립트(Google Apps Script)가 빛을 발합니다.


앱스 스크립트란 무엇인가요?

엑셀 VBA와 구글 앱스 스크립트 비교 및 구글 서비스 연동 개념 일러스트
엑셀 VBA와 구글 앱스 스크립트 비교 및 구글 서비스 연동 개념 일러스트

엑셀의 VBA, 구글에도 있다

마이크로소프트 엑셀을 써보신 분이라면 VBA(Visual Basic for Applications, 엑셀 내 반복 작업을 자동화하는 프로그래밍 도구)라는 이름을 들어보셨을 겁니다. 구글 스프레드시트에도 이와 비슷한 역할을 하는 도구가 있는데, 바로 앱스 스크립트(Apps Script)입니다.

앱스 스크립트는 자바스크립트(JavaScript, 웹 개발에 널리 쓰이는 프로그래밍 언어) 문법을 기반으로 만들어진 구글의 자동화 도구입니다. 자바스크립트 문법을 그대로 사용하되, 구글 스프레드시트·지메일·캘린더·드라이브 같은 구글 서비스를 제어할 수 있는 전용 명령어(메서드)들이 추가로 제공됩니다.

💡 비유로 이해하기: 앱스 스크립트는 스프레드시트를 위한 '매크로 리모컨'과 같습니다. 리모컨에 버튼을 하나 만들어두면, 그 버튼 하나로 TV 켜기 → 볼륨 조절 → 채널 변경까지 한 번에 처리되는 것처럼, 스크립트를 한 번 작성해두면 복잡한 작업들이 자동으로 실행됩니다.


앱스 스크립트의 장점과 단점

구글 앱스 스크립트 장점과 단점 균형 비교 일러스트
구글 앱스 스크립트 장점과 단점 균형 비교 일러스트

구분내용
✅ 장점 1반복적인 데이터 가공 작업을 자동화 가능
✅ 장점 2스프레드시트에 없는 기능을 커스텀 함수로 직접 제작 가능
✅ 장점 3구글 지메일, 캘린더, 드라이브 등 다른 구글 서비스와 연동 가능
✅ 장점 4별도 설치 없이 브라우저에서 바로 사용 가능 (완전 무료)
⚠️ 단점자바스크립트 기반이므로 코드에 익숙하지 않으면 처음엔 낯설 수 있음

단점으로 꼽히는 '코드 작성'에 대한 부담은, 요즘은 ChatGPT 같은 AI 도구에 원하는 기능을 설명하면 코드를 생성해주기 때문에 예전보다 훨씬 진입 장벽이 낮아졌습니다. 코드를 처음부터 짤 줄 몰라도, 복사-붙여넣기 후 약간의 수정만으로도 충분히 활용 가능합니다.


앱스 스크립트 시작하는 법: 3단계 프로세스

구글 앱스 스크립트 3단계 시작 프로세스 함수 작성 메뉴 생성 트리거 설정 다이어그램
구글 앱스 스크립트 3단계 시작 프로세스 함수 작성 메뉴 생성 트리거 설정 다이어그램

앱스 스크립트를 활용하는 기본 흐름은 아래 세 단계로 구성됩니다. 마치 요리를 할 때 레시피 작성 → 조리 도구 세팅 → 타이머 설정 순서로 진행하는 것과 비슷합니다.

1단계: 함수(Function) 작성

가장 먼저 '무엇을 자동화할지'를 코드로 정의합니다. 구글 스프레드시트 상단 메뉴에서 확장 프로그램 → 앱스 스크립트를 클릭하면 코드 편집 화면이 열립니다.

이 편집 화면에서 function 함수이름() { ... } 형태로 원하는 동작을 작성합니다. 예를 들어 "빈 행을 모두 삭제하라"는 동작을 코드로 표현하는 식입니다.

2단계: 커스텀 메뉴(Menu) 생성

함수를 작성했다면, 이제 이 함수를 쉽게 실행할 수 있는 버튼(메뉴)을 만들어야 합니다. 앱스 스크립트에서는 스프레드시트 상단 메뉴바에 나만의 메뉴 항목을 추가할 수 있습니다.

onOpen()이라는 특수 함수를 사용하면, 스프레드시트를 열 때마다 자동으로 커스텀 메뉴가 생성됩니다. 예를 들어 '데이터 정리'라는 메뉴를 만들고, 그 안에 '빈 행 삭제', '히스토리 저장' 같은 항목을 넣어두면 클릭 한 번으로 실행할 수 있습니다.

3단계: 트리거(Trigger) 설정

메뉴 버튼을 직접 클릭하는 것도 편리하지만, 아예 특정 조건이 되면 자동으로 실행되게 하고 싶다면 트리거를 설정합니다.

트리거(Trigger, 특정 조건이 충족될 때 함수를 자동 실행시키는 장치)는 두 가지 방식으로 설정할 수 있습니다:

  • 이벤트 기반: 시트가 열릴 때, 값이 수정될 때, 폼이 제출될 때 등
  • 시간 기반: 매일 오전 9시, 매주 월요일 오전 10시, 매월 1일 등

앱스 스크립트 편집 화면 왼쪽의 시계 모양 아이콘(트리거 메뉴)에서 '트리거 추가'를 누르면 GUI(그래픽 사용자 인터페이스, 마우스로 클릭해서 조작하는 화면) 방식으로 간단하게 설정할 수 있습니다.


실전에서 이렇게 쓰세요: 3가지 핵심 활용 사례

구글 앱스 스크립트 데이터 자동화 커스텀 함수 구글 서비스 연동 3가지 활용 사례 일러스트
구글 앱스 스크립트 데이터 자동화 커스텀 함수 구글 서비스 연동 3가지 활용 사례 일러스트

활용 사례 1: 데이터 가공 자동화

이런 상황에서 쓰세요: 매월 데이터를 갱신하면서, 이전 달 데이터를 별도의 히스토리 시트에 보관해야 하는 경우.

수동으로 하면 이렇습니다:

  • 현재 시트의 데이터 전체 선택
  • 히스토리 시트로 이동
  • 마지막 행 아래에 붙여넣기
  • 다시 현재 시트로 돌아와서 새 데이터 입력

이 과정을 앱스 스크립트로 자동화하면 버튼 하나로 끝납니다. 심지어 '매월 1일 자정'에 자동 실행되도록 트리거를 걸어두면 사람이 신경 쓸 필요조차 없습니다.

앱스 스크립트로 자동화할 수 있는 데이터 작업 예시:

  • 여러 시트에 분산된 데이터를 하나의 마스터 시트로 통합
  • 데이터 중간에 끼어 있는 빈 행 일괄 삭제
  • 컬럼 순서 재배치 또는 데이터 구조 변환
  • 특정 조건에 맞는 행만 필터링하여 별도 시트로 추출

활용 사례 2: 커스텀 함수 제작

이런 상황에서 쓰세요: 스프레드시트 기본 함수로는 해결이 안 되는 특수한 계산이 반복적으로 필요한 경우.

구글 스프레드시트는 엑셀에 비해 기본 제공 함수가 다소 적습니다. 하지만 앱스 스크립트를 사용하면 내가 원하는 함수를 직접 만들어 =내함수이름(값) 형태로 시트 안에서 자유롭게 사용할 수 있습니다.

커스텀 함수 제작 아이디어:

  • 특정 형식의 고유 ID 자동 생성 함수
  • 문자열 중간의 불필요한 공백까지 모두 제거하는 함수 (기본 TRIM 함수보다 강력한 버전)
  • 두 날짜 사이의 영업일(토·일·공휴일 제외한 근무일) 수를 계산하는 함수
  • 특정 텍스트 패턴을 인식해 카테고리를 자동 분류하는 함수

활용 사례 3: 구글 서비스 간 연동 자동화

이런 상황에서 쓰세요: 스프레드시트 데이터를 기반으로 이메일 발송, 캘린더 등록, 드라이브 파일 관리를 자동화하고 싶은 경우.

앱스 스크립트는 구글 생태계 전체와 연결됩니다. 예를 들어:

  • 스프레드시트 + 지메일: 고객 목록 시트를 기반으로 개인화된 이메일을 자동 발송
  • 스프레드시트 + 구글 캘린더: 일정 데이터가 입력되면 자동으로 캘린더에 이벤트 등록
  • 스프레드시트 + 구글 드라이브: 드라이브 폴더 내 파일 목록을 자동으로 시트에 불러오기

⚠️ 참고: 구글 서비스 연동 자동화는 활용 난이도가 상대적으로 높습니다. 처음 앱스 스크립트를 배우신다면 데이터 가공 자동화부터 시작하는 것을 권장합니다.


AI를 활용해 앱스 스크립트 코드 쉽게 얻는 법

AI 챗봇으로 구글 앱스 스크립트 코드 생성하고 붙여넣기하는 과정 일러스트
AI 챗봇으로 구글 앱스 스크립트 코드 생성하고 붙여넣기하는 과정 일러스트

코드 작성이 막막하게 느껴진다면, ChatGPT나 Claude 같은 AI 도구를 적극 활용해 보세요. 아래처럼 구체적으로 요청하면 바로 사용 가능한 코드를 얻을 수 있습니다.

프롬프트 예시:

구글 앱스 스크립트 코드를 작성해줘.
기능: 스프레드시트의 '데이터' 시트에서 빈 행을 모두 찾아서 삭제하는 함수.
조건: 버튼 클릭으로 실행할 수 있도록 커스텀 메뉴도 추가해줘.

AI가 생성한 코드를 앱스 스크립트 편집기에 붙여넣고 저장 후 실행하면 됩니다. 오류가 발생하면 오류 메시지를 그대로 AI에게 전달하면 수정 방법을 알려줍니다.


앱스 스크립트 시작을 위한 체크리스트

구글 앱스 스크립트 시작을 위한 5단계 체크리스트 로드맵 일러스트
구글 앱스 스크립트 시작을 위한 5단계 체크리스트 로드맵 일러스트

처음 앱스 스크립트를 시작할 때 이 순서를 따라보세요:

  • 자동화하고 싶은 반복 작업 하나를 선정한다 (너무 복잡한 것 말고, 단순한 것부터)
  • ChatGPT에 해당 작업을 설명하고 앱스 스크립트 코드를 요청한다
  • 구글 스프레드시트에서 확장 프로그램 → 앱스 스크립트를 열고 코드를 붙여넣는다
  • 저장 후 실행(▶ 버튼)을 눌러 테스트한다 (처음 실행 시 권한 허용 팝업이 뜨면 승인)
  • 정상 작동을 확인한 후 트리거를 설정해 완전 자동화를 완성한다


핵심 정리

  • 🔧 앱스 스크립트는 구글 스프레드시트의 반복 작업을 자동화하는 자바스크립트 기반 도구로, 엑셀의 VBA와 비슷한 역할을 합니다.
  • 📋 3단계 구성: ① 함수 작성(무엇을 할지) → ② 커스텀 메뉴 생성(어떻게 실행할지) → ③ 트리거 설정(언제 자동 실행할지)
  • 📊 핵심 활용처 3가지: 데이터 가공 자동화 / 커스텀 함수 제작 / 구글 서비스 간 연동
  • 🤖 코딩 몰라도 OK: ChatGPT 등 AI 도구로 코드를 생성하고 복사-붙여넣기만으로도 충분히 활용 가능합니다.
  • 🚀 시작은 단순하게: 처음에는 빈 행 삭제, 데이터 복사 등 단순한 작업 하나부터 자동화해보는 것이 가장 좋은 시작입니다.