HowtoAI
ai-automation2026-07-29 5 min read

행사 참가자 명단 자동 정리 6단계 2026 — 신청 수합부터 대기자 관리까지

🤖
HowtoAI 편집팀AI 전문 에디터

AI 기술을 누구나 쉽게 활용할 수 있도록 실전 가이드를 작성합니다. ChatGPT, Claude, AI 자동화, SEO 분야를 전문으로 다룹니다.

📅 2026-07-29⏱️ 5 min read🌐 how-toai.com
목차 보기

행사 신청을 구글폼으로 받아두면 첫날은 깔끔하거든요. 며칠 지나면 같은 사람이 두 번 적혀 있고, 이름이 같은 사람이 둘이라 누가 오는 건지 헷갈리기 시작해요.

마감 직전에 명단을 다시 세다가 정원을 넘겨 받아버린 걸 그제야 알게 되는 일도 흔하고요.

결론부터 말하면, 명단을 시트 위의 '문서'로 보는 한 이 문제는 안 없어져요. 신청자 한 명을 접수·중복·확정·대기·취소라는 상태를 가진 데이터로 두고, 상태가 바뀌는 지점마다 무엇을 자동으로 넘기고 무엇을 사람이 판단할지 미리 갈라두면 마감 직전 재작업이 사라지거든요. 다만 행사 성격과 정원 운영 방식에 따라 자동으로 넘길 수 있는 구간이 달라지니까, 아래 6단계에서 그 경계를 하나씩 짚어볼게요.

행사 참가자 명단 관리는 문서가 아니라 상태 데이터예요

행사 참가자 명단 관리의 핵심은 "지금 이 사람이 어느 상태인가"를 한 칸으로 답할 수 있게 만드는 거예요. 이름과 연락처 옆에 상태 칸을 하나 두고 접수·중복·확정·대기·취소 중 하나만 들어가게 하면, 명단을 세는 일이 사람 눈으로 훑는 일에서 칸을 세는 일로 바뀌거든요.

문서로 다루면 누군가 매번 처음부터 다시 읽어야 해요. 데이터로 다루면 함수가 대신 세고, 사람은 애매한 행만 봐요.

상태를 이렇게 나눠두면 어디를 자동으로 넘기고 어디에 사람이 붙어야 하는지가 바로 보여요.

상태들어오는 계기누가 처리하나
접수폼 응답이 시트에 도착자동
중복같은 식별값이 두 번 이상자동 표시 후 사람이 확정
확정정원 안쪽 순번자동
대기정원을 넘긴 순번자동 분리
취소본인 회신이나 불참 통보사람이 입력

자동으로 넘길 수 있는 구간은 규칙이 하나뿐인 구간이에요. 접수와 순번 매기기가 여기 들어가요. 반대로 "이 두 줄이 같은 사람인가"처럼 판단이 필요한 구간은 사람이 붙어야 하고요.

나뭇결 트레이의 홈을 따라 굴러 내려가는 색유리 구슬 정물, 청록과 호박색 톤

1단계. 나중에 못 가르는 건 신청 폼에서 미리 가른다

명단이 꼬이는 원인의 절반은 폼 항목 설계에서 이미 정해져요. 이름 한 칸만 받아두면, 김민수가 두 명 들어왔을 때 그게 중복 신청인지 동명이인인지 사후에는 알 방법이 없거든요.

그래서 사람마다 다른 값이 확실한 항목을 한 칸 더 받아둬요. 연락처 뒷자리, 소속, 참가 회차처럼 겹칠 확률이 낮은 값이면 돼요.

