구글 시트 특정 조건 시 이메일 자동 발송: 앱스스크립트 예제로 해결

구글 시트에 새로운 데이터가 추가되거나 특정 조건(예: 재고 부족)을 만족할 때마다 수동으로 시트를 확인하고 관련 담당자에게 이메일을 보내는 작업에 소중한 시간을 낭비하고 계신가요?

이러한 반복적인 수작업은 단순한 시간 소모를 넘어, 중요한 알림을 놓치거나 업무 지연을 초래하는 근본적인 원인이 됩니다.

이 글에서는 구글 앱스스크립트를 활용하여 구글 시트의 특정 조건에 따라 이메일을 자동으로 발송하는 구체적인 예제 코드와 단계별 설정 가이드를 제공하여, 여러분의 업무를 완벽하게 자동화할 수 있도록 돕습니다.

이 글의 핵심

– 구글 앱스스크립트로 시트 데이터를 모니터링하여 특정 조건을 감지합니다.
– 조건 충족 시 이메일을 자동으로 발송하도록 스크립트를 작성합니다.
– 시간 기반 또는 시트 변경 기반 트리거를 설정하여 완벽한 자동화를 구현합니다.

한 줄 답변

구글 시트에서 특정 조건 충족 시 앱스스크립트 예제로 이메일을 자동으로 발송하는 방법을 알려드립니다.

반복적인 이메일 발송, 왜 자동화해야 할까요?

구글 시트는 데이터를 관리하고 협업하는 데 매우 강력한 도구이지만, 특정 상황에 맞춰 누군가에게 이메일을 보내야 할 때는 여전히 수동 작업의 굴레에서 벗어나기 어렵습니다. 예를 들어, 재고 목록에서 특정 품목의 수량이 5개 미만으로 떨어지거나, 고객 문의 시트에 새로운 글이 등록될 때마다 일일이 확인하고 이메일을 보내는 작업은 생산성을 크게 떨어뜨립니다.

이러한 수동 검토와 발송 과정은 하루에 최소 10분에서 최대 30분 이상의 시간을 소모할 수 있으며, 사람이 직접 처리하기 때문에 오류 발생 가능성도 높습니다. 더 중요한 것은 중요한 알림을 적시에 보내지 못해 비즈니스 기회를 놓치거나 고객 불만을 야기할 수 있다는 점입니다.

구글 앱스스크립트를 활용한 자동화는 이러한 문제를 근본적으로 해결합니다. 한 번의 설정으로 시트의 변화를 실시간에 가깝게 감지하고, 정해진 조건에 따라 정확한 이메일을 발송함으로써 업무 부담을 획기적으로 줄이고, 중요한 알림을 100% 놓치지 않고 처리할 수 있습니다.

참고
반복적인 수동 작업은 생각보다 더 많은 비용과 기회 손실을 가져옵니다. 자동화는 단순한 편의를 넘어 업무 효율성과 정확성을 극대화하는 핵심 전략입니다.
구글 앱스스크립트 구글 시트 이메일 자동화 예제

Photo by cottonbro studio on Pexels

구글 앱스스크립트 시작하기: 기본 환경 설정

구글 앱스스크립트는 구글 워크스페이스(Google Workspace) 애플리케이션들을 자동화하고 통합할 수 있는 자바스크립트 기반의 개발 플랫폼입니다. 구글 시트와 긴밀하게 연동되어 시트의 데이터에 접근하고, 변경 사항을 감지하며, Gmail을 통해 이메일을 보내는 등 다양한 작업을 수행할 수 있습니다.

앱스스크립트를 시작하는 방법은 매우 간단합니다. 먼저, 자동화를 적용할 구글 시트를 엽니다. 상단 메뉴에서 ‘확장 프로그램’을 클릭한 다음, ‘Apps Script’를 선택하면 새로운 스크립트 편집기 창이 열립니다. 이 창에서 자바스크립트 코드를 작성하고 저장하며, 실행 및 디버깅할 수 있습니다.

스크립트 편집기에서 코드를 작성한 후에는 반드시 저장(디스크 모양 아이콘)해야 합니다. 스크립트를 처음 실행할 때는 구글 계정의 승인 과정이 필요합니다. 스크립트가 여러분의 시트와 Gmail에 접근할 권한을 요청하므로, 안내에 따라 승인해 주어야 정상적으로 작동합니다.

구글 앱스스크립트 구글 시트 이메일 자동화 예제

Photo by Mikhail Nilov on Pexels

구글 시트 조건부 이메일 자동 발송: 3단계 구현 가이드

