Google Apps Script와 Gemini API로 스프레드시트 자동 요약하기

“구글 스프레드시트에 자료는 매일 쌓이는데, 중요한 내용만 한눈에 볼 방법은 없을까요?” 업무 목록, 고객 문의, 블로그 아이디어, 회의 준비 상황을 Google Sheets에 적어 두는 분들이 많습니다. 하지만 표를 작성하는 것과 그 안에서 중요한 흐름을 찾아 요약하는 것은 다른 일입니다. 여기에 Google Apps Script와 Gemini API를 함께 사용할 수 있습니다. Google Sheets 안의 Gemini 도움말 기능과 별도 API 요청은 다른 기능입니다.

(Google Sheets 도움말) Apps Script가 시트에서 표를 읽고, Gemini API가 설명 문장을 만들고, 다시 Apps Script가 그 문장을 다른 시트에 저장하는 방식입니다. 이번 글에서는 프로그래밍 경험이 거의 없는 분을 대상으로, 실제 개인정보가 없는 가상 업무표 5건을 만들어 자동 요약하는 과정을 단계별로 설명하겠습니다. 한 가지 먼저 확인해야 합니다. Google Sheets의 Gemini 사이드패널과 개발자용 Gemini API는 서로 다른 기능입니다.

사이드패널은 앱 안에서 AI의 도움을 받는 기능이고, 이번 글에서 사용하는 API는 스크립트가 개발자 플랫폼에 요청하며 별도 과금·할당량이 적용될 수 있습니다. 작성 기준: 2026년 10월 16일. 아래 코드는 공식 문서에 따라 작성한 교육용 예시이며, 이 글을 작성하면서 실제 Google 계정에서 실행해 성공을 확인한 코드는 아닙니다. Gemini 모델·인증 정책은 바뀔 수 있으므로 마지막 단계에서 최신 공식 문서를 확인하세요.

시트 자료를 요약 시트로 보내는 흐름Google Sheets의 지정 범위를 Apps Script가 읽고 Gemini API에 요청한 뒤 별도 요약 시트에 결과를 저장하는 네 단계.시트 자료를 요약 시트로 보내는 흐름1Google SheetsA1:D6 가상표2Apps Script지정 범위 읽기3Gemini API텍스트 요약4요약 시트결과만 기록실제 개인정보가 아닌 교육용 가상 자료를 사용합니다.EMFLS AI · 자체 도식
자체 제작 개념도 · EMFLS AI

1. Apps Script와 Gemini API는 각각 무슨 역할인가요?

처음에는 이름이 어렵게 들릴 수 있지만, 하는 일을 나누어 보면 간단합니다. Google Sheets: 날짜와 내용이 들어 있는 표를 저장합니다. Google Apps Script: 시트에서 지정한 셀을 읽고, 외부 서비스에 요청을 보내고, 결과 셀을 수정하는 작은 자동화 프로그램입니다. Gemini API: Apps Script가 전달한 데이터와 질문을 바탕으로 설명 문장을 만들어 돌려줍니다. 이 세 가지를 연결하면 이런 순서가 됩니다.

Google Sheets 원본 표 → Apps Script가 A1:D6 읽기 → Gemini API 요약 요청 → Apps Script가 결과 확인 → '요약' 시트 A1에 저장 여기서 중요한 것은 AI가 원본 표를 마음대로 전부 보는 것이 아니라, 우리가 코드에 지정한 범위만 전송하도록 구성할 수 있다는 점입니다. 단, 전송을 막고 싶은 개인정보가 범위 안에 있다면 별도로 제거해야 합니다. 범위를 제한한다고 해서 저절로 익명화되는 것은 아닙니다.

2. 시작하기 전에 준비할 세 가지

필요한 것은 다음 세 가지입니다.

  1. Google 계정과 Google Sheets 문서: 직접 만든 연습용 시트면 됩니다.
  2. Apps Script 편집기: Google Sheets 메뉴의 '확장 프로그램 → Apps Script'에서 열 수 있습니다.
  3. Gemini API 키: Google AI Studio의 API Keys 페이지에서 생성·확인할 수 있습니다. 계정 및 프로젝트에서 해당 API 사용이 허용돼 있어야 합니다. 주의: Gemini API 키는 비밀번호처럼 취급해야 합니다. 블로그나 GitHub에 공개하거나 코드 예제 안에 실제 키 문자열을 붙여 넣지 마세요. API 프로젝트와 사용량에 따라 비용이 발생할 수 있으므로, 시작하기 전에 현재 계정의 요금제·무료 범위·모델별 한도를 확인해야 합니다. “구글 계정만 있으면 누구나 무조건 무료”라고 생각하면 안 됩니다.

