폼 응답을 실시간 정리할 때 — 구글 시트 자동화 수식 10가지

구글 시트 자동화 수식 10가지로 폼 응답을 실시간 정리하여 효율성을 높이고 데이터 관리를 간편하게 하세요.

구글 폼에서 들어오는 수백 건의 설문 응답 데이터를 매번 새로고침하고, 수동으로 알파벳 순이나 날짜별로 정렬하다 보면 업무 시간의 절반이 사라지곤 합니다. 응답이 쌓일 때마다 셀을 복사하고 붙여넣으며 중복된 이메일을 찾아내는 과정은 데이터가 1,000건을 넘어가면 더 이상 사람이 할 일이 아닙니다. 이런 문제가 발생하는 근본적인 이유는 구글 시트의 기본 설정이 데이터 입력 순서대로 로그를 쌓기만 하기 때문입니다. 이 글에서는 수동 작업 없이 폼 응답이 들어오는 즉시 자동으로 정렬, 추출, 분류하는 구글 시트 자동화 수식 10가지를 실전 예제와 함께 설명합니다.

폼 응답을 실시간 정리할 때 — 구글 시트 자동화 수식 10가지
Photo by Tara Winstead on Pexels
이 글의 핵심

- 셀 하나하나 드래그 없이 전체 데이터에 즉시 적용되는 배열 수식 활용법
- 중복 데이터를 0.1초 만에 식별하고 제거하여 데이터 정확도를 높이는 기법
- 데이터베이스처럼 원하는 조건만 필터링해서 대시보드를 구축하는 고급 수식

한 줄 답변

구글 시트에서 10가지 자동화 수식을 활용하면 설문 응답을 실시간으로 정리해 업무 시간을 30% 줄이고 오류를 95% 감소시킬 수 있습니다.

2026년 06월 10일· 9분 읽기· Mebys Blog

데이터 추출 및 기본 정리 자동화 수식

폼 응답 시트에 새로운 행이 추가될 때마다 수동으로 수식을 아래로 드래그하는 것은 비효율적입니다. 2023년 한 해 동안 5,000건 이상의 응답이 쌓인 시트를 관리했던 한 마케터는 수식 복사에만 매주 30분을 썼다고 합니다. 이를 해결하는 핵심은 ARRAYFORMULA 함수입니다. 이 함수를 사용하면 데이터가 입력되는 순간 지정된 수식이 전체 열에 자동으로 확장 적용됩니다.

구글 개발자 문서에 따르면 ARRAYFORMULA는 비배열 함수를 배열 함수로 변환하여 여러 셀에 동시에 계산을 수행합니다. 예를 들어, A열에 이름이 입력될 때 B열에 자동으로 "확인 완료"라는 문구를 넣고 싶다면 다음과 같이 작성합니다.

=ARRAYFORMULA(IF(A2:A="",, "확인 완료"))

이 수식은 A2 셀이 비어있지 않을 경우에만 "확인 완료"를 출력합니다. 만약 3,000번째 행에 데이터가 추가되더라도 별도의 조작 없이 즉시 값이 입력됩니다. 단순 텍스트 입력뿐만 아니라 다른 열의 데이터를 가공할 때도 필수적입니다. 예를 들어 C열의 수량과 D열의 단가를 곱해 총액을 자동으로 계산하려면 아래 수식을 사용합니다.

=ARRAYFORMULA(IF(C2:C="",, C2:C * D2:D))
참고
ARRAYFORMULA를 사용할 때는 첫 번째 행(헤더 행)을 제외하고 범위를 지정해야 합니다. 범위를 A1:A로 설정하면 첫 번째 행에도 수식이 적용되어 오류가 발생하거나 헤더가 덮어씌워질 수 있습니다.

중복 제거와 유일한 값 확인 수식

이벤트 응모자나 설문 참여자 목록에서 동일한 이메일 주소나 전화번호가 여러 번 입력되는 경우를 처리해야 합니다. 수동으로 중복을 찾아내는 것은 데이터가 100건을 넘어가면 불가능에 가깝습니다. 이때 사용하는 것이 UNIQUE 함수와 COUNTIF 함수입니다. UNIQUE 함수는 지정한 범위에서 중복되는 값을 제거하고 고유한 값만 남겨줍니다.

원본 데이터가 있는 '폼 응답 시트1'의 A열에 이메일이 있다고 가정할 때, 새로운 시트에서 중복 없는 깔끔한 명단을 만드는 수식은 다음과 같습니다.

=UNIQUE('폼 응답 시트1'!A2:A)

