GPT가 Excel 보고 알아서 분석해주는 자동화 프로그램 만들기

2025. 5. 1. 15:52AI 일잘러 팁

728x90

 

 

 

사진 출처 : pixabay

 

📌 1. 왜 시트 분석도 자동화해야 할까?

  • 매출 보고서, 주간 실적표, 작업 현황표… 숫자는 넘치는데
    👉 “정리하고 요약하는 사람”이 제일 고생
  • GPT를 연결하면:
    숫자표 → 요약 문장 자동 생성
    이상값 감지 + 비교 + 제안까지 가능
반응형

🔄 2. 전체 자동화 흐름 구조

 

Google Sheets (데이터 입력됨)  
   ↓  
Zapier or Apps Script가 트리거  
   ↓  
GPT가 특정 범위 분석  
   ↓  
요약 결과를 Notion or 메일로 전송

 

 

🛠 3. 도구별 설정법

 

✅ Google Sheets 준비

  1. 스프레드시트 열기: https://sheets.google.com
  2. 예시 구성 (예: 매출 데이터)
날짜                                                       팀                                          매출(₩)
04/01 A팀 2,000,000
04/02 B팀 1,300,000
04/03 A팀 2,300,000
 
  1. 요약할 범위 선택: A2:C10 등
  2. 시트 이름 기억해두기 (예: “매출표”)

 

✅ Zapier 설정 (or Apps Script)

  • Zapier 접속 → Create Zap
  • Trigger: Google Sheets – New or Updated Row in Spreadsheet
  • Action: OpenAI – Send Prompt
  • API Key 입력: OpenAI Key 발급 링크

 

✍ 4. GPT 프롬프트 예시 (시트 요약용)

 

----------------------------------------------------------------------------------------

다음은 최근 1주일간의 매출 데이터야.

{{Google Sheets에서 불러온 값}}

이 데이터를 분석해서 요약해줘.
- 평균 매출  
- 가장 매출이 높은 날짜와 팀  
- 가장 낮은 팀  
- 특이사항 (폭증/감소 등)

간결한 문장으로 요약해줘.

----------------------------------------------------------------------------------------

※ 시트 값을 Zapier에서 필드로 연결하거나
Google Apps Script에서 getRange().getValues()로 텍스트화 가능

 

 

GPT 출력 예시

----------------------------------------------------------------------------------------

✅ 평균 매출: 1,865,000원  
📈 최고 매출: 4/03 A팀 – 2,300,000원  
📉 최저 매출: 4/02 B팀 – 1,300,000원  
⚠️ 특이사항: 4/01~4/03 기간 동안 A팀 매출 꾸준히 상승  

----------------------------------------------------------------------------------------

 

📧 결과 전송 옵션

  • Gmail로 자동 전송 (제목: “이번 주 매출 요약”)
  • Notion에 요약 내용 추가 (GPT 응답값을 DB에 저장)
  • Google Docs로 자동 정리 후 PDF 저장도 가능

 

 

**추가**

✅  Google Apps Script 버전 자동화 코드

 

🎯 목표

  • Google Sheets의 특정 범위 데이터를
  • GPT에게 전달해서 분석 요청
  • 분석 결과를 시트 or 메일로 출력

 

📍 사전 준비

  1. https://platform.openai.com/account/api-keys 에서
    OpenAI API Key 발급
  2. 분석용 시트 준비 (예: 시트명: 매출데이터)

 

📍 코드 작성

  1. 시트에서 → 확장 프로그램 → Apps Script 클릭
  2. 아래 코드 붙여넣기:

------------------------------------------------------------------------------------------------------------------------------------------

const OPENAI_API_KEY = "sk-XXXXXX"; // 본인의 API 키 입력

function analyzeSheetDataWithGPT() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("매출데이터");
  const range = sheet.getRange("A2:C10"); // 분석할 범위
  const values = range.getValues();

  // 시트 데이터를 텍스트로 변환
  let inputText = "아래는 최근 매출 데이터야.\n";
  values.forEach(row => {
    inputText += row.join(" / ") + "\n";
  });

  inputText += "\n이 데이터를 분석해서 요약해줘.\n- 평균 매출\n- 최고/최저 매출 날짜와 팀\n- 특이사항";

  // OpenAI API 호출
  const url = "https://api.openai.com/v1/chat/completions";
  const payload = {
    model: "gpt-4",
    messages: [{ role: "user", content: inputText }],
    temperature: 0.3
  };

  const options = {
    method: "post",
    contentType: "application/json",
    headers: { Authorization: `Bearer ${OPENAI_API_KEY}` },
    payload: JSON.stringify(payload),
    muteHttpExceptions: true,
  };

  const response = UrlFetchApp.fetch(url, options);
  const result = JSON.parse(response.getContentText());
  const gptOutput = result.choices[0].message.content;

  // 결과를 시트에 출력
  sheet.getRange("E2").setValue("GPT 분석 결과");
  sheet.getRange("E3").setValue(gptOutput);

------------------------------------------------------------------------------------------------------------------------------------------

📍 실행 방법

  • 코드 저장 후
  • ▶️ 아이콘 클릭해서 analyzeSheetDataWithGPT 실행
  • 시트에 분석 결과 출력됨
SMALL

✅ GPT 결과를 Notion에 자동 저장하는 연동법

 

🎯 목표

  • GPT 분석 결과 → Notion 데이터베이스에 자동 저장

 

📍 사전 준비

  1. Notion Integrations 에서 새 통합 생성
  2. 해당 Notion 페이지 공유 → 통합에게 편집 권한 부여
  3. Integration Token, Database ID 복사

 

📍 코드 예시 (추가 함수)

-------------------------------------------------------------------------------------------------------------------------

const NOTION_TOKEN = "secret_XXX";  // Notion 통합 토큰
const NOTION_DATABASE_ID = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";  // DB ID

function sendToNotion(content) {
  const url = "https://api.notion.com/v1/pages";

  const payload = {
    parent: { database_id: NOTION_DATABASE_ID },
    properties: {
      "제목": {
        title: [
          {
            text: {
              content: "시트 분석 결과"
            }
          }
        ]
      },
      "내용": {
        rich_text: [
          {
            text: {
              content: content
            }
          }
        ]
      }
    }
  };

  const options = {
    method: "post",
    headers: {
      "Authorization": `Bearer ${NOTION_TOKEN}`,
      "Content-Type": "application/json",
      "Notion-Version": "2022-06-28"
    },
    payload: JSON.stringify(payload)
  };

  UrlFetchApp.fetch(url, options);
}

-------------------------------------------------------------------------------------------------------------------------

 

📍 사용 방법

  • 위 sendToNotion() 함수에 gptOutput 넣기:
--------------------------------------------------------------------
 
sendToNotion(gptOutput);
 
--------------------------------------------------------------------
  • 그러면 분석 결과가 Notion DB에 자동으로 등록됨 🎉

 

 

 

 

🎁 실무 꿀팁

항목                                               팁
데이터 범위 줄이기 너무 많으면 GPT가 헷갈려 → 최근 10~20행만 분석 추천
요약 포맷 정리 “항목별로 출력” 지시 꼭 넣기
조건 추가 가능 예: “3일 연속 하락한 팀이 있다면 알려줘”
자동화 주기 설정 매주 금요일 오후 4시 자동 발송 설정 가능
 

 

 

 

 

데이터는 많은데, 요약은 귀찮을 때.
GPT한테 시켜보자.
평균, 이상값, 트렌드 분석까지
자동으로 뽑아주는 요약 루틴 완성 !

 

728x90
반응형
LIST