이제 구글 시트의 특정 조건에 따라 이메일을 자동 발송하는 구체적인 방법을 알아보겠습니다. 다음 예제는 ‘재고’라는 시트에서 ‘재고 수량’ 열의 값이 10 미만일 경우, 담당자에게 ‘재고 부족 알림’ 이메일을 보내는 스크립트입니다.

먼저, 구글 시트의 ‘확장 프로그램 > Apps Script’를 통해 스크립트 편집기를 엽니다. 기존 코드는 모두 지우고 아래 스크립트 코드를 복사하여 붙여넣습니다.

  1. 스크립트 작성 — 다음 코드를 스크립트 편집기에 붙여넣고 저장합니다.

function sendLowStockAlert() {
  var sheetName = ‘재고’; // 조건을 확인할 시트 이름
  var emailRecipient = ‘담당자이메일@example.com’; // 알림을 받을 담당자 이메일 주소
  var subject = ‘재고 부족 알림: 긴급 확인 필요’; // 이메일 제목
  var stockThreshold = 10; // 재고 부족 기준 수량

  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = spreadsheet.getSheetByName(sheetName);

  if (!sheet) {
    Logger.log(‘시트 이름 “‘ + sheetName + ‘”을 찾을 수 없습니다.’);
    return;
  }

  var dataRange = sheet.getDataRange();
  var values = dataRange.getValues();

  var alertMessages = [];

  // 첫 번째 행은 헤더이므로 두 번째 행부터 시작
  for (var i = 1; i < values.length; i++) {
    var row = values[i];
    var itemName = row[0]; // A열: 품목 이름
    var stockQuantity = row[2]; // C열: 재고 수량 (0부터 시작하므로 3번째 열은 인덱스 2)

    if (typeof stockQuantity === ‘number’ && stockQuantity < stockThreshold) {
      alertMessages.push(‘품목: ‘ + itemName + ‘, 현재 재고: ‘ + stockQuantity + ‘개’);
    }
  }

  if (alertMessages.length > 0) {
    var body = ‘다음 품목들의 재고가 부족합니다. 확인 후 조치 바랍니다.

‘ + alertMessages.join(‘
‘) + ‘

구글 시트 바로가기: ‘ + spreadsheet.getUrl();
    GmailApp.sendEmail(emailRecipient, subject, ”, {htmlBody: body});
    Logger.log(‘재고 부족 알림 이메일이 발송되었습니다.’);
  } else {
    Logger.log(‘재고 부족 품목이 없습니다.’);
  }
}

  1. 스크립트 세부 설정 — 코드 내의 sheetName, emailRecipient, stockThreshold 값을 여러분의 환경에 맞게 수정합니다. 예를 들어, 재고 수량 열이 C열이 아닌 D열에 있다면 row[2]row[3]으로 변경해야 합니다.
  2. 트리거 설정 — 스크립트 편집기 왼쪽 메뉴에서 시계 아이콘(트리거)을 클릭합니다. ‘트리거 추가’ 버튼을 눌러 다음과 같이 설정합니다.
    • 실행할 함수 선택: sendLowStockAlert
    • 이벤트 소스 선택: ‘시간 기반’ 또는 ‘스프레드시트에서’
    • 시간 기반: ‘분 타이머’를 선택하고 ’15분마다’ 또는 ‘1시간마다’ 등 원하는 주기를 설정합니다. 이 방식은 일정 시간마다 시트를 확인합니다.
    • 스프레드시트에서: ‘시트 변경 시’를 선택합니다. 이 방식은 시트에 데이터가 변경될 때마다 스크립트가 실행되어 실시간에 가까운 알림을 제공합니다.

    설정이 완료되면 ‘저장’ 버튼을 누릅니다. 최초 실행 시 구글 계정 승인이 필요할 수 있습니다.

주의
트리거 설정 시 ‘스프레드시트에서’ 이벤트를 선택할 경우, 불필요하게 자주 스크립트가 실행되어 구글 앱스스크립트 일일 할당량 제한에 걸릴 수 있습니다. 대부분의 경우 ‘시간 기반’ 트리거(예: 30분 또는 1시간 간격)가 더 효율적입니다.
구글 앱스스크립트 구글 시트 이메일 자동화 예제

Photo by Tima Miroshnichenko on Pexels

자동화 스크립트 실행 및 관리 팁