3. 연습용 스프레드시트 만들기

새 Google Sheets 문서를 만들고 아래에 표시된 대로 이름을 바꿔 주세요. 첫 번째 시트 이름: 데이터 이 시트의 A1~D6 범위에 다음과 같은 가상 업무 내용을 넣습니다. 실제 고객 자료가 아닙니다.

날짜 유형 건수 메모
10월 12일 문의 3 기능 문의 증가
10월 13일 오류 1 로그인 화면 확인 필요
10월 14일 문의 2 요금제 설명 요청
10월 15일 개선 1 안내 문구 수정 제안
10월 16일 완료 4 기존 요청 처리

위 자료는 오늘 실습을 위해 임의로 만든 값입니다. 두 번째 빈 시트도 만들고 이름을 요약으로 지정합니다. 나중에 Gemini가 만든 결과를 여기에만 기록할 것입니다. 왜 원본과 결과를 구분하나요? AI가 작성한 문장으로 원본 데이터를 덮어쓰지 않기 위해서입니다. 원본과 요약을 분리하면 나중에 결과가 잘못되었을 때 비교하기도 쉽습니다.

4. Apps Script 편집기 열기

Google Sheets의 상단 메뉴에서 확장 프로그램 → Apps Script를 선택합니다. 연결된 Apps Script 편집기가 열리면 기본 코드 파일을 볼 수 있습니다. 파일 이름은 환경에 따라 다를 수 있지만, 간단한 예제에서는 기본 코드 파일을 그대로 사용해도 됩니다. 기존 코드를 무작정 삭제하기 전에 중요한 내용이 없는 연습용 새 문서인지 확인하세요. 실무 스프레드시트에 연결된 기존 자동화 코드를 실수로 지우는 일이 없도록 주의해야 합니다. 이번에는 새 연습용 문서를 만들었다고 가정하고 진행합니다.

API 키와 요청 코드의 역할을 분리하기API 키를 코드 문자열에 넣지 않고 프로젝트 속성에서 읽으며 요청 전 권한과 키 유형을 확인하는 절차.API 키와 요청 코드의 역할을 분리하기1AI Studio키 유형 확인2Script Properties키 값 보관3UrlFetchApp요청 전송4Google API인증·응답스크립트 편집자 접근 권한도 함께 관리해야 합니다.EMFLS AI · 자체 도식
자체 제작 개념도 · EMFLS AI

5. Gemini API 키는 코드 안이 아니라 프로젝트 속성에 저장하세요

Apps Script 편집기의 프로젝트 설정(Project Settings)으로 이동합니다. 스크립트 속성(Script Properties) 메뉴가 제공된다면 다음과 같이 새 항목을 추가합니다.

  • 속성 이름: GOOGLE_API_KEY
  • 값: Google AI Studio에서 발급받은 실제 Gemini API 키 저장한 다음 코드 편집 화면으로 돌아옵니다. 왜 이렇게 할까요? 실제 API 키를 코드에 적어 놓으면 문서를 공유하거나 코드 내용을 복사할 때 키가 노출될 수 있습니다. 스크립트 속성에 보관하면 코드 본문에 키가 직접 나타나지 않습니다. (Apps Script PropertiesService 문서) 하지만 여기에는 한계가 있습니다. 스크립트 속성은 전문적인 비밀 관리 서비스와 같지 않으며, 해당 스크립트의 편집 권한이 있는 다른 사람에게 값이 노출될 수 있습니다. 따라서 이 예제는 혼자 사용하는 연습용 문서에서 먼저 실행하고, 여러 사람과 공유하는 운영 업무에는 Google Cloud Secret Manager 같은 추가 보안 방법을 검토하세요. 또 한 가지 중요한 변화가 있습니다. Google의 최신 키 안내에 따르면 2026년 5월 28일부터 AI Studio에서 새로 만드는 키는 서비스 계정에 연결된 authorization key가 기본입니다. 제한 없는 standard API 키는 Gemini API 요청에서 거부되며, 명시적으로 제한을 적용한 standard 키는 계속 작동할 수 있습니다. 기존 키의 종류와 프로젝트 상태를 게시 직전에 확인하세요.

6. 스프레드시트를 읽고 AI에 보내는 코드

