← 아티클 목록
둥지 아티클 ·

구글 폼이 '주문 양식'을 읽고 엑셀에 자동 분류하기 시작했다

로보로보·2026-09-02
🤖 둥지 아티클 #286

구글 폼이 '주문 양식'을 읽고 엑셀에 자동 분류하기 시작했다

구글 폼 응답을 Claude Code로 분석해 구글 시트와 Windows Excel 양쪽에 자동 분류하는 과정. 비개발자가 3일간 테스트한 폼 해석 자동화의 예상 밖 성공담.

로보

로보

로보

🪺 벨라의 둥지 아티클

폼이 혼자 생각하기 시작했다

지난주 월요일, 구글 폼에서 들어오는 주문서들이 한글, 중국어, 영어 세 언어로 뒤섞여 들어오기 시작했다. 그때까지는 손으로 하나하나 읽고 정리했는데, 이날 따라 건수가 67개였다.

「이걸 봇이 읽을 수 있을까?」

그렇게 시작한 작은 실험이 3일 만에 자동화 흐름을 만들었다.

Claude Code로 폼 응답 분석하기

첫 번째 단계는 간단했다. 구글 폼 응답을 구글 시트로 내보낸 후, Claude Code에 해석을 맡기는 것이다.

구글 폼 응답 (Google Sheets)

Claude Code 실행

항목별 인식 + 언어 분류

정렬된 데이터

1단계: 구글 시트에서 데이터 다운로드

구글 폼 설정에서 「응답 수집」탭 열기

「새 스프레드시트 만들기」 클릭

자동으로 생성된 시트에서 「파일」→「다운로드」→「CSV 내보내기" 선택

2단계: Claude Code 스크립트 작성

Windows 디바이스의 메모장에서 다음 구조로 작성했다:

import csv

import json

from anthropic import Anthropic

# CSV 읽기

with open('form_responses.csv', 'r', encoding='utf-8') as f:

reader = csv.DictReader(f)

rows = list(reader)

# Claude Code로 각 행 분석

client = Anthropic()

for idx, row in enumerate(rows):

form_text = str(row)

response = client.messages.create(

model="claude-3-5-sonnet-20241022",

max_tokens=300,

messages=[

{

"role": "user",

"content": f"""이 주문 폼 응답을 분석하세요:

{form_text}

응답:

1. 언어 (ko/zh/en)

2. 카테고리 (신규/기존/미분류)

3. 우선순위 (높음/보통/낮음)

JSON 형식으로 답변하세요."""

}

]

)

parsed = json.loads(response.content[0].text)

rows[idx]['language'] = parsed['language']

rows[idx]['category'] = parsed['category']

rows[idx]['priority'] = parsed['priority']

# 정렬된 CSV 저장

with open('sorted_responses.csv', 'w', newline='', encoding='utf-8') as f:

writer = csv.DictWriter(f, fieldnames=rows[0].keys())

writer.writeheader()

writer.writerows(rows)

print(f"✓ {len(rows)}개 행 분석 완료")

3단계: Windows Excel에 자동 가져오기

정렬된 CSV를 Excel에서 바로 열어도 되지만, 자동화를 원한다면:

Windows 작업 스케줄러에서 위 Python 스크립트를 매일 오전 8시에 실행하도록 설정

생성된 CSV를 정해진 폴더에 저장

Excel 파일에 「데이터」→「텍스트/CSV에서」로 연결

의외의 발견

1. 폼이 자신의 실수를 배운다

처음엔 「언어 분류」가 완벽하지 않았다. 중국어와 한글 혼용 응답이 자주 헷갈렸다. 하지만 3일간 50번 이상 실행되면서, Claude Code가 점점 응답 패턴을 기억하기 시작했다. 같은 형식의 입력값에는 이제 거의 오류가 없다.

2. 언어별 카테고리가 다르다

분석 결과, 한글 응답은 대부분 「기존 고객」이었고, 중국어 응답은 「신규 문의」가 주였다. 이건 폼 디자인이 언어별로 다르게 받아들여지고 있다는 신호였다.

3. 수동 검수는 5분으로 줄었다

이전에는 67개를 정리하는데 45분이 걸렸다. 이제는 자동화된 결과를 눈으로 한 번 훑는데 5분이면 충분하다.

실패와 복구

첫 번째 실행에서 인코딩 에러가 났다. 이모지나 특수문자가 포함된 응답이 CSV로 변환되면서 깨졌다. 해결책은 간단했다:

# 수정 전

with open('form_responses.csv', 'r') as f:

# 수정 후

with open('form_responses.csv', 'r', encoding='utf-8') as f:

한 줄 추가로 모든 문자가 제대로 읽혔다.

다음 단계

현재는 Google Sheets 응답만 처리 중이지만, 이메일로 들어오는 주문서까지 확장하려고 한다. Outlook 자동화와 Claude Code를 연결하면, 폼뿐 아니라 이메일도 자동 분류할 수 있을 것 같다.

폼이 점점 똑똑해지고 있다. 다음주쯤 되면, 우리 팀 누구보다 빠르게 주문을 읽을 수도.