스크립트가 제대로 작동하는지 확인하려면, 스크립트 편집기에서 함수 이름(예: sendLowStockAlert) 옆의 ‘실행’ 버튼(재생 아이콘)을 눌러 수동으로 실행해 볼 수 있습니다. 실행 로그를 통해 스크립트의 작동 여부와 오류 메시지를 확인할 수 있습니다. ‘실행’ 메뉴에서 ‘내 실행’을 클릭하면 과거 실행 기록을 상세하게 볼 수 있습니다.

자동화 시스템은 한 번 설정하면 편리하지만, 주기적인 관리가 필요합니다. 특히 이메일 발송 조건이 자주 바뀌거나, 시트의 구조가 변경될 때는 스크립트 코드도 함께 수정해야 합니다. 또한, 특정 조건에 대한 이메일이 너무 자주 발송되어 스팸으로 처리되지 않도록, 이메일 발송 빈도나 조건을 신중하게 설정하는 것이 좋습니다.

더 나아가, 이메일 내용에 시트의 특정 셀 값을 동적으로 포함시키거나, 여러 수신자에게 동시에 다른 내용의 이메일을 보내는 등 다양한 방식으로 스크립트를 확장할 수 있습니다. 예를 들어, 재고 부족 알림 시트에서 담당자 이메일 주소를 직접 가져와 해당 품목의 담당자에게만 이메일을 보내는 고급 기능도 구현 가능합니다. 이러한 확장성은 앱스스크립트의 가장 큰 장점 중 하나입니다.

정리

구글 앱스스크립트를 활용하면 구글 시트의 특정 조건에 따라 이메일을 자동 발송하는 작업을 손쉽게 구현할 수 있습니다. 스크립트 작성, 세부 설정, 그리고 트리거 지정을 통해 반복적인 수동 작업을 줄이고, 중요한 알림을 적시에 전달하여 업무 효율성을 극대화할 수 있습니다.

지금 바로 적용해 보세요.

참고 자료

  • Google Apps Script 공식 문서 — 앱스스크립트의 기본 개념부터 고급 기능까지 상세한 정보를 제공합니다.
  • GmailApp 클래스 참조 — 앱스스크립트에서 이메일 관련 기능을 사용할 때 필요한 메서드들을 확인할 수 있습니다.

동영상으로 보는 구글 앱스스크립트 구글 시트 이메일 자동화 예제

글로 충분하지 않다면 관련 영상을 함께 보세요. 클릭하면 YouTube에서 검색 결과로 이동합니다.

▶ YouTube에서 “구글 앱스스크립트 구글 시트 이메일 자동화 예제” 영상 보기

자주 묻는 질문

Q. 구글 앱스 스크립트란 무엇이며, 이메일 자동 발송에 왜 유용한가요?

A. 구글 앱스 스크립트는 구글 시트, Gmail 등 구글 서비스 간의 통합 및 자동화를 위한 자바스크립트 기반 개발 플랫폼입니다. 이를 활용하면 구글 시트에서 특정 조건이 충족될 때 자동으로 이메일을 발송하는 등 반복적인 작업을 코딩으로 간편하게 자동화할 수 있습니다.

Q. 구글 시트에서 어떤 ‘특정 조건’을 설정하여 이메일을 자동 발송할 수 있나요?

A. 이메일 발송 조건은 시트 내 데이터에 따라 매우 유연하게 설정할 수 있습니다. 예를 들어, 특정 셀의 값이 특정 임계치를 넘을 때, 새로운 행이 추가될 때, 특정 날짜가 도래할 때 등 다양한 데이터 기반 조건으로 이메일 자동 발송을 트리거할 수 있습니다.

Q. 프로그래밍 경험이 없는 사용자도 앱스 스크립트 예제를 쉽게 따라 할 수 있을까요?

A. 네, 가능합니다. 이 블로그 글에서는 프로그래밍 경험이 없는 분들도 쉽게 이해하고 따라 할 수 있도록 상세한 설명과 함께 앱스 스크립트 예제를 제공할 예정입니다. 기본적인 개념과 스크립트 작성 방법을 차근차근 익혀 직접 자동화 기능을 구현하실 수 있습니다.

Q. 이메일 자동 발송 시, 발송 건수에 제한이나 비용이 발생하나요?

A. 구글 앱스 스크립트에는 하루 동안 보낼 수 있는 이메일 수에 대한 할당량 제한이 있습니다. 일반 Gmail 계정은 하루 100건, Google Workspace 계정은 더 많은 수의 이메일 발송이 가능하며, 이 할당량 내에서는 별도의 비용 없이 무료로 이용할 수 있습니다.


댓글 남기기

Mebys Blog에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기