아래는 한 번 수동 실행하여 결과를 별도 시트에 기록하는 교육용 Apps Script 코드입니다. 새 Apps Script 편집기의 코드 파일에 아래 내용을 입력합니다.

function summarizeWithGemini() {
  // ① 원본 데이터를 지정한 범위만 읽습니다.
  const book = SpreadsheetApp.getActiveSpreadsheet();
  const source = book.getSheetByName('데이터');

  if (!source) {
    throw new Error("'데이터' 시트를 찾지 못했습니다.");
  }

  const rows = source.getRange('A1:D6').getDisplayValues();
  const textTable = rows.map(row => row.join(' | ')).join('\n');

  // ② 코드에 직접 키를 넣지 않고 프로젝트 속성에서 읽습니다.
  const key = PropertiesService.getScriptProperties()
    .getProperty('GOOGLE_API_KEY');

  if (!key) {
    throw new Error("프로젝트 속성 GOOGLE_API_KEY를 확인하세요.");
  }

  // ③ 학습용 generateContent API를 호출합니다.
  // 계정에서 접근 가능한 최신 모델로 바꿔야 할 수 있습니다.
  const model = 'gemini-3.6-flash';
  const url =
    'https://generativelanguage.googleapis.com/v1beta/models/' +
    encodeURIComponent(model) + ':generateContent';

  const prompt =
    '다음은 개인정보가 없는 가상 업무표입니다.\n' +
    '확인 가능한 내용만 한국어로 4문장 이내로 요약해 주세요.\n' +
    '원본에 없는 날짜·금액·인물을 만들지 마세요.\n' +
    '숫자가 확실하지 않으면 직접 계산했다고 주장하지 마세요.\n\n' +
    textTable;

  const payload = {
    contents: [{
      role: 'user',
      parts: [{ text: prompt }]
    }]
  };

  const response = UrlFetchApp.fetch(url, {
    method: 'post',
    contentType: 'application/json',
    headers: { 'x-goog-api-key': key },
    payload: JSON.stringify(payload),
    muteHttpExceptions: true
  });

  // ④ 실패했으면 원본 데이터나 요약 셀을 건드리지 않습니다.
  const status = response.getResponseCode();
  if (status < 200 || status >= 300) {
    throw new Error(
      'Gemini 요청 실패 (HTTP ' + status +
      '). 키·모델·할당량을 확인하세요.'
    );
  }

  const data = JSON.parse(response.getContentText());
  const parts = data.candidates?.[0]?.content?.parts || [];
  const summary = parts.map(p => p.text || '').join('\n').trim();

  if (!summary) {
    throw new Error('Gemini 응답에서 요약 문장을 찾지 못했습니다.');
  }

  // ⑤ 별도 결과 시트 A1만 수정합니다.
  const target =
    book.getSheetByName('요약') || book.insertSheet('요약');

  // AI 응답이 = 기호로 시작해 수식이 되는 일을 예방합니다.
  target.getRange('A1').setValue('AI 요약 결과\n' + summary);
}

코드가 길어 보여도 일의 순서는 다섯 가지뿐입니다. ① 읽기: 데이터 시트의 A1~D6을 가져옵니다. ② 인증: 프로젝트 속성에서 키를 읽습니다. ③ 요청: Gemini에 텍스트 요약을 부탁합니다. ④ 확인: 오류나 빈 응답을 검사합니다. ⑤ 저장: 원본은 그대로 두고 요약 시트 A1에만 답변을 기록합니다. 중요: 이 코드는 공식 문서에 남아 있는 기존 generateContent 방식의 학습 예제입니다.

Google의 현재 텍스트 생성 안내는 Interactions API와 gemini-3.8-flash를 사용하며, 모델 목록은 gemini-3.6-flash를 이전 세대 모델로 표시합니다. 처음 만드는 서비스라면 모델 이름만 바꾸지 말고 요청 주소·본문·응답 처리까지 현재 텍스트 생성 안내와 모델 목록에 맞춰 확인하세요. 또 모델 이름은 계정과 프로젝트에서 사용할 수 있는지 확인해야 합니다. 위 모델 이름이 지원되지 않으면 Google 공식 Models 문서에서 현재 접근 가능한 모델의 정확한 ID로 바꾸세요.

7. 처음 실행할 때 승인 화면이 나오는 이유

