구글 스프레드시트 업무자동화, 왜 연결 단계에서 멈추는가

구글 스프레드시트를 매일 쓰는 팀일수록 업무자동화 도입 시 특정 지점에서 반복적으로 막힌다. 도구 자체가 문제가 아니다. 연결 구조를 잘못 설계했기 때문이다.

문제는 스프레드시트가 아니라 '연결 방식'에 있다

대부분의 팀은 스프레드시트를 데이터 저장소로 쓴다. 주문 현황, 상담 이력, 재고 수량, 예약 목록이 시트 안에 쌓인다. 그런데 자동화를 붙이려는 순간 질문이 생긴다. "어느 열이 트리거가 되어야 하지?" "값이 바뀌면 어떻게 감지하지?" "여러 시트에 데이터가 흩어져 있으면 어디서 읽어야 하지?"

이 질문들에 답하지 못한 채 Zapier나 Make 같은 자동화 툴을 연결하면, 워크플로우는 처음 며칠만 돌아가다 조용히 멈춘다. 오류 로그를 확인해보면 대부분 같은 원인이다. 시트 구조가 자동화 친화적으로 설계되지 않았다.

스프레드시트를 잘 쓰는 것과 자동화에 연결 가능한 구조로 만드는 것은 다른 기술이다.

자동화 연결이 막히는 세 가지 구조적 원인

트리거 열이 명확하지 않다

자동화 툴은 "무언가가 바뀌었을 때" 작동한다. 그런데 많은 시트는 상태값이 여러 열에 분산되어 있다. "확인", "완료", "처리중" 같은 값이 담당자마다 다른 열에, 다른 표현으로 입력된다. 자동화 툴은 이 변화를 일관되게 감지하지 못한다.

해결 기준은 단순하다. 상태를 나타내는 열은 하나로 고정하고, 입력값은 드롭다운으로 제한한다.

시트가 보고용과 입력용으로 분리되지 않았다

보고용 시트는 피벗, 필터, 병합 셀이 많다. 이 구조는 자동화 툴이 읽기 어렵다. 병합 셀은 API로 읽을 때 빈 값으로 처리되고, 필터가 적용된 행은 순서가 달라진다.

입력용 시트는 1행이 헤더, 2행부터 데이터가 쌓이는 단순 테이블 구조여야 한다. 보고용 시트는 별도로 만들고, 자동화는 입력용 시트만 바라보게 한다.

데이터가 여러 시트에 수평으로 흩어져 있다

월별로 탭을 나누는 팀이 많다. 1월 탭, 2월 탭, 3월 탭. 자동화 툴이 특정 탭을 지정해서 읽기 때문에, 월이 바뀌면 워크플로우 설정을 매번 수정해야 한다. 결국 담당자가 직접 탭을 바꿔주지 않으면 자동화가 멈춘다.

데이터는 하나의 탭에 수직으로 쌓는다. 날짜 열을 두고 필터링은 자동화 툴이나 별도 보고 시트에서 처리한다.

자동화 연결을 위한 시트 설계 프레임워크

세 가지 원칙으로 정리된다.

첫째, 입력 시트는 단일 테이블 구조를 유지한다. 헤더는 1행, 데이터는 2행부터, 병합 셀 없음, 수식은 최소화.

둘째, 상태 관리 열을 하나로 고정한다. 열 이름은 status처럼 영문 소문자로 통일하면 자동화 툴에서 참조할 때 오류가 줄어든다. 값은 대기, 처리중, 완료처럼 드롭다운으로 제한한다.

셋째, 자동화 툴이 쓰는 시트와 사람이 보는 시트를 분리한다. 자동화는 원본 입력 시트를 읽고 쓴다. 팀원이 보는 대시보드나 보고서는 QUERY 함수나 피벗으로 별도 탭에 구성한다.

이 세 원칙을 지키면 Zapier, Make, Apps Script 어느 도구를 써도 연결이 안정적으로 유지된다.

구글 스프레드시트 업무자동화, 왜 연결 단계에서 멈추는가

업종별 적용 사례

자사몰 운영팀의 주문 처리 자동화