이때 신청자를 무엇으로 식별할지도 같이 정해요. 구글폼 공식 안내는 '1인 1응답으로 제한하기' 항목의 도움말로 "사용자가 양식에 액세스하고 이를 작성하려면 Google 계정에 로그인해야 합니다", "'응답' 설정을 사용하여 이메일 주소를 수집하지 않는 한 사용자 이름은 기록되지 않습니다"라고 적어요. 곧 응답 횟수를 1회로 제한하면 응답자에게 로그인이 요구되고, 이메일을 식별값으로 쓸 생각이면 응답 설정에서 이메일 주소 수집을 따로 켜둬야 한다는 뜻이에요. 반대로 이 제한을 걸지 않고 링크만 열어두면 로그인 없이도 응답이 들어와요.

그리고 신청 폼의 첫 항목은 동의 안내가 들어갈 자리예요. 개인정보 보호법 제15조 제2항은 정보주체의 동의를 받을 때 알려야 할 사항으로 네 가지를 정하고 있어요.

  1. 개인정보의 수집·이용 목적
  2. 수집하려는 개인정보의 항목
  3. 개인정보의 보유 및 이용 기간
  4. 동의를 거부할 권리가 있다는 사실 및 동의 거부에 따른 불이익이 있는 경우에는 그 불이익의 내용

네 줄을 폼 맨 위 설명란에 그대로 적어두면 매 행사마다 다시 고민할 일이 없어요. 항목을 하나 더 받기로 했다면 2번 줄만 고치면 되고요.

항목을 늘리기 전에

받는 칸이 늘어날수록 신청 이탈도 늘어요. "이 값이 없으면 나중에 못 가르는가"를 기준으로 항목을 고르면 대체로 이름, 연락처, 소속, 참가 회차 정도로 정리되더라고요.

2단계. 중복 신청과 동명이인을 골라내는 방법

응답이 폼 안에만 있으면 손댈 수가 없어요. 먼저 저장 위치를 스프레드시트로 잡아둬요. 응답 탭에서 '응답 저장 위치 선택'으로 들어가면 '새 스프레드시트 만들기'와 '기존 스프레드시트 선택' 중에 고를 수 있어요. 이미 굴리던 시트가 있으면 후자를 고르면 되고요(공식 안내).

응답을 바로 열어보려면 오른쪽 위의 'Sheets에서 보기'를 누르면 돼요.

시트가 붙었으면 중복부터 걸러내요. 구글 스프레드시트의 UNIQUE 함수는 중복된 것은 버리고 입력된 원본 범위에서 고유 행을 반환하고, 원본 범위에 처음 표시되는 순서대로 행을 돌려줘요. 구문은 UNIQUE(range, by_column, exactly_once)예요.

여기서 쓸모 있는 게 세 번째 인수예요. exactly_once는 중복이 없는 항목만 반환할지를 나타내고 기본값은 False거든요. 이걸 TRUE로 두면 딱 한 번만 들어온 사람들만 돌아와요.

그래서 순서가 이렇게 돼요.

  1. 이름과 연락처 뒷자리를 이어붙인 식별키 열을 하나 만든다
  2. 식별키 열 전체를 UNIQUE로 뽑아 전체 고유 인원을 센다
  3. 같은 열을 exactly_once TRUE로 다시 뽑는다
  4. 2번 결과에는 있는데 3번 결과에는 없는 값을 추린다
  5. 그 값들이 두 번 이상 신청한 사람이다

이렇게 하면 "중복이 몇 건인가"가 아니라 "누가 중복인가"가 나와요. 조건부 서식으로 그 식별키에 색을 입혀두면 시트를 열자마자 눈에 들어오고요.

동명이인은 여기서 자연스럽게 갈려요. 이름은 같은데 연락처 뒷자리가 다르면 식별키가 달라지니까 중복으로 잡히지 않거든요. 1단계에서 항목을 하나 더 받아둔 값이 여기서 일을 하는 거예요.

연결을 끊을 때

시트에서 응답 수집을 멈추고 싶으면 양식에서 스프레드시트의 연결을 해제하면 돼요. 이때 새 응답만 안 넘어오고 현재 데이터는 그대로 남아요. 나중에 '응답 저장 위치 선택'으로 다시 연결할 수도 있고요.

