AI 업무 자동화

Google Sheets 자동화: 승인 열과 실행 로그로 안전하게 연결하기

Google Sheets에서 접수, 자동 처리 결과, 사람 승인, 실행 시각, 되돌림 상태를 분리해 소규모 업무 자동화를 운영하는 방법을 설명합니다.

작성·검토: Biz2Lab 운영자게시 2026-06-15수정 2026-07-167 분 읽기
스프레드시트 상태 열에서 AI 요약과 알림 패널로 이어지는 자동화 구조

핵심 요약

Google Sheets에서 접수, 자동 처리 결과, 사람 승인, 실행 시각, 되돌림 상태를 분리해 소규모 업무 자동화를 운영하는 방법을 설명합니다.

검증 메모

공식 문서와 실무 예시 대조
작성·검토
Biz2Lab 운영자 · 공개 코드 계정 mizzang0305-oss
검증 내용
트리거, 승인 상태, 실패 로그를 분리한 샘플 시트를 점검하고 Apps Script가 Sheets를 읽고 수정하는 방식은 Google 공식 문서와 대조했습니다.
적용 범위
설계 기준과 검토 절차를 다루며 실제 권한 범위, 할당량, 배포 방식은 사용하는 Google Workspace 환경에서 확인해야 합니다.

확인 가능한 근거

최종 내용 검토일 2026-07-16. 오류 제보와 수정일 원칙은 소개·편집 원칙에서 확인할 수 있습니다.

시트 한 장에 필요한 네 개의 구역

Google Sheets 자동화가 복잡해지는 가장 흔한 이유는 원본, 계산 결과, 승인 상태, 실행 기록이 같은 열에 섞이기 때문입니다. 시트를 다음 네 구역으로 나누면 문제가 생긴 위치를 찾기 쉽습니다.

  1. 접수 원본: 폼, 주문, 문의에서 들어온 값을 수정하지 않고 보관합니다.
  2. 자동 처리 결과: 분류, 요약, 계산 결과를 별도 열에 만듭니다.
  3. 사람 승인: 대기, 승인, 반려, 보류 상태와 승인자를 기록합니다.
  4. 실행 로그: 실제로 무엇이 언제 처리됐는지 남깁니다.

원본 열을 직접 바꾸는 자동화보다 새 열에 결과를 쓰는 자동화가 안전합니다. 승인 전에 잘못된 결과를 발견해도 원본을 기준으로 다시 만들 수 있기 때문입니다.

주문 접수표를 예로 만든 열 설계

요청ID
값의 예
REQ-20260716-001
수정 권한
시스템 생성
원본 주문
값의 예
A상품 2개, 금요일 수령
수정 권한
접수 후 잠금
자동 분류
값의 예
일반 배송
수정 권한
자동화
확인 사유
값의 예
납기 확인 필요
수정 권한
자동화
승인 상태
값의 예
승인대기
수정 권한
담당자
승인자
값의 예
운영담당
수정 권한
담당자
실행 시각
값의 예
비어 있음
수정 권한
실행 단계
되돌림 상태
값의 예
미실행
수정 권한
실행 단계

승인 상태만 보고 실행하지 말고 승인자승인 시각이 모두 존재하는지도 확인합니다. 승인 셀을 복사해 붙였거나 이전 행의 값을 그대로 둔 경우를 막기 위해서입니다.

수식으로 먼저 검증할 수 있는 것

스크립트 없이도 중복과 누락을 찾을 수 있습니다. 예를 들어 요청 ID가 A열에 있다면 다음과 같은 방식으로 중복 후보를 표시할 수 있습니다.

=IF(COUNTIF($A:$A,A2)>1,"중복 확인","")

승인 상태가 승인인데 승인자가 비어 있는 행은 조건부 서식으로 강조합니다. 약속일이 지났지만 처리 상태가 완료가 아닌 행도 색으로 표시할 수 있습니다. 이런 규칙을 일주일 운영해 본 뒤 반복적으로 사람이 하던 상태 변경만 스크립트 후보로 옮깁니다.

