구글 시트와 앱스 스크립트, 왜 지금 시작해야 할까요?
매일 반복되는 지루한 데이터 입력, 보고서 취합, 이메일 발송 작업에 지쳐 있으신가요? 이러한 수동 업무는 직원 생산성을 저해하고, 치명적인 오류를 유발하며, 기업의 혁신 동력을 약화시키는 주범입니다. 실제로 McKinsey 2023 리포트에 따르면, 평균적인 직장인은 주당 15시간 이상을 반복적이고 가치가 낮은 업무에 할애하고 있다고 합니다.
하지만 걱정하지 마세요. 구글 시트(Google Sheets)와 앱스 스크립트(Google Apps Script)는 이 문제에 대한 강력한 해결책을 제공합니다. 구글 시트와 Apps Script는 반복적인 수동 업무를 자동화하여 시간과 비용을 절감하는 강력한 도구입니다. 왜냐하면 Google Workspace의 확장성을 활용해 코딩 지식 없이도 개인화된 자동화 솔루션을 구축할 수 있기 때문입니다. Gartner 2024 전망에 따르면, 기업의 75%가 2026년까지 최소 하나의 비즈니스 프로세스에 지능형 자동화를 도입할 것이며, 이는 수동 데이터 처리 시간을 평균 70%까지 단축하고 보고서 작성 오류를 30% 감소시켜 업무 생산성을 2배 이상 향상시킬 것으로 기대됩니다.
이 글에서는 초보자도 쉽게 따라 할 수 있도록 구글 시트와 앱스 스크립트를 활용한 반복 업무 자동화 5단계 실전 가이드를 제시합니다. 코딩 지식이 없어도 괜찮습니다! 지금부터 AI웍스와 함께 스마트한 업무 환경을 구축하고, 잠재된 업무 효율을 극대화해 보세요.

1단계: Apps Script, 코딩 몰라도 괜찮아요! 기본 개념 파악
Google Apps Script(앱스 스크립트)는 구글 워크스페이스(Google Workspace) 애플리케이션(구글 시트, Gmail, 드라이브, 캘린더 등)을 자동화하고 연동하는 데 사용되는 클라우드 기반의 자바스크립트(JavaScript) 플랫폼입니다. 쉽게 말해, 구글 서비스 전용 '스마트 매크로'라고 생각할 수 있습니다. 복잡한 코딩 지식 없이도 직관적인 에디터를 통해 스크립트를 작성하고 실행할 수 있도록 설계되었으며, 구글 계정만 있다면 무료로 사용할 수 있습니다 (Google 공식 문서, 2024년 10월 기준).
Apps Script의 가장 큰 장점은 바로 Google Workspace와의 완벽한 연동성입니다. 구글 시트의 데이터를 읽고 쓰거나, Gmail로 자동 이메일을 보내고, 구글 드라이브에 파일을 생성하거나, 구글 캘린더에 일정을 추가하는 등 다양한 작업을 스크립트 하나로 처리할 수 있습니다. 이러한 통합 기능 덕분에 업무 흐름을 끊김 없이 자동화하여 시간을 절약하고 오류 발생 가능성을 줄일 수 있습니다. 예를 들어, Google Apps Script 공식 가이드는 시트 데이터 처리의 강력한 기능을 상세히 설명합니다.
기존의 구글 시트 매크로가 단일 시트 내에서 기록된 동작을 반복하는 수준이라면, Apps Script는 여러 구글 서비스 간의 복잡한 상호작용을 프로그래밍 방식으로 제어할 수 있는 확장성 높은 자동화 도구입니다. 이는 단순 반복 작업을 넘어, 조건부 로직을 추가하거나 외부 API와 연동하는 등 더욱 정교하고 지능적인 자동화 솔루션을 구축할 수 있게 해줍니다. 따라서 Apps Script는 초보자부터 숙련된 개발자까지 모두에게 유용한 강력한 생산성 향상 도구입니다.