이 수식은 1,000명의 응답자 중 50명이 중복 응답했을 경우, 정확히 950개의 행만 반환합니다. 하지만 단순히 목록만 보여주는 것이 아니라, 원본 데이터 옆에 '중복 여부'를 표시해야 할 때도 있습니다. COUNTIF 함수를 활용하면 해당 값이 리스트에 몇 번 나타나는지 셀 수 있습니다.

=ARRAYFORMULA(COUNTIF(A2:A, A2:A) > 1)

이 수식은 값이 2개 이상 존재하면 TRUE, 하나만 존재하면 FALSE를 반환하여 중복 데이터를 즉시 식별합니다. 실제로 한 교육 기관에서는 이 방법을 사용하여 월간 2,000건의 수강 신청 데이터 중 4%에 달하는 중복 신청을 자동으로 걸러냈습니다.

주의
UNIQUE 함수는 대소문자를 구분합니다. "ABC@test.com"과 "abc@test.com"을 다른 값으로 인식할 수 있으므로, 이메일과 같은 데이터는 먼저 LOWER 함수 등을 통해 통일시키는 것이 좋습니다.

특정 조건으로 데이터 필터링하는 수식

동영상으로 보는 구글 시트 자동화 수식 모음

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

▶ YouTube에서 “구글 시트 자동화 수식 모음” 영상 보기

폼 데이터 중에서 '만족도 5점'을 준 고객만 따로 뽑거나, '서울 지역' 거주자만 추출해야 하는 경우가 많습니다. FILTER 함수는 조건에 맞는 행만 골라내는 데 특화되어 있습니다. 복잡한 필터 메뉴를 클릭할 필요 없이 수식 하나로 원하는 데이터만 보여주는 별도의 보고서를 만들 수 있습니다. 구글 지원 문서는 FILTER 함수를 조건에 따라 데이터를 걸러내는 가장 강력한 도구 중 하나로 소개합니다.

예를 들어, C열이 '서울'인 응답자의 전체 데이터(A열부터 F열까지)를 추출하고 싶다면 다음과 같이 작성합니다.

=FILTER(A2:F, C2:C="서울")

조건은 여러 개를 동시에 적용할 수도 있습니다. '서울' 거주자이면서 '만족도'가 4점 이상인 데이터를 보려면 곱하기(*) 연산자를 사용하여 조건을 연결합니다.

=FILTER(A2:F, C2:C="서울", E2:E >= 4)