카페24나 아임웹 기반 자사몰을 운영하는 팀은 주문 데이터를 스프레드시트로 내려받아 관리하는 경우가 많다. 이 시트에 status 열을 추가하고, 값이 발송완료로 바뀌면 자동으로 고객에게 배송 안내 메시지를 보내는 구조를 만들 수 있다. 문제는 많은 팀이 주문 시트를 월별 탭으로 나눠 관리한다는 점이다. 자동화 툴이 바라보는 탭이 고정되어 있어, 월이 바뀌면 발송이 멈춘다. 단일 탭으로 통합하고 날짜 열로 구분하는 것만으로 이 문제가 해결된다.

학원의 수강 상담 관리

수강 문의가 들어오면 상담 시트에 행이 추가된다. 상담상태 열이 미연락으로 입력되면 담당 강사에게 슬랙 알림이 가고, 등록완료로 바뀌면 수강생 명단 시트에 자동으로 행이 추가되는 흐름이다. 이 구조가 작동하려면 상담 시트의 열 이름과 값이 일관되게 유지되어야 한다. 담당자가 바뀔 때마다 열 이름을 수정하거나 값을 임의로 입력하면 자동화는 조용히 멈춘다.

부동산 중개사무소의 매물 관리

매물 시트에 계약상태 열을 두고, 값이 계약완료로 바뀌면 해당 매물 정보를 별도 완료 시트로 이동하고 담당자에게 이메일을 보내는 흐름을 구성할 수 있다. 이 사무소가 기존에 쓰던 시트는 월별 탭으로 나뉘어 있었고, 매물 상태를 나타내는 열이 세 개였다. 구조를 단일 탭, 단일 상태 열로 정리한 후에야 자동화 연결이 안정적으로 작동했다.

자동화 설계 전에 점검해야 할 것

구글 스프레드시트 업무자동화는 도구 선택보다 시트 구조 설계가 먼저다. 어떤 자동화 툴을 쓸지 고민하기 전에, 지금 쓰는 시트가 단일 테이블 구조인지, 상태 열이 하나로 통일되어 있는지, 탭이 월별로 분리되어 있지 않은지를 먼저 확인한다.

다음 글에서는 Apps Script 없이 Make와 구글 스프레드시트만으로 실무 워크플로우를 구성하는 방법을 단계별로 다룬다.

FAQ

Q. 구글 스프레드시트와 자동화 툴을 연결할 때 가장 먼저 확인해야 할 것은 무엇인가

시트의 1행이 헤더로 고정되어 있는지, 병합 셀이 없는지를 먼저 확인한다. 자동화 툴은 헤더 이름을 기준으로 열을 인식하기 때문에, 헤더가 없거나 병합 셀이 섞여 있으면 데이터를 정확하게 읽지 못한다. 시트를 열었을 때 1행 전체가 열 이름으로 채워져 있고, 2행부터 데이터가 시작되는 구조인지 확인하는 것이 출발점이다.

Q. 월별로 탭을 나눠 관리하던 시트를 하나로 합치면 기존 수식이 깨지지 않는가

기존 수식이 탭 이름을 직접 참조하고 있다면 수정이 필요하다. 단일 탭으로 통합한 후에는 날짜 열을 기준으로 QUERY 함수나 필터를 사용해 기간별 데이터를 불러오는 방식으로 전환한다. 보고용 시트는 별도 탭에 두고, 원본 데이터 탭은 자동화 툴만 접근하도록 구분하면 수식 충돌 없이 운영할 수 있다.

Q. 팀원마다 상태값을 다르게 입력하는 문제를 어떻게 막는가

구글 스프레드시트의 데이터 유효성 검사 기능으로 드롭다운 목록을 설정한다. 상태 열을 선택한 후 데이터 메뉴에서 데이터 유효성 검사를 열고, 허용 값 목록을 직접 입력한다. 목록에 없는 값은 입력이 거부되도록 설정하면 자동화 툴이 인식하는 값이 항상 일관되게 유지된다.

지금 우리 팀의 그로스 구조를 점검할 시점인가요?

Reinventing은 마케팅 구조를 진단하고, 유입·유지·매출이 실제로 작동하는 성장 시스템을 설계합니다.

플라이휠 그로스 진단 문의하기 →