코드 입력을 마쳤다면 파일을 저장하고 실행할 함수로 summarizeWithGemini를 선택합니다. 그다음 실행(Run)을 누릅니다. 처음 실행하는 경우 Google이 시트 접근 또는 외부 요청과 관련된 권한 승인을 요구할 수 있습니다. 이는 Apps Script가 시트를 읽거나 바꾸고 외부 API와 통신하기 때문입니다. 허용하기 전에 확인할 것: 내가 직접 작성한 연습용 코드인지, 필요한 문서 범위인지, 누군가 보낸 정체불명의 스크립트가 아닌지입니다.

승인 이후에도 API 키나 모델 권한에 문제가 있으면 오류가 발생할 수 있습니다. 권한 승인과 Gemini API 요청 성공은 별개입니다. 이 글을 작성하면서 실제 Google 로그인이나 승인 절차는 실행하지 않았으므로, 특정 화면이 모든 사용자에게 똑같이 나타난다고 단정하지는 않습니다.

8. 성공하면 어떤 결과가 나오나요?

요청이 정상 처리되었다면 요약 시트의 A1 셀에서 Gemini가 생성한 문장을 볼 수 있어야 합니다. 예를 들면 다음과 같은 가상 결과를 기대할 수 있습니다.

가상 업무표에는 문의와 완료 항목이 함께 기록돼 있습니다. 문의에는 기능과 요금제 설명이 포함돼 있으며, 로그인 화면 오류는 확인이 필요합니다. 안내 문구 수정에 대한 개선 제안도 있습니다. 완료 항목은 마지막 날짜에 기록돼 있습니다. 이 문장은 실제 Gemini를 실행해 받은 답변이 아닙니다. 원본 데이터를 읽었을 때 이런 형태의 요약을 목표로 한다는 예시입니다. AI가 사용한 숫자와 표현이 정확한지 확인하는 절차는 반드시 필요합니다. 특히 표의 총 건수는 AI가 계산한 말을 그대로 믿지 말고, 데이터 시트의 숫자 합계나 스프레드시트 수식으로 계산한 값과 비교하세요. 이번 표의 건수 합계는 3+1+2+1+4로 11건입니다. 이 합계는 원본 숫자를 사람이 직접 더한 예시입니다.

요약 결과는 저장 전에 확인하기HTTP 응답 코드 확인, 비어 있는 응답 점검, 원본과 비교, 별도 시트에 저장하는 안전한 처리 흐름.요약 결과는 저장 전에 확인하기1HTTP 상태오류 응답 중단2응답 확인빈 문장 거부3원본 대조숫자·누락 확인4요약 시트확인 후 저장이 글의 코드는 Google 계정에서 실제 실행하지 않은 교육 예시입니다.EMFLS AI · 자체 도식
자체 제작 개념도 · EMFLS AI

9. 요약 결과가 틀렸을 때 어떻게 확인하나요?

AI는 원본 데이터를 읽었다고 하더라도 설명을 잘못 만들 수 있습니다. 다음 세 가지를 비교하세요. 첫째, 원본에 있던 표현인가요? 예를 들어 '로그인 화면 확인 필요'를 '로그인 오류 완전 해결'이라고 썼다면 근거가 맞지 않습니다. 둘째, 원본에 없던 숫자를 만들었나요? 날짜나 합계를 제시했다면 데이터 시트와 수식으로 확인합니다. 셋째, 중요한 내용이 빠졌나요? 예를 들어 완료 항목만 강조하고 미해결 오류를 빠뜨렸다면 업무용 요약으로 부족합니다. 이런 문제를 발견했다면 “추정 금지”, “미해결 항목 반드시 포함”, “표에 없는 사실은 미확인 표시”처럼 요청 문장을 수정해 다시 시험할 수 있습니다. 단, 같은 요청을 반복할 때 API 사용량과 비용도 다시 발생할 수 있으니 무제한으로 재시도하지 마세요.

10. 오류가 발생하면 이 순서로 확인하세요

상황 가능한 원인 먼저 확인할 것
데이터 시트를 찾지 못함 시트 이름 불일치 '데이터' 정확한 이름
GOOGLE_API_KEY 오류 속성 누락 프로젝트 설정·키 이름
HTTP 401 또는 403 키·계정·권한 문제 현재 AI Studio 프로젝트와 인증 방식
HTTP 404 모델명·요청 주소 오류 현재 모델 ID와 API 종류
HTTP 429 사용량 제한 또는 할당량 호출량·한도·청구 상태
요약 문장이 비어 있음 응답 구조 또는 생성 실패 모델/호환성·응답 상태
실행 승인 필요 Apps Script 접근 권한 권한 범위 검토 후 직접 승인