차분한 회색 리넨 천 위에 모여 있는 매끈한 조약돌과 결이 다른 조약돌 하나

3단계. 표기 흔들림 정규화는 어디까지 AI에 맡길까

중복을 걸러도 표기가 흔들리면 같은 사람이 다르게 보여요. 소속란이 특히 심해요. 주식회사를 앞에 쓴 사람, 뒤에 쓴 사람, 아예 생략한 사람이 한 시트에 섞여 있거든요.

연락처도 마찬가지예요. 하이픈을 넣은 사람과 붙여 쓴 사람이 섞이면 식별키가 갈라져요. 이름은 성과 이름 사이에 공백을 넣은 응답이 종종 들어오고요.

여기가 AI를 붙일 자리예요. 다만 경계를 그어야 해요.

AI에 맡겨도 되는 것

  • 하이픈, 공백, 괄호처럼 형식만 다른 값을 한 형태로 통일
  • 직함이 이름 뒤에 붙어 들어온 응답에서 직함을 분리
  • 소속 표기가 같은 곳으로 보이는 후보끼리 묶어서 제안

사람이 판단해야 하는 것

  • 두 표기가 정말 같은 조직인지 최종 확정
  • 연락처 자릿수가 어긋나는 응답을 고칠지 되물을지
  • 서로 다른 줄을 한 사람으로 병합할지 여부

핵심은 AI가 결과를 확정하지 않게 두는 거예요. 원본 열은 그대로 두고 정규화한 값을 옆 열에 새로 쓰게 하면, 잘못 묶인 게 나와도 원본으로 되돌아갈 수 있거든요.

구글폼으로 모은 응답을 AI로 간추리는 흐름 자체가 처음이라면 구글폼 응답을 AI로 정리하는 기본 절차를 먼저 보고 오면 이 단계가 훨씬 수월해요.

원본을 덮어쓰지 마세요

정규화 결과를 원본 열에 바로 덮으면 잘못 묶인 두 사람을 되돌릴 방법이 없어져요. 시트를 복사해두거나 열을 따로 만들어 쓰는 편이 안전해요.

4단계. 정원이 차면 접수를 자동으로 닫는다

정원 초과는 대부분 마감 시각이 아니라 접수 창구가 열려 있어서 생겨요. 구글폼에는 이 창구를 자동으로 닫는 설정이 있어요.

'응답 수락'에서 '종료일 또는 응답 제한일 설정'을 누르고 '여러 응답 후'를 고르면, 양식에서 허용할 최대 응답 수를 입력할 수 있어요. 그 수에 닿으면 접수가 멈춰요(공식 안내).

닫힌 뒤에 들어온 사람에게는 '양식에서 더 이상 응답을 수락하지 않습니다'라는 메시지가 보여요. 맞춤 메시지를 넣어두면 그 문구가 대신 나오고요. 여기에 대기 신청 경로를 한 줄 적어두면 문의 전화가 줄어들어요.

수동으로 멈추고 싶을 때는 '응답받기'를 사용 중지하면 돼요.

한 가지 주의할 게 있어요. 정원 도달 시 접수가 닫히는 것과 취소가 생겼을 때 다시 열리는 건 다른 얘기예요. 공식 안내는 응답받기 중지와 종료일·응답 제한 설정을 다루고 있고, 자리가 비면 자동으로 접수를 재개해 주는 기능은 안내에 들어 있지 않아요. 재개는 사람이 다시 켜는 동작이라고 두는 편이 맞아요.

가장자리까지 물이 찬 유리병과 그 옆에 놓인 코르크 마개, 서늘한 푸른빛

5단계. 대기자는 별도 트랙으로 따로 굴린다

대기자 관리에서 가장 자주 나오는 오해가 여기예요. 정원을 넘긴 신청자가 대기 목록에 쌓였다가 취소가 나면 자동으로 확정자로 올라가리라 기대하는 건데, 구글폼의 응답 수락 관련 공식 안내에는 그런 전환 기능이 안 들어 있어요.