Apps Script를 붙이기 전 점검

Google 공식 문서는 Apps Script가 Sheets의 셀을 읽고 수정하고, 메뉴와 트리거를 추가하며, 다른 Google 서비스와 연결할 수 있다고 설명합니다. Google Sheets용 Apps Script 안내

기능이 많다는 사실과 운영에 적합하다는 판단은 다릅니다. 스크립트를 넣기 전에 다음을 정합니다.

  • 파일 소유자가 바뀌면 누가 스크립트를 관리할지
  • 편집 권한을 가진 사용자가 코드를 수정할 수 있는지
  • 실행 실패 알림을 어디에서 확인할지
  • 중복 실행을 막는 요청 ID가 있는지
  • API 키와 비밀값을 셀에 저장하지 않는지
  • 테스트 시트와 실제 운영 시트를 분리했는지

단순 트리거와 설치형 트리거는 권한과 실행 조건이 다르므로, 실제 연결 전에는 공식 문서의 현재 제한을 다시 확인해야 합니다.

승인 로그 샘플

Sheets 자동화 승인 로그 CSV 내려받기

샘플에는 원본 링크, 자동처리 결과, 검토 필요 사유, 승인자, 실행 시각, 되돌림 상태가 포함됩니다. CSV를 새 시트로 가져온 뒤 조직에 맞는 상태값을 추가할 수 있습니다.

실패를 가정한 시험 방법

정상 데이터만 넣으면 자동화의 약점을 찾기 어렵습니다. 시험 시트에는 다음 사례를 일부러 포함합니다.

  • 같은 요청을 두 번 붙여넣기
  • 금액 칸을 빈 상태로 두기
  • 날짜 형식을 문자로 입력하기
  • 승인자를 비워 둔 채 상태만 승인으로 변경하기
  • 100개 행을 한 번에 추가하기
  • 실행 도중 연결 권한을 제거하기

각 사례에서 오류가 조용히 지나가는지, 행이 중복되는지, 담당자에게 알림이 가는지 확인합니다. 자동화가 실패하지 않는 것보다 실패가 보이는 것이 운영에는 더 중요합니다.

시트를 졸업해야 하는 시점

동시에 편집하는 사람이 많고, 권한을 행 단위로 나눠야 하며, 수만 건의 변경 이력을 안정적으로 보관해야 한다면 시트만으로 운영하기 어렵습니다. 시트가 느려졌다고 수식을 더 복잡하게 만들기보다 데이터베이스나 업무 시스템으로 옮길 시점을 검토해야 합니다.

Sheets는 작은 업무를 관찰하고 표준화하는 데 강합니다. 영구적인 모든 업무를 담는 그릇으로 보기보다, 규칙을 확인하고 다음 시스템으로 넘어가기 위한 실험장으로 쓰는 편이 좋습니다.

자주 묻는 질문

Google Sheets에 Apps Script를 꼭 붙여야 자동화인가요?

아닙니다. 드롭다운 상태, 조건부 서식, 수식만으로도 누락 확인과 승인 대기열을 만들 수 있습니다. 반복이 충분히 확인된 뒤에만 Apps Script나 외부 연결을 추가하는 편이 유지보수에 유리합니다.

onEdit 트리거로 고객 메시지를 바로 보내도 되나요?

셀을 잘못 수정하거나 대량 붙여넣기를 했을 때도 실행될 수 있으므로 초기에는 권하지 않습니다. 승인 상태와 실행 대기 상태를 분리하고, 발송은 별도 확인 동작을 거치도록 설계해야 합니다.

시트 자동화가 느려지면 무엇부터 확인하나요?

전체 열 수식, 중복된 외부 참조, 행마다 반복되는 스크립트 호출을 확인합니다. 처리량이 많아지면 배열 단위 읽기·쓰기와 배치 처리를 검토하고, 시트가 적합한 규모인지도 다시 판단해야 합니다.

관련 글

다음 단계

승인된 시트 데이터를 한 페이지 보고로 바꾸는 방법을 확인합니다.

일일 보고서 구조 보기