표는 일반적인 점검 방향입니다. 같은 HTTP 코드도 상황에 따라 구체적 원인이 다를 수 있습니다. 민감한 진단 정보를 외부 채팅에 붙여 넣지 마세요. 특히 API 키 원문이나 실제 개인정보가 포함된 요청·응답 전문을 공개적으로 공유하지 않는 것이 중요합니다.

11. 매시간 자동으로 실행해도 될까요?

Apps Script에는 일정한 시간에 작업을 실행하도록 설정하는 트리거가 있습니다. 이론적으로 데이터를 정기적으로 요약하도록 만들 수 있습니다. 하지만 처음부터 자동 실행까지 설정하는 것은 권장하지 않습니다. 첫째: 입력 데이터가 바뀌지 않았는데도 같은 API를 반복 호출할 수 있습니다. 둘째: API 요청이 실패할 때 원인을 모른 채 재실행하면 비용과 오류가 늘 수 있습니다. 셋째: 시트에 개인정보나 기밀 정보가 새로 추가된 경우, 의도하지 않은 자료가 외부 Gemini API로 전송될 수 있습니다.

따라서 수동 실행 → 결과 확인 → 정확성·비용 점검 → 필요한 경우 제한된 정기 실행 순서로 진행하세요. 자동화는 많은 횟수를 돌리는 것보다, 꼭 필요한 작업을 안전하고 반복 가능하게 처리하는 것이 목표입니다.

12. 실제 업무용 데이터라면 개인정보부터 점검하세요

이번 실습은 '기능 문의 3건' 같은 가상 정보만 사용합니다. 그러나 실제 업무표에는 고객 이름, 이메일, 계약 정보, 주문 번호, 금액, 회사 내부 계획이 포함될 수 있습니다. 이런 정보가 있으면 단순히 열을 숨기는 것만으로는 충분하지 않습니다. 외부 API에 보내는 데이터 범위에서 실제로 제외되었는지 확인해야 합니다. 예를 들어 업무 흐름만 분석하려면 다음처럼 바꾸는 것이 좋습니다.

변경 전: '고객 실명 / 이메일 / 정확한 주문번호 / 상세 문의 내용' 변경 후: '문의 유형 / 날짜의 범위 / 건수 / 개인을 알아볼 수 없는 요약' 단, 이름만 가리더라도 상세 날짜·특이한 사건·희귀한 거래내역을 조합하면 개인을 다시 식별할 수 있습니다. 민감한 파일이라면 AI 서비스에 업로드·전송하는 것이 허용되는지부터 회사 규정과 개인정보 처리 기준으로 확인해야 합니다.

13. 'Gemini API'와 'Google Sheets Gemini'가 같은 건가요?

아닙니다. 초보자에게 자주 생기는 혼동입니다.

구분 Google Sheets의 Gemini Apps Script + Gemini API
사용 방식 시트 안의 Gemini 지원 기능 코드가 외부 API에 요청
준비물 해당 제품의 사용 권한 Apps Script·API 키·프로젝트 권한
자동화 형태 지원되는 사이드패널 작업 셀 읽기/쓰기·트리거 등 코드 설정
요금·한도 Workspace 플랜과 기능 규칙 Gemini API의 별도 모델별 이용 규칙
주의 AI 답변 검토 코드·키·권한·호출 비용까지 검토

표를 간단히 요약하는 것이 목적이라면 Google Sheets 안에서 제공되는 Gemini 기능만으로 충분한 경우도 있습니다. Apps Script와 Gemini API의 장점은 데이터를 읽고 외부 요청을 보내고 결과를 기록하는 반복 작업의 순서를 직접 정할 수 있다는 점입니다. 하지만 복잡한 자동화를 구성할수록 검증하고 관리할 부분도 늘어납니다.

14. 처음 시작하는 사람을 위한 최종 체크리스트

