소규모 행사에서 참가자가 직접 입력하는 출석부라면 Google Form에 참가자 코드와 입장 여부를 받고, 응답을 Google Sheets에 연결한 뒤 중복 입장을 표시하면 됩니다. QR은 폼 링크를 여는 수단입니다. 스캔만으로 참석이 기록되거나 참가자 신원이 확인되지는 않습니다. 한 번만 유효한 입장권이 필요하면 전용 체크인 도구나 서버에서 토큰을 확인하는 방식이 필요합니다.
먼저 Google Forms 출석부가 맞는 행사인지 고릅니다
공용 QR과 공개 응답 폼은 무료·간단한 접수에 알맞지만, 참가자가 직접 코드를 입력하는 방식입니다. 행사를 운영하는 사람이 참가자 명단을 대조할 수 있고, 몇 건의 중복이나 오입력을 나중에 확인해도 되는 소규모 모임에 사용하세요.
| 필요한 결과 | 폼과 시트로 가능한 범위 | 권장 방식 |
|---|---|---|
| 워크숍·사내 모임의 자율 체크인 | 응답한 시각과 참가자 입력을 저장하고, 코드를 명단과 비교 | 공용 QR + 참가자 코드 + 담당자 확인 |
| 입장·퇴장 횟수와 미입장 확인 | 각 응답을 누적하고 중복·누락을 수식으로 표시 | 입장/퇴장 질문 + 연결된 Sheets |
| 유료 티켓 한 장을 한 번만 사용 | 공용 Google Forms만으로는 이미 쓴 표를 잠그거나 스캔한 사람을 인증할 수 없음 | 1회 사용 토큰을 서버에서 확인하는 체크인 도구 |
참가 자격이나 출석 결과가 급여·학점·환불·안전 기록에 영향을 준다면 공개 응답 폼을 증빙 시스템으로 취급하지 마세요. 담당자의 신분 확인 절차나 조직에서 승인한 출석 시스템을 선택하는 편이 적합합니다.
폼 질문은 최소화하고 참가자 코드는 별도 기준으로 준비합니다
- 이벤트별 폼을 따로 만들면 날짜와 회차가 섞이지 않습니다. 여러 회차를 한 폼에서 받을 때만 필수 질문으로 회차를 선택하게 하세요.
- 짧은 답변 질문을 만들고 이름 대신 명단에 미리 발급한
EVT-101같은 참가자 코드를 받습니다. 코드는 참가자를 구분하기 위한 입력값이지 본인 인증 수단은 아닙니다. - 입·퇴장을 모두 기록할 때는 객관식 질문 출석 구분에
입장,퇴장을 넣습니다. 단순 입장만 확인한다면 이 질문은 빼고 입력 단계를 줄이세요. - 필요하지 않은 이메일·전화번호·생년월일은 받지 않습니다. 코드나 개인 정보가 자동 입력된 링크를 쓸 경우, 링크를 전달받은 누구나 그 값을 보고 바꿀 수 있다고 가정하세요.
한 행사 전용 QR이라면 행사 이름을 폼 제목과 안내문에 적으면 됩니다. 미리 채워진 행사 코드가 보이지 않는 “숨은 보안값”이 되는 것은 아닙니다. 응답자는 공개 폼의 입력값을 바꿀 수 있으므로, 고정 코드만으로 입장 자격을 검증하지 마세요.
응답 권한을 정하고 폼을 게시합니다
- Google Forms에서 폼을 열고 게시를 선택합니다. 응답자 관리에서 행사 참석자가 실제로 사용할 계정이나 링크 범위를 확인합니다. 미게시 폼은 링크를 알아도 응답할 수 없습니다.
- 일반 공개 행사라면 링크가 있는 모든 사용자가 응답할 수 있도록 설정하고, 회사·학교 내부라면 조직 계정 제한이 참가자에게도 적용되는지 테스트합니다.
- 응답 1회로 제한을 켜면 응답자는 Google 계정에 로그인해야 합니다. 이 제한의 기준은 참가자 한 명이 아니라 Google 계정 하나이며, 입장과 퇴장을 각각 제출해야 하는 폼에서는 두 번째 제출이 막힐 수 있습니다.
- 안내문과 제출 확인 메시지에 행사명, 담당자 문의 방법, 입력 오류 시 도움받는 곳을 적습니다.
게시 후에는 응답자 링크를 복사하세요. 편집용 URL이나 폼 소유자 화면 링크를 QR로 만들면 참석자에게 편집 권한 요청이나 로그인 오류가 나타날 수 있습니다. 공개 폼은 반드시 소유자 계정에서 로그아웃한 브라우저나 다른 기기에서 확인하세요.
응답자 링크를 QR로 만들고 실제 휴대폰에서 시험합니다
- 게시된 폼의 응답자 링크 복사를 누릅니다. 단축 링크를 선택했다면 같은 링크가 휴대폰에서도 열리는지 확인합니다.
- Chrome 데스크톱에서 그 응답자 링크를 연 뒤 더보기 → 전송, 저장 및 공유 → QR 코드 만들기를 선택합니다. 다운로드한 QR을 행사 안내판이나 초대장에 배치합니다.
- 인쇄 전에 다른 휴대폰 카메라로 스캔합니다. 폼 제목과 질문이 맞는지, 로그인 요구가 예상과 같은지, 응답을 제출한 뒤 완료 메시지가 보이는지 점검하세요.
- 검수 응답은 실제 명단과 섞이지 않게 테스트 폼에서 먼저 제출합니다. 운영 폼에 시험했다면 그 행을 테스트라고 표시하고 행사 전 명단 집계에서 제외합니다.
Chrome의 QR은 현재 페이지 주소를 인코딩합니다. 누군가 QR을 열기만 했는지 Google Forms가 기록하는 것은 아니며, 제출 버튼을 눌러 응답을 보냈을 때 응답 행이 생깁니다. 폼 URL을 바꾸거나 복사본으로 교체했다면 이미 인쇄한 QR도 새 응답자 링크로 다시 만들어야 합니다.
응답을 Google Sheets에 연결하고 탭 이름을 정리합니다
- 폼의 응답 탭에서 Sheets 아이콘 또는 응답 대상 선택을 눌러 새 스프레드시트를 만듭니다.
- 응답 시트는 원본 기록으로 두고, 새 탭을 만들어 이름을
명단으로 바꿉니다. 명단 탭 A열에는 사전에 확인한 참가자 코드만 넣습니다. - 폼 응답 탭의 이름도
응답으로 바꾸면 아래 예제 수식의 참조를 그대로 사용할 수 있습니다. 기본 열이 타임스탬프 A, 참가자 코드 B, 출석 구분 C 순서인지 확인합니다. - 폼 편집자에게 연결된 스프레드시트 접근 권한이 생길 수 있습니다. 폼과 시트의 공유 설정은 별도로 확인하고, 행사 운영에 필요한 담당자에게만 시트 열람·수정 권한을 줍니다.
응답 탭의 질문을 나중에 변경하거나 열을 이동했다면 열 위치를 먼저 확인하세요. 다음 수식은 예제 열이 A=참가자 코드, B=입장 횟수, C=퇴장 횟수, D=상태인 명단 탭을 전제로 합니다.
중복 입장과 누락을 명단 옆에서 표시합니다
Google Forms에서 받은 합성 응답 CSV를 내려받아 실습할 수 있습니다. 실제 참석자 이름이나 연락처는 들어 있지 않습니다.
합성 응답 CSV 내려받기
EVT-101~104 예제 · 입장 중복·퇴장만 있는 행 포함
명단 탭의 A2에 참가자 코드를 넣고 B2에 입장 횟수를 계산합니다. 아래 수식을 첫 응답 행에 입력한 뒤 아래로 채우세요.
=COUNTIFS('응답'!$B$2:$B,$A2,'응답'!$C$2:$C,"입장")
C2에는 퇴장 횟수를 계산합니다.
=COUNTIFS('응답'!$B$2:$B,$A2,'응답'!$C$2:$C,"퇴장")
D2에는 입장 중복·퇴장만 기록된 경우를 표시합니다.
=IF(A2="","",IF(B2=0,IF(C2=0,"미입장","퇴장 기록만 있음"),IF(B2>1,"중복 입장 확인",IF(C2=0,"입장 확인","입장·퇴장 확인"))))
| 명단 코드 | 합성 응답 예 | 상태 결과 |
|---|---|---|
| EVT-101 | 입장 2회, 퇴장 1회 | 중복 입장 확인 |
| EVT-102 | 입장 1회 | 입장 확인 |
| EVT-103 | 퇴장 1회, 입장 0회 | 퇴장 기록만 있음 |
| EVT-104 | 응답 없음 | 미입장 |
시트 지역 설정에서 수식 파싱 오류가 나면 인수 구분 쉼표를 세미콜론으로 바꿔 보세요. 설문 응답 탭 이름이나 질문 열 순서가 다르면 수식의 응답, B열, C열도 현재 탭과 열에 맞게 수정합니다. 이 수식은 이상 행을 표시할 뿐 제출을 막거나 응답자의 신원을 확인하지 않습니다.
행사 후 응답을 닫고 자료 접근을 정리합니다
- 행사 종료 후 폼의 게시 설정에서 응답 수락을 끕니다. 참석자가 보게 될 마감 메시지를 저장하고 QR을 다시 열어 실제로 제출이 막혔는지 확인하세요.
- 폼은 게시 상태라도 응답만 닫을 수 있습니다. 날짜나 응답 수 제한을 설정해 자동 종료할 수도 있습니다. 같은 시각에 여러 제출이 들어오면 응답 제한을 넘어 기록될 수 있으므로, 정확한 정원 보장 장치로 보지는 마세요.
- 명단 코드와 응답 행을 대조하고, 미입장·중복·퇴장만 기록된 항목은 담당자가 원자료와 확인합니다. 수식 결과만 근거로 출석을 확정하지 않습니다.
- 시트 공유자를 점검하고, 운영 목적이 끝난 데이터는 조직의 보관 기준에 따라 접근 제한 또는 삭제합니다. 삭제한 Forms 응답은 복구할 수 없으므로 보존할 자료를 확인한 뒤 진행하세요.
공용 QR 출석부로는 확인할 수 없는 것
| 폼·QR에서 보이는 기록 | 그 기록만으로 증명되지 않는 것 | 필요하면 추가할 통제 |
|---|---|---|
| 응답 시각 | QR을 실제 스캔한 시각이나 행사장에 있던 사실 | 현장 직원 확인 또는 인증된 체크인 단말 |
| 참가자 코드 입력 | 코드 소유자 본인이 응답했는지 | 접수 명단과 신분 확인, 승인된 본인 확인 방식 |
| 참가자별 미리 채운 링크 | 링크를 받은 당사자만 제출했는지, 토큰을 한 번만 썼는지 | 서버에서 토큰·예약을 대조하고 사용 완료를 원자적으로 기록 |
| Google 계정 1회 응답 제한 | 사람 한 명이 한 번만 응답했는지 | 참가자와 계정을 매핑하는 별도 운영 절차 |
Google Forms의 응답 1회로 제한은 Google 계정 로그인과 연결됩니다. 익명 입장을 유지해야 한다면 이 옵션이 현장 마찰을 늘릴 수 있습니다. 반대로 유료 행사에서 QR을 보여주면 입장 완료로 처리해야 하는 경우, 미리 채워진 응답자 링크는 다른 사람에게 전달되거나 재사용될 수 있습니다. 이때 공용 Forms QR을 보안 토큰 시스템으로 포장하지 말고, 1회 사용을 서버가 확인하는 서비스나 전용 체크인 도구를 선택하세요.
현장에서 자주 생기는 문제
| 증상 | 먼저 확인할 것 | 대응 |
|---|---|---|
| 스캔하면 편집 화면이나 로그인 화면이 열림 | QR이 편집 링크인지, 폼 게시·응답 권한이 맞는지 | 응답자 링크로 QR을 다시 만들고 다른 기기에서 테스트 |
| 응답은 왔지만 시트에 안 보임 | 폼이 다른 스프레드시트에 연결됐는지, 응답 시트 연결을 해제했는지 | 응답 탭에서 현재 연결 대상을 확인하고 연결 상태를 복구 |
| 같은 참가자 코드가 여러 행에 있음 | 동일 코드의 재입장인지, 참가자가 실수로 반복 제출했는지 | 타임스탬프와 현장 확인 기록을 보고 실제 출석과 중복 입력을 구분 |
| 퇴장 응답이 제출되지 않음 | 폼의 1회 응답 제한이 켜져 있는지 | 입·퇴장을 한 폼에서 각각 받는 구성이라면 해당 제한을 재검토하고 대안을 마련 |
| 현장 인터넷이 끊김 | 휴대폰 통신망도 사용할 수 없는 장소인지 | 종이 명단과 수기 기록 담당자를 준비하고, 복구 뒤 수기 기록을 별도 표식으로 입력 |
자주 묻는 질문
QR을 스캔하기만 해도 출석으로 기록되나요?
아닙니다. QR은 응답자 폼을 여는 링크를 제공합니다. 참가자가 답을 입력하고 제출한 뒤에 Forms 응답과 제출 시각이 기록됩니다.
한 QR을 모든 참가자에게 나눠줘도 되나요?
간단한 공개 체크인에는 가능합니다. 다만 링크를 전달받은 누구나 폼을 열 수 있으므로, 참가자 코드 대조와 현장 확인이 필요한지 결정하세요.
한 번만 출석 처리되게 하려면 ‘응답 1회로 제한’을 켜면 되나요?
이 설정은 Google 계정마다 한 번으로 동작해 참가자 한 명당 한 번을 보장하지 않습니다. 입장·퇴장처럼 한 사람이 여러 번 제출해야 할 때는 두 번째 응답이 막힐 수도 있습니다.
수식으로 중복 응답을 자동 차단할 수 있나요?
아니요. 위 수식은 중복을 표시해 담당자가 검토하게 합니다. 이미 제출된 응답을 막거나 취소하려면 별도의 체크인 검증 절차가 있어야 합니다.
Google 공식 도움말
- Google Forms 게시 및 응답자와 공유 — 응답 권한, 게시, 응답자 링크, 미리 채운 답변
- Google Forms 응답 저장 위치 선택 — 응답 시트를 연결하고 접근 권한을 따로 관리
- Google Forms 응답 보기 및 관리 — 응답 종료, 이메일 수집, 응답 수 제한의 동시 제출 예외
- Chrome에서 페이지 QR 코드 만들기 — 현재 탭을 QR 코드로 공유하는 데스크톱 절차