그래서 대기는 기능이 아니라 운영 설계로 풀어요. 방식은 단순해요.

  1. 본 접수 폼과 별도로 대기 접수 폼을 하나 더 만든다
  2. 본 접수 폼이 닫힐 때 맞춤 메시지에 대기 폼 경로를 적어둔다
  3. 대기 시트에는 접수 순번 열을 만들어 도착 순서를 고정한다
  4. 취소가 생기면 대기 시트 맨 위 사람에게 연락한다
  5. 연락한 날짜와 회신 여부를 칸으로 남긴다
  6. 확정으로 올린 사람은 대기 시트에서 상태를 바꾸고 본 명단으로 옮긴다

대기자에게 무엇을 약속할지도 미리 정해두는 게 좋아요. "자리가 나면 순서대로 연락드려요"까지가 안전한 선이에요. 언제 연락이 갈지, 몇 번째까지 기회가 올지를 확언하면 취소가 안 나왔을 때 그대로 항의로 돌아오거든요.

장점 (Pros)
  • 본 명단이 정원 그대로 유지돼요
  • 취소가 나도 순서 다툼이 안 생겨요
  • 대기자 연락 이력이 한 시트에 남아요
단점 (Cons)
  • 폼과 시트를 두 벌 관리해야 해요
  • 확정 전환은 사람이 직접 해야 해요
  • 대기자에게 언제 연락이 갈지 약속할 수 없어요

6단계. 확정 통지는 한 번, 행사가 끝나면 명단을 파기한다

통지는 상태가 확정으로 바뀐 사람에게 한 번만 보내요. 여러 번 보내면 참가자가 어느 안내가 최신인지 몰라서 되묻게 되고, 그 문의를 받는 쪽이 다시 명단을 뒤지게 되거든요.

그래서 시트에 통지 발송일 칸을 하나 둬요. 그 칸이 비어 있는 확정자만 다음 발송 대상이 되게 하면 중복 발송이 구조적으로 막혀요.

행사가 끝난 뒤가 마지막 단계예요. 개인정보 보호법 제21조 제1항은 "개인정보처리자는 보유기간의 경과, 개인정보의 처리 목적 달성, 가명정보의 처리 기간 경과 등 그 개인정보가 불필요하게 되었을 때에는 지체 없이 그 개인정보를 파기하여야 한다. 다만, 다른 법령에 따라 보존하여야 하는 경우에는 그러하지 아니하다"로 정하고 있어요.

같은 조 제2항은 파기할 때 복구 또는 재생되지 아니하도록 조치하여야 한다고 덧붙이고 있고요(법령 원문).

실무에서는 사본이 문제예요. 원본 시트를 지워도 담당자 개인 드라이브에 내려받은 파일, 인쇄물, 메신저로 주고받은 캡처가 남아 있으면 정리가 안 된 거예요. 1단계에서 폼 설명란에 적어둔 보유 기간이 여기서 기준이 돼요.

명단 상태 자가진단 체크리스트

지금 굴리고 있는 시트를 열어놓고 아래 항목을 하나씩 확인해 보세요.

  • 신청자 한 명의 현재 상태를 한 칸으로 답할 수 있나요
  • 이름이 같은 두 사람을 갈라줄 값을 폼에서 받고 있나요
  • 중복 신청자가 누구인지 함수로 뽑을 수 있나요
  • 정원에 닿으면 접수가 자동으로 멈추게 설정돼 있나요
  • 대기자 시트에 도착 순번이 고정돼 있나요
  • 확정 통지를 보낸 날짜가 사람별로 남아 있나요
  • 행사 후 언제 무엇을 지울지 정해져 있나요

일곱 항목 중 답이 막히는 게 있으면 그 지점이 마감 직전에 터질 자리예요.