실제 실행 전에 다음 내용을 확인하세요.

  1. 실제 고객정보 없이 만든 가상 표로 시작했나요?
  2. 데이터 범위가 A1:D6으로 제한돼 있나요?
  3. API 키를 코드 문자열·문서·캡처 화면에 넣지 않았나요?
  4. 현재 프로젝트에서 해당 Gemini 모델을 사용할 수 있나요?
  5. Apps Script 권한 승인 내용을 읽었나요?
  6. Gemini API 가격·무료 범위·할당량을 확인했나요?
  7. 요약 결과를 원본 데이터와 대조했나요?
  8. 결과가 원본 시트가 아닌 별도 요약 시트에 쓰이나요?
  9. 중요한 수치나 계약 조건은 AI의 말을 그대로 사용하지 않았나요?
  10. 정기 트리거를 켜기 전에 수동 실행과 비용 점검을 했나요? 이 열 가지를 모두 확인했다면 처음으로 작은 자동화 작업을 운영하기 위한 준비에 가까워집니다. 그래도 서비스 환경·실제 데이터·계정 권한에 따라 추가 검수는 필요할 수 있습니다.

자주 묻는 질문

Q. Apps Script를 사용하려면 프로그래밍을 잘해야 하나요?

처음부터 복잡한 프로그램을 만들 필요는 없습니다. 다만 복사한 코드를 이해하고 권한·키·데이터 범위를 검토하는 일은 필수입니다. 특히 업무용 문서를 자동 변경하는 코드는 연습용 문서에서 먼저 시험하세요.

Q. Google 계정만 있으면 Gemini API가 무료인가요?

반드시 그렇지는 않습니다. Gemini API는 모델·프로젝트·무료 계층·계정 사용량에 따라 제한이나 과금이 다릅니다. 현재 가격과 할당량은 공식 API 가격·사용량 화면에서 확인하세요.

Q. 위 코드를 그대로 복사하면 모든 계정에서 작동하나요?

보장할 수 없습니다. Apps Script 권한·현재 API 인증 키 유형·모델 접근 권한에 따라 수정이 필요할 수 있습니다. 본문은 공식 문서를 바탕으로 작성된 교육용 예제이며 작성자가 실제 계정에서 실행을 검증하지 않았습니다.

Q. Interactions API와 generateContent API는 무엇이 다른가요?

둘 다 Gemini API를 활용하는 방식이지만 요청 주소와 응답 구조가 다릅니다. Google의 최신 가이드는 Interactions를 권장하고, 본문 예제는 Apps Script 초보자를 위해 공식 자료에 문서화된 기존 generateContent API를 사용합니다. 한쪽의 예제 코드를 다른 쪽 요청에 그대로 섞지 마세요.

Q. 시트에 고객 이름이 있으면 그대로 요약해도 되나요?

가급적 하지 마세요. 외부 API 전송 전에 개인정보 최소화·조직 정책·전송 승인 여부를 확인해야 합니다. 이름을 가린 후에도 다른 정보와 결합해 재식별될 수 있습니다.

Q. 왜 요약 결과를 다른 시트에 저장하나요?

AI가 잘못된 요약을 만들었을 때 원본을 복원할 필요 없이 바로 비교하기 위해서입니다. 실습 단계에서는 원본을 덮어쓰는 자동화보다 별도 결과 셀을 사용하는 구성이 안전합니다.

Q. 앱을 매일 자동으로 실행할 수 있나요?

Apps Script의 트리거 기능으로 가능합니다. 그러나 API 요청 비용·접근 권한·새 데이터에 대한 개인정보 점검이 끝나지 않았다면 먼저 수동 실행하는 편이 좋습니다.

Q. 수치가 틀리면 어떻게 수정하나요?

매출·건수·금액 같은 값은 시트의 수식이나 별도의 정확한 계산으로 다시 확인하세요. AI 요약은 원본 계산을 대신하는 회계 장부가 아닙니다.

마무리: 작은 범위를 읽고, 검증된 요약만 남기세요

Google Apps Script와 Gemini API를 이용하면 구글 스프레드시트에서 자료를 읽어 요약하고, 다른 셀에 결과를 기록하는 과정을 구성할 수 있습니다. 다만 자동화 자체보다 중요한 것은 불필요한 데이터를 보내지 않고, 결과를 원본과 비교하고, API 비용과 키의 보안을 관리하는 것입니다. 처음에는 실제 업무 파일이 아닌 가상 데이터 5건으로 시작하세요. 수동으로 한 번 요약을 요청해 보고, 결과가 원본과 일치하는지 확인한 다음 다음 단계를 고민해도 늦지 않습니다.

공식 참고 자료

함께 읽으면 좋은 글

  • API란? — 스프레드시트와 Gemini API가 요청을 주고받는 기본 개념
  • AI 모델이란? — API에서 모델을 선택한다는 말의 뜻