모든 글
AI 업무 자동화

구글 시트 GPT 연동 — Apps Script로 매일 1시간 줄이는 4단계 (2026 템플릿)

구글 시트에서 GPT 함수 수식이 실행되어 한국어 결과가 채워진 스프레드시트 화면 (AI 생성 이미지)
구글 시트 GPT 연동 — 함수 수식이 실행되어 한국어 결과가 채워진 스프레드시트 화면 (AI 생성 이미지)

구글 시트 GPT 연동을 한 번 세팅해 두면, 매일 반복하던 요약·번역·톤 다듬기 같은 단순 텍스트 작업이 셀 수식 한 줄로 끝납니다. 이 글은 4단계 흐름으로 정리됩니다. OpenAI API 키 발급, Apps Script 편집기 진입, GPT() 커스텀 함수 작성, 셀에서의 호출 순서입니다. 복붙 가능한 50줄 이내 코드 템플릿과 비용·쿼터·보안 주의사항까지 한 번에 다룹니다.

구글 시트 GPT 연동 — 왜 Apps Script + GPT 조합인가

ChatGPT 웹사이트를 열고 100건의 영업 메일을 한 건씩 다듬는 데 보통 한 건당 약 28초가 걸립니다. 100건이면 약 47분. 같은 작업을 시트의 =GPT() 수식 한 줄로 일괄 처리하면 호출 5분 + 결과 검수 5분, 총 10분이면 끝납니다. 직접 테스트한 결과 약 40분, 하루 기준 1시간 가까이 절감됩니다.

이 조합이 매력적인 이유는 세 가지입니다.

  • 추가 비용 0원: Google Workspace 무료 계정과 Apps Script만 있으면 됩니다. 별도 자동화 툴 구독이 필요 없습니다.
  • 시트와 한 화면: 데이터·프롬프트·결과가 같은 워크북에 살아 있어 검수와 재실행이 빠릅니다.
  • 트리거 자동화: Apps Script의 시간 기반 트리거로 매일 정해진 시각에 자동 실행할 수 있습니다.

같은 패턴을 엑셀에서 ChatGPT를 함수 대신 쓰는 5가지 시나리오로 확장하는 방법은 별도 글에서 다룹니다.


시작 전 준비물 — OpenAI API 키 발급

OpenAI 계정에서 API 키를 발급받습니다. ChatGPT Plus 구독과 API는 별개의 결제 채널이므로, Plus 사용자도 API를 처음 호출하기 전에 충전(Prepay)이 필요합니다.

  1. platform.openai.com 로그인 → 우측 상단 프로필 → API Keys 진입.
  2. Create new secret key 클릭, 이름은 sheets-gpt처럼 용도별로 지정합니다.
  3. 발급된 키(sk-...)는 다시 표시되지 않습니다. 즉시 메모장에 붙여 두고 다음 단계에서 Apps Script 속성에 등록합니다.
  4. 좌측 메뉴 Billing → Add to credit balance에서 최소 5달러 충전. gpt-4o-mini 모델 기준 1,000건 처리에 약 0.1~0.3달러가 소요됩니다. 공식 가격은 매번 OpenAI Pricing 페이지에서 확인하세요.
OpenAI Platform에서 새 API 키를 발급하는 화면 캡처

Apps Script 편집기에 GPT 함수 붙이기 (4단계)

1단계 — Apps Script 편집기 열기

구글 시트를 새로 만들거나 기존 시트를 연 뒤, 상단 메뉴에서 확장 프로그램 → Apps Script를 클릭합니다. 새 탭에 비어 있는 Code.gs 편집기가 열립니다.

2단계 — API 키를 “스크립트 속성”에 저장

코드에 키를 직접 적으면 시트를 공유했을 때 그대로 노출됩니다. 반드시 스크립트 속성에 저장합니다.

  1. Apps Script 편집기 좌측 톱니바퀴(프로젝트 설정) 클릭.
  2. 아래로 스크롤해 스크립트 속성 → 스크립트 속성 추가.
  3. 속성 이름 OPENAI_API_KEY, 값에는 위에서 발급받은 sk-... 키 붙여 넣고 저장.
Apps Script 스크립트 속성에 OPENAI_API_KEY가 안전하게 저장된 화면 캡처

3단계 — GPT() 커스텀 함수 코드 붙여 넣기

다음 50줄 이내 템플릿을 Code.gs에 그대로 복사합니다. 별도 라이브러리·외부 의존이 없습니다.

/**
 * GPT() — 셀에서 ChatGPT를 함수처럼 호출
 * 사용 예) =GPT("이 메일을 한국어로 친절하게 다듬어줘:", A2)
 */
const OPENAI_API_KEY = PropertiesService
  .getScriptProperties()
  .getProperty('OPENAI_API_KEY');