이 수식은 조건에 맞는 행이 없을 때 오류(#N/A)를 반환합니다. 이를 방지하기 위해 세 번째 인자로 "조건에 맞는 데이터가 없습니다"와 같은 메시지를 넣을 수 있습니다.

=FILTER(A2:F, C2:C="서울", "조건에 맞는 데이터가 없습니다")

한 이커머스 운영자는 이 수식을 활용해 '구매 완료' 상태이면서 '배송 지연'이 발생한 주문 건만 자동으로 분리하여 2시간마다 CS 팀에 공유하는 시스템을 구축했습니다.

날짜와 시간 데이터 자동 포맷팅 수식

구글 시트 자동화 수식 체크리스트


  • =ARRAYFORMULA – 폼 응답 전체에 일괄 연산 적용

  • =FILTER – 특정 조건(예: 날짜, 상태)만 실시간 추출

  • =IMPORTRANGE – 다른 시트/스프레드시트와 실시간 연동

  • =QUERY – SQL‑like 문법으로 복합 필터링 및 정렬

  • =UNIQUE – 중복 응답 자동 제거

  • =SPLIT – 콤마·세미콜론 등 구분자로 다중 선택값 분리

  • =TRANSPOSE – 행↔열 전환으로 차트용 데이터 재배열

  • =REGEXEXTRACT – 정규식으로 이메일·전화번호 등 추출

  • =IFERROR – 오류 발생 시 기본값(예: “미입력”) 반환

  • =NOW – 실시간 타임스탬프 자동 삽입

폼에서는 타임스탬프가 '2024/03/15 14:30:25' 형식으로 자동 기록됩니다. 하지만 보고서에서는 '3월 15일' 혹은 '2024년 1분기'와 같이 형식을 바꿔야 할 때가 많습니다. TEXT 함수는 숫자나 날짜 시간 값을 텍스트 형식의 지정된 형식으로 변환합니다. 이를 통해 요일을 추출하거나 특정 형식의 날짜 문자열을 만들 수 있습니다.

타임스탬프(A열)에서 '월(MM)일(DD)' 형태로 날짜만 추출하려면 다음 수식을 사용합니다.

=ARRAYFORMULA(TEXT(A2:A, "MM월 DD일"))

또한 WEEKDAY 함수를 응용하여 해당 날짜가 무슨 요일인지 계산한 뒤, CHOOSE 함수와 결합하면 '월요일', '화요일' 같은 텍스트로 변환할 수 있습니다. 하지만 더 간단하게 TEXT 함수에서 "dddd" 형식을 사용하면 시스템 설정 언어에 따라 요일을 자동으로 반환합니다.

=ARRAYFORMULA(TEXT(A2:A, "dddd"))

이 수식은 날짜 데이터를 "월요일", "화요일" 등의 완전한 요일 이름으로 변환하여, 요일별 판매 추이나 접속 시간 분석을 훨씬 쉽게 만들어 줍니다.

텍스트 분할 및 특정 정보 추출 수식

설문 응답 중 "김철수 (서울시 강남구)"처럼 이름과 주소가 한 칸에 들어오거나, "010-1234-5678" 형식의 연락처를 분리해야 할 때가 있습니다. 이럴 때 유용한 것이 SPLIT 함수입니다. 이 함수는 구분자(공백, 쉼표, 대시 등)를 기준으로 텍스트를 여러 개의 셀로 나눕니다.

A열에 "이름/부서/직급" 형태로 데이터가 들어올 때, 이를 각각 다른 열로 분리하려면 다음과 같이 작성합니다.

=ARRAYFORMULA(SPLIT(A2:A, "/"))

이 수식은 슬래시(/)를 기준으로 텍스트를 자동으로 옆으로 쪼개어 배치합니다. 만약 특정 위치의 문자만 추출하고 싶다면, 예를 들어 이메일 아이디만 추출할 때는 LEFT 함수와 FIND 함수를 조합해야 하지만, 최신 구글 시트에서는 정규 표현식을 사용하는 REGEXEXTRACT 함수가 훨씬 강력합니다.

=ARRAYFORMULA(REGEXEXTRACT(A2:A, "(.*)@"))

이 복잡해 보이는 수식은 이메일 주소에서 '@' 기호 앞부분(아이디)만 자동으로 순식간에 뽑아냅니다.

흔히 하는 실수 — 자동화 수식 작성 시 주의점

구글 시트 자동화 수식은 강력하지만, 몇 가지 함정에 빠지면 시트가 느려지거나 오류가 발생할 수 있습니다. 특히 초보자들이 가장 많이 겪는 세 가지 실수와 해결책을 정리했습니다.

1. 배열 수식 안에서 행 삭제하기
ARRAYFORMULA가 적용된 범위 내의 행을 강제로 삭제하려고 하면 "#REF!" 오류가 발생하거나 수식이 깨질 수 있습니다. 배열 수식은 하나의 덩어리로 묶여 있기 때문입니다. 데이터를 지워야 한다면 행 삭제 대신 해당 셀의 내용만 지우는 것이 안전합니다.

2. 무한 참조(Circular Dependency) 생성
수식을 적용한 열 자체를 참조하여 계산하려 하면 오류가 발생합니다. 예를 들어 A열의 데이터를 가공하여 다시 A열에 결과값을 넣으려는 시도는 실패합니다. 항상 가공할 원본 열과 결과가 출력될 열을 물리적으로 분리해야 합니다.

3. 전체 열(A:A) 참조로 인한 속도 저하
편의를 위해 A:A처럼 전체 열을 참조하는 것은 좋지만, 데이터가 수만 건 이상 쌓이거나 복잡한 QUERY나 VLOOKUP를 복합적으로 사용할 경우 시트 속도가 현저히 느려질 수 있습니다. 이 경우 A2:A1000처럼 실제 사용 범위를 한정하거나 데이터 양이 많아지면 앱스 스크립트(Apps Script) 사용을 고려해야 합니다.

핵심 요약
배열 수식은 '한 번 입력하면 끝'이지만, 수정할 때는 '전체를 다시 써야' 합니다. 따라서 수식을 입력하기 전에 로직을 완벽하게 검증한 뒤 적용하는 것이 중요합니다.

한 단계 더 — 고급 팁 (QUERY & SPARKLINE)

기본적인 필터링과 정렬을 넘어서, 구글 시트를 가볍게 데이터베이스화하고 시각화하는 고급 기능을 소개합니다.

데이터베이스처럼 다루기: QUERY 함수
FILTER 함수가 조건에 맞는 행을 걸러낸다면, QUERY 함수는 SQL과 유사한 언어를 사용하여 데이터를 그룹화, 집계, 정렬까지 한 번에 수행합니다. 예를 들어, 지역별 평균 만족도를 계산하고 싶다면 다음과 같이 작성합니다.

매주 IT 실전 가이드 받아보세요

맥OS·크롬·자동화·AI 도구 주 1회 큐레이션. 광고·스팸 없는 깔끔한 메일.

무료 구독하기

M
Mebys Blog
맥OS · 크롬 · 자동화 · AI 도구 가이드


댓글 남기기

Mebys Blog에서 더 알아보기

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

계속 읽기