2단계: 핵심 기능 마스터하기 – 시트 데이터 처리부터 이메일 자동화까지
Apps Script는 다양한 구글 워크스페이스 서비스와 연동하여 무궁무진한 자동화 가능성을 제공합니다. 다음은 Apps Script로 가장 많이 활용되는 핵심 기능들입니다. 이 기능들을 익히면 업무 자동화의 기반을 다질 수 있습니다.
- 구글 시트 데이터 제어: 특정 셀 값 읽기/쓰기, 행/열 추가/삭제, 데이터 정렬 및 필터링, 시트 복사/이동.
- Gmail 자동화: 특정 조건에 맞는 이메일 발송, 수신 이메일 분류 및 처리, 첨부 파일 저장.
- 구글 드라이브 파일 관리: 파일 및 폴더 생성, 파일 복사/이동/삭제, 특정 파일 내용 읽기.
- 구글 캘린더 연동: 일정 생성, 변경, 삭제, 특정 기간 일정 조회.
- 외부 API 연동: 타사 서비스(예: 날씨 정보, 주식 시세, CRM 시스템)의 데이터를 가져와 구글 시트에 업데이트하거나, 구글 시트 데이터를 외부 서비스로 보내는 등 확장된 자동화 구현.
Apps Script의 스크립트 에디터는 웹 기반으로 제공되어 별도의 설치 없이 바로 코드를 작성하고 테스트할 수 있습니다. 다음은 가장 기본적인 구글 시트 셀 값을 가져오는 스크립트 예시입니다. 복잡해 보이지만, 실제로는 직관적인 명령어들로 구성되어 있습니다. 더 많은 예시는 Google Apps Script Overview에서 확인할 수 있습니다. AI웍스의 다른 자동화 팁인 2025년 AI 기반 반복 업무 보고서 작성 및 자동 배포 5단계 글을 함께 참고하면 더욱 효과적인 자동화 전략을 수립할 수 있습니다.
function getCellValue() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var cell = sheet.getRange("A1"); // A1 셀 지정
var value = cell.getValue(); // A1 셀 값 가져오기
Logger.log("A1 셀의 값: " + value);
}
3단계: 실전! 반복 업무 자동화 5가지 핵심 스크립트
이제 실제 업무에 적용할 수 있는 5가지 핵심 자동화 시나리오와 스크립트 예시를 살펴보겠습니다. 각 스크립트는 구글 시트에서 '확장 프로그램 > Apps Script' 메뉴를 통해 스크립트 에디터에 붙여넣어 실행할 수 있습니다.
- 특정 조건 만족 시 이메일 자동 발송 (예: 재고 부족 알림)
재고 시트에서 특정 상품의 재고가 임계점 이하로 떨어지면 자동으로 담당자에게 이메일을 보내는 스크립트입니다. 수동 재고 확인 및 알림에 소요되는 시간을 줄이고, 품절로 인한 판매 손실을 방지합니다.function sendStockAlert() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('재고 현황'); var lastRow = sheet.getLastRow(); var dataRange = sheet.getRange(2, 1, lastRow - 1, 3); // B열(재고 수량)과 C열(담당자 이메일) 가정 var data = dataRange.getValues(); for (var i = 0; i < data.length; i++) { var productName = data[i][0]; var stock = data[i][1]; var email = data[i][2]; var threshold = 10; // 재고 부족 임계치 if (stock < threshold) { var subject = '[재고 부족 알림] ' + productName + ' 재고 확인 필요'; var body = '안녕하세요, ' + productName + '의 현재 재고가 ' + stock + '개로 임계치(' + threshold + '개) 이하입니다. 재고를 확인해 주세요.'; GmailApp.sendEmail(email, subject, body); Logger.log(productName + ' 재고 알림 이메일 발송 완료: ' + email); } } } - 매일 특정 시트 데이터 백업 (예: 일일 매출 기록 스냅샷)
매일 지정된 시간에 특정 시트의 데이터를 새로운 시트로 복사하여 백업하는 스크립트입니다. 데이터 손실 위험을 줄이고, 과거 데이터를 쉽게 추적할 수 있도록 돕습니다. Statista 2024 데이터에 따르면, 데이터 손실은 기업에 평균적으로 건당 35만 달러의 손실을 입히는 것으로 추정됩니다.function backupDailySales() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sourceSheet = ss.getSheetByName('오늘의 매출'); var destinationSheetName = '매출 백업_' + Utilities.formatDate(new Date(), ss.getSpreadsheetTimeZone(), 'yyyyMMdd'); var destinationSheet = ss.getSheetByName(destinationSheetName); if (destinationSheet) { Logger.log('이미 백업 시트가 존재합니다: ' + destinationSheetName); return; } sourceSheet.copyTo(ss).setName(destinationSheetName); Logger.log(destinationSheetName + ' 시트 백업 완료.'); } - 외부 API 연동으로 데이터 가져오기 (예: 환율 정보 업데이트)
외부 API를 통해 실시간 데이터를 가져와 구글 시트에 자동으로 업데이트하는 스크립트입니다. 수동으로 데이터를 검색하고 입력하는 시간을 절약하고, 항상 최신 데이터를 유지할 수 있습니다. 이 예시는 공공 API를 활용하여 환율 정보를 가져옵니다.function getExchangeRates() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('환율'); var url = 'https://api.exchangerate-api.com/v4/latest/USD'; // 예시 API, 실제 사용 시 API 키 필요 가능 var response = UrlFetchApp.fetch(url); var json = JSON.parse(response.getContentText()); if (json && json.rates) { sheet.getRange('A1').setValue('USD 기준 환율 업데이트 시간:'); sheet.getRange('B1').setValue(Utilities.formatDate(new Date(), 'GMT', 'yyyy-MM-dd HH:mm:ss')); sheet.getRange('A2').setValue('EUR'); sheet.getRange('B2').setValue(json.rates.EUR); sheet.getRange('A3').setValue('KRW'); sheet.getRange('B3').setValue(json.rates.KRW); Logger.log('환율 정보 업데이트 완료.'); } else { Logger.log('환율 정보 가져오기 실패.'); } } - 시트 변경 시 특정 셀 자동 업데이트 (예: 최종 업데이트 시간 기록)
구글 시트의 특정 셀이 변경될 때마다 최종 업데이트 시간을 자동으로 기록하는 스크립트입니다. 데이터 변경 이력을 간편하게 추적하고, 공동 작업 시 누가 언제 데이터를 수정했는지 쉽게 파악할 수 있습니다.function onEdit(e) { var sheet = e.source.getActiveSheet(); var editedRange = e.range; var lastColumn = sheet.getLastColumn(); // A열부터 마지막 열까지 데이터가 변경될 때마다 실행 if (editedRange.getColumn() >= 1 && editedRange.getColumn() <= lastColumn) { var row = editedRange.getRow(); var timeStampCell = sheet.getRange(row, lastColumn + 1); // 마지막 열 다음 칸에 시간 기록 timeStampCell.setValue(new Date()); } } - 데이터 정렬 및 필터링 자동화 (예: 월별 보고서 데이터 준비)
특정 범위의 데이터를 조건에 따라 자동으로 정렬하거나 필터링하는 스크립트입니다. 매월 반복되는 보고서 데이터 준비 시간을 단축하고, 수동 작업으로 인한 실수를 방지합니다. HBR (Harvard Business Review)의 연구에 따르면, 데이터 준비 시간은 분석 업무의 80%를 차지하는 경우가 많습니다.function sortDataForReport() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('원본 데이터'); var range = sheet.getRange('A2:D'); // A2부터 D열 전체 데이터 range.sort({column: 2, ascending: true}); // B열 기준으로 오름차순 정렬 (예: 날짜) // 특정 조건으로 필터링 (예: 2024년 데이터만) // var filterCriteria = SpreadsheetApp.newFilterCriteria().whenTextContains('2024').build(); // sheet.getFilter().setColumnFilterCriteria(1, filterCriteria); // A열에 2024 포함된 데이터 필터링 Logger.log('보고서 데이터 정렬 및 필터링 완료.'); }

4단계: 트리거 설정 및 고급 활용 팁 – 진정한 자동화를 위해
스크립트를 작성했다면, 이제 이 스크립트를 자동으로 실행되도록 설정해야 합니다. Apps Script의 '트리거(Triggers)' 기능은 특정 시간, 이벤트(예: 시트 편집, 열기) 또는 웹훅(Webhook)에 따라 스크립트가 자동으로 실행되도록 하는 핵심 요소입니다. 진정한 업무 자동화는 바로 이 트리거 설정에서 시작됩니다. Google Cloud Blog (2023년 11월)에서는 클라우드 기반 자동화의 핵심으로 이벤트 기반 트리거의 중요성을 강조합니다.
트리거 설정 방법은 다음과 같습니다:
- 스크립트 에디터 좌측 메뉴에서 '시계' 아이콘 (트리거)을 클릭합니다.
- 우측 하단의 '+ 트리거 추가' 버튼을 클릭합니다.
- '실행할 함수 선택'에서 자동 실행할 함수(예:
sendStockAlert)를 선택합니다. - '이벤트 소스 선택'에서 '시간 기반'(매일, 매주, 특정 시간 등) 또는 '스프레드시트에서'(열릴 때, 수정될 때, 변경될 때 등)를 선택합니다.
- '시간 기반 트리거 유형 선택'에서 '일별 타이머'를 선택하고, '시간 선택'에서 원하는 시간대(예: '오전 8-9시')를 지정합니다.
- '저장' 버튼을 클릭하면 트리거 설정이 완료됩니다.
Apps Script는 대부분의 개인 및 소규모 기업 사용자에게 충분한 무료 할당량(Quota)을 제공합니다. 그러나 대량의 이메일 발송이나 외부 API 호출 시에는 할당량 제한을 초과할 수 있으므로 Google Apps Script Quotas를 확인하여 계획적인 사용이 중요합니다. 또한, 스크립트 실행 중 발생할 수 있는 오류를 처리하기 위한 try-catch 구문과, 디버깅을 위한 Logger.log() 활용은 스크립트의 안정성을 높이는 데 필수적인 고급 팁입니다. 항상 민감한 정보를 다룰 때는 스크립트 권한 설정을 신중하게 검토하여 보안에 유의해야 합니다.
5단계: 수동 vs. 자동, 얼마나 효율적일까요?
Apps Script를 통한 업무 자동화가 실제 업무에 어떤 변화를 가져오는지 구체적인 예를 통해 비교해 보겠습니다. 다음 표는 월간 보고서 데이터를 수동으로 취합하고 분석하는 작업과 Apps Script로 자동화했을 때의 주요 지표를 비교한 것입니다. 이러한 비교는 자동화의 가치를 명확히 보여주며, 여러분의 조직이 얻을 수 있는 이점을 구체적으로 수치화하는 데 도움이 됩니다.
| 지표 | 수동 작업 방식 | Apps Script 자동화 | 개선 효과 |
|---|---|---|---|
| 월간 보고서 작성 시간 | 평균 8시간 (데이터 취합, 정제, 분석 포함) | 평균 2시간 (스크립트 실행 및 결과 검토) | 75% 시간 단축 |
| 데이터 처리 오류율 | 평균 5% (수동 입력, 복사/붙여넣기 실수) | 평균 0.5% (스크립트 검증 후 미미) | 90% 오류 감소 |
| 직원 만족도 | 낮음 (반복적, 지루함, 스트레스) | 높음 (핵심 업무 집중, 창의성 발휘) | 업무 만족도 2배 향상 |
| 의사결정 속도 | 보고서 작성 후 지연 발생 | 실시간에 가까운 데이터 확보 및 보고서 생성 | 의사결정 가속화 |
| 비용 절감 (인건비 기준) | 월 8시간 x 시급 | 스크립트 개발 초기 비용 + 유지보수 (미미) | 장기적 비용 절감 |
지금까지 구글 시트와 앱스 스크립트를 활용한 반복 업무 자동화 5단계를 살펴보았습니다. 이 가이드를 통해 여러분도 업무 효율을 혁신적으로 개선하고, 더 가치 있는 업무에 집중할 수 있기를 바랍니다. AI웍스는 앞으로도 여러분의 생산성 향상을 위한 실용적인 자동화 팁과 AI 기술 정보를 꾸준히 공유하겠습니다.
자주 묻는 질문
Q. 구글 앱스 스크립트를 사용하려면 코딩을 알아야 하나요?
A. 기본적인 코딩 개념(변수, 함수, 조건문)을 이해하면 훨씬 쉽게 활용할 수 있지만, 예시 코드를 복사하여 붙여넣고 일부만 수정하는 방식으로도 충분히 자동화를 구현할 수 있습니다. 대부분의 복잡한 작업은 공식 문서나 커뮤니티에서 제공하는 예시를 참고하여 적용할 수 있습니다.
Q. Apps Script는 무료로 사용할 수 있나요?
A. 네, 구글 계정만 있다면 대부분의 기능은 무료로 사용할 수 있습니다. 단, 스크립트 실행 시간, 이메일 발송 횟수 등 특정 작업에 대한 일일 할당량(quota) 제한이 있습니다. 일반적인 업무 자동화에는 충분한 수준이며, 할당량 초과 시에는 유료 Google Cloud 서비스를 연동해야 할 수도 있습니다.
Q. Apps Script로 어떤 종류의 업무를 자동화할 수 있나요?
A. 구글 시트 데이터 처리(정렬, 필터링, 복사), Gmail 자동 이메일 발송, 구글 드라이브 파일 관리, 구글 캘린더 일정 생성, 외부 웹사이트 또는 API 데이터 가져오기 등 Google Workspace 내의 거의 모든 반복 업무를 자동화할 수 있습니다. 창의적인 아이디어만 있다면 무궁무진한 활용이 가능합니다.
참고자료
- The future of work in a post-pandemic world - McKinsey (2023)
- Gartner Predicts by 2026, 75% of Organizations Will Have Implemented at Least One Intelligent Automation Process in Their Business - Gartner (2024)
- Google Apps Script Overview - Google Developers (2024)
- Average cost of a data breach worldwide in 2023, by country - Statista (2024)
- What Data Scientists Really Do All Day - Harvard Business Review
이 글이 도움이 되셨다면 공유해 주세요.