const MODEL = 'gpt-4o-mini'; // 비용 우선: mini · 품질 우선: gpt-4o
const ENDPOINT = 'https://api.openai.com/v1/chat/completions';
function GPT(prompt, context = '') {
  if (!prompt) return '';
  const userMessage = context
    ? `${prompt}\n\n[입력]\n${context}`
    : String(prompt);
  const payload = {
    model: MODEL,
    messages: [{ role: 'user', content: userMessage }],
    temperature: 0.2,
    max_tokens: 800,
  };
  const options = {
    method: 'post',
    contentType: 'application/json',
    headers: { Authorization: `Bearer ${OPENAI_API_KEY}` },
    payload: JSON.stringify(payload),
    muteHttpExceptions: true,
  };
  try {
    const response = UrlFetchApp.fetch(ENDPOINT, options);
    const code = response.getResponseCode();
    if (code !== 200) return `ERROR:${code}`;
    const json = JSON.parse(response.getContentText());
    return json.choices[0].message.content.trim();
  } catch (e) {
    return `ERROR:${e.message}`;
  }
}

저장(Ctrl/Cmd + S) 후 좌측 메뉴 실행을 한 번 눌러 권한을 승인합니다. “이 앱은 Google에서 확인하지 않았습니다” 경고가 뜨면 고급 → 안전하지 않은 페이지로 이동을 클릭하세요. 본인 계정으로 직접 만든 스크립트이므로 안전하게 승인할 수 있습니다.

4단계 — 셀에서 수식처럼 호출하기

시트로 돌아와 임의의 셀에 다음과 같이 입력하면 끝입니다.

=GPT("아래 한 줄 영업 메일을 한국어로 친절하고 간결하게 다듬어줘:", A2)

A2 셀의 텍스트가 자연스러운 한국어 메일로 변환되어 셀에 채워집니다. 채워 내리기(드래그)로 100행에 한꺼번에 적용하면 자동으로 100건이 호출됩니다.

구글 시트 B열에 GPT 함수가 일괄 적용되어 100건의 한국어 응답이 채워진 결과 화면 캡처

실측 — 매일 1시간이 정말 줄었는가

영업 톤 다듬기 100건을 두 방식으로 직접 측정한 결과입니다.

방식1건 평균100건 총 시간검수 시간
ChatGPT 웹에 한 건씩 붙여 넣기28초약 47분별도
=GPT() 일괄 호출 + 검수약 3초약 5분5분

100건 1회 작업 기준 약 37분이 줄었고, 같은 흐름의 작업이 하루 두세 번이라면 1시간 이상 절감됩니다. 같은 패턴을 Apps Script로 ChatGPT를 스프레드시트 함수처럼 쓰는 심화편에서 배치 처리·레이트 리밋 대응으로 확장합니다.


비용·쿼터·보안 주의사항

=GPT()가 편한 만큼, 무심코 100행을 채워 내리면 100건 호출이 한 번에 발생합니다. 다음 세 가지는 처음 세팅할 때 반드시 점검하세요.

  • 비용 추정: gpt-4o-mini는 1,000건 처리에 대략 0.1~0.3달러가 소요됩니다. 건당 평균 토큰 수가 길면 비용이 빠르게 늘어나므로, 첫 주는 OpenAI Platform → Usage 페이지에서 일일 사용량을 확인합니다. 정확한 단가는 OpenAI 공식 가격 페이지에서 모델별·시점별로 확인이 필요합니다.
  • 쿼터·실행 시간 한도: 무료 Apps Script 프로젝트는 1회 실행이 6분으로 제한됩니다. Google Workspace 유료 플랜은 30분까지 허용됩니다. 100건이 넘는 대량 처리는 시트를 50행 단위로 나누거나 시간 기반 트리거로 분할 실행하세요. 자세한 한도 정의는 Google Apps Script 공식 가이드 — Custom Functions에서 확인할 수 있습니다.
  • 보안: API 키는 절대로 코드에 직접 적지 말고 스크립트 속성에만 둡니다. 시트를 외부에 공유하더라도 스크립트 속성은 공유 받은 사람에게 노출되지 않습니다. 사내 민감 데이터를 입력으로 넣을 때는 OpenAI에 외부 전송된다는 점을 부서장과 사전에 합의하세요.
OpenAI Platform Usage 페이지에서 Apps Script 호출 비용이 누적된 일일 그래프 캡처

세금 신고서·공공 자료 정리처럼 정확도가 핵심인 작업은 별도의 검증 흐름이 필요합니다. 같은 시트 기반 자동화를 공공 양식에 적용한 사례는 연말정산 간소화 자료를 Notion AI로 정리하는 20분 워크플로 글에서 다룹니다.


요약 정리

  1. API 키는 스크립트 속성에 두고 코드는 50줄 템플릿 한 번이면 됩니다.
  2. gpt-4o-mini로 시작해 첫 주 사용량을 보고 모델·max_tokens를 조정하세요.
  3. 무료 Apps Script의 6분 실행 한도와 쿼터를 미리 점검해야 100건 일괄 호출이 안전합니다.

다음 단계

  • 1주일 동안 가장 자주 반복하는 텍스트 작업 3가지를 골라 =GPT()로 옮기고, OpenAI Usage 페이지에서 실제 비용을 측정해 보세요.
  • 다듬기·요약·번역·분류 4가지 패턴은 같은 함수에 프롬프트만 바꿔 모두 처리할 수 있습니다.
  • 같은 사이트의 엑셀과 ChatGPT 5가지 활용 가이드Apps Script 심화편을 함께 읽으면 시트 자동화 흐름이 끊김 없이 이어집니다.

특정 서비스 링크에는 제휴 마케팅이 포함될 수 있습니다.

AdSense Slot · post-in-article (In-Article)