주의사항과 한계점

자동으로 넘길 수 있는 구간을 늘리다 보면 오히려 손이 더 가는 경우가 생겨요. 몇 가지는 미리 알고 시작하는 게 좋아요.

함수가 판단해 주지 않는 것이 있어요. UNIQUE는 값이 같은지만 봐요. 소속을 다르게 적었거나 연락처를 바꿔 적은 같은 사람은 서로 다른 값이라 그대로 통과해요. 표기 정규화를 3단계에서 먼저 돌려야 하는 이유가 이거예요.

AI가 묶은 결과를 그대로 믿으면 사람이 사라져요. 비슷한 소속 두 개를 하나로 합쳤는데 실제로는 다른 지점이었던 경우가 나와요. 병합은 제안까지만 받고 확정은 사람이 하세요.

정원 마감 설정은 취소를 모른다는 점을 잊기 쉬워요. 최대 응답 수에 닿아 닫힌 폼은 취소가 나와도 스스로 열리지 않아요. 취소 발생과 접수 재개는 사람이 잇는 동작이에요.

대기자 운영은 자동화 대상이 아니라 약속 관리예요. 순번을 시트로 관리하는 것과 그 순번대로 자리를 주겠다고 말하는 건 다른 문제거든요. 안내 문구를 먼저 정하고 시트를 짜세요.

행사가 반복되면 시트가 누적돼요. 지난 회차 시트를 복사해서 쓰면 옛 참가자 데이터가 계속 따라다녀요. 회차마다 새 시트를 만들고, 지난 회차는 6단계 기준으로 정리하는 편이 안전해요.

정리하면

폼 항목 설계로 갈라둘 것을 갈라두고, 중복은 함수로, 표기는 AI 제안으로, 정원은 폼 설정으로 처리해요. 대기와 확정 전환, 병합 판단만 사람이 잡으면 명단이 스스로 굴러가요.

함께 보면 좋은 글

❓ 자주 묻는 질문 (FAQ)

구글폼으로 받은 신청서에서 중복 신청을 어떻게 골라내나요?

응답을 스프레드시트로 받은 뒤 UNIQUE 함수의 exactly_once 인수를 TRUE로 두면 중복이 없는 항목만 돌아와요. 그 결과에서 빠진 사람이 두 번 이상 넣은 사람이에요.

정원이 차면 신청 폼이 자동으로 닫히나요?

구글폼의 '응답 수락'에서 '종료일 또는 응답 제한일 설정'을 누르고 '여러 응답 후'를 골라 허용할 최대 응답 수를 입력하면 돼요. 닫힌 뒤에는 '양식에서 더 이상 응답을 수락하지 않습니다'라는 메시지나 맞춤 메시지가 응답자에게 보여요.

대기자가 자동으로 확정자로 올라가게 만들 수 있나요?

구글폼의 응답 수락 관련 공식 안내는 응답받기 중지와 종료일·응답 제한 설정만 다루고 대기자 전환은 다루지 않아요. 대기자는 별도 폼과 시트로 따로 굴리고, 자리가 비면 사람이 직접 올려야 해요.

이름이 같은 신청자를 어떻게 구분하나요?

이름만 받아두면 나중에는 못 갈라요. 신청 폼에서 연락처 뒷자리나 소속처럼 사람마다 다른 값을 한 칸 더 받아두면 접수하는 순간에 갈라져요.

행사가 끝난 뒤 참가자 명단은 언제까지 갖고 있어야 하나요?

개인정보 보호법 제21조 제1항은 보유기간이 지나거나 처리 목적을 이루는 등 개인정보가 불필요해졌을 때 지체 없이 파기하도록 정하고 있어요. 다만 다른 법령에 따라 보존해야 하는 경우는 그러하지 아니하다고 덧붙이고 있어요.

📚 함께 읽으면 좋은 글 (Related Posts)

AI 업무 자동화 더 보기 →