본문 바로가기
카테고리 없음

구글 스프레드시트로 나만의 AI 업무 대시보드 만들기 – 실전 예제로 배우는 자동화 팁

by 샤프한꼰대 2025. 4. 4.

매일 Gmail로 들어오는 수많은 이메일, 손으로 하나하나 정리하기 힘드시죠? 이번 글에서는 Gmail과 Google Sheets를 연동하여 메일을 자동으로 정리하고 시각화하는 업무용 대시보드를 만드는 방법을 소개합니다.

프로그래밍을 몰라도 따라할 수 있도록 Apps Script를 활용한 자동화 과정을 A부터 Z까지 친절하게 설명드릴게요.


1. 준비물

  • Google 계정 (Gmail + Google Sheets)
  • Google Apps Script 사용 권한
  • 자동 정리할 메일 규칙 (예: 제목에 ‘고객문의’ 포함)

2. 구글 시트 문서 만들기

  1. Google Sheets에서 새 문서 생성
  2. 문서 제목: Gmail 대시보드
  3. 시트 이름을 Inbox로 변경
  4. A1~E1 셀에 아래 항목 입력:
    • A열: 날짜
    • B열: 발신자
    • C열: 제목
    • D열: 본문 요약
    • E열: 원본 링크

3. Gmail 메일 자동 수집 스크립트 작성

  1. 상단 메뉴 → 확장 프로그램 > Apps Script 클릭
  2. 다음 코드 붙여넣기:


function importGmailToSheet() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Inbox");
  var threads = GmailApp.search('subject:"고객문의" newer_than:7d'); // 최근 7일 '고객문의' 메일
  var startRow = sheet.getLastRow() + 1;

  threads.forEach(function(thread) {
    var message = thread.getMessages()[0];
    var date = message.getDate();
    var from = message.getFrom();
    var subject = message.getSubject();
    var body = message.getPlainBody().slice(0, 100); // 100자 요약
    var link = "https://mail.google.com/mail/u/0/#inbox/" + thread.getId();

    sheet.appendRow([date, from, subject, body, link]);
  });
}

위 코드는 제목에 "고객문의"가 포함된 최근 7일간의 메일을 읽고 시트에 자동으로 저장합니다.


4. 자동 실행 트리거 설정

  1. 좌측 시계 아이콘(⏰) 클릭 → 트리거 추가
  2. 함수: importGmailToSheet
  3. 이벤트: 시간 기반 → 1시간마다 실행

이제 매시간마다 Gmail을 체크해서, 새로운 메일이 오면 자동으로 시트에 기록됩니다.


5. 실시간 대시보드 만들기 (차트 시각화)

 

🎯 목표는?

우리가 만든 Inbox 시트에는 Gmail에서 수집한 메일들이 저장돼 있습니다.
각 메일은 아래와 같은 형태로 들어있죠:

날짜 발신자 제목 본문 요약 원본 링크

2025-04-03 example@mail.com 고객문의 내용 링크
2025-04-03 other@mail.com 환불요청 내용 링크
2025-04-04 hello@mail.com 문의합니다 내용 링크

이제 하고 싶은 건 날짜별로 몇 개의 메일이 들어왔는지 숫자로 보여주는 것이에요.
그걸 바탕으로 꺾은선 그래프나 막대 그래프로 시각화하는 거죠.


✅ 어떻게 할까?

👉 이 작업은 새 시트에서

  1. 날짜별로 중복 없는 리스트 만들고 (UNIQUE 함수)
  2. **날짜별 메일 수를 세는 함수(COUNTIF)**를 사용하면 됩니다.

🧩 Step-by-Step 실습

✅ 1단계: 새 시트 만들기

  1. Inbox 시트 옆에 새 시트를 만듭니다.
  2. 이름을 Dashboard로 변경합니다.

✅ 2단계: 날짜별로 중복 없는 목록 만들기

📌 목적: Inbox 시트의 날짜(A열)에 있는 날짜들을 중복 없이 한 줄씩 가져오기

  • Dashboard 시트의 A2 셀에 아래 수식을 입력:
=UNIQUE(Inbox!A2:A)

이렇게 하면 Inbox 시트의 날짜들 중 중복 없이 한 번씩만 가져옵니다.
(즉, 4월 3일에 5건이 있어도 “2025-04-03”은 한 줄만 나옴)


✅ 3단계: 날짜별 메일 수 세기

📌 목적: 각 날짜가 Inbox에 몇 번 등장했는지 세기

  • Dashboard 시트의 B2 셀에 아래 수식을 입력:
=ARRAYFORMULA(COUNTIF(Inbox!A2:A, A2:A))

✔ 이 수식은 A열에 있는 날짜별로 Inbox 시트에서 몇 건의 메일이 있는지 자동으로 계산합니다.


✅ 4단계: 차트 만들기 (대시보드 시각화)

  1. Dashboard 시트에서 A열(날짜)과 B열(메일 수)을 블록 지정
  2. 상단 메뉴 → [삽입] > [차트]
  3. 꺾은선형(Line) 또는 막대형(Bar) 차트 선택
  4. 제목: "날짜별 메일 수" 또는 "Daily Email Volume"

이제 날짜별로 몇 건의 메일이 있었는지 한눈에 볼 수 있는 대시보드가 완성됩니다!


📌 예시 결과

날짜 메일 수

2025-04-03 5
2025-04-04 2
2025-04-05 7

이 데이터를 바탕으로 그래프가 자동 생성됩니다

 

 

6. 확장 활용 예시

  • GPT API 연동: 메일 본문 요약 자동 생성
  • 특정 키워드 필터링: “환불”, “문의” 메일만 자동 정리
  • 답변 지연 시간 측정: 고객응대 품질 분석

마무리

Gmail과 Google Sheets를 연동하면 복잡한 툴 없이도 실시간 메일 분석 + 업무 대시보드를 구현할 수 있습니다. 이 기능은 고객문의 대응, 팀원 이메일 모니터링, 개인 프로젝트 관리 등 다양한 분야에 활용 가능합니다.

한 번 만들어두면 수동 작업 없이도 자동으로 정리되므로 시간을 절약하고 업무 효율을 높이는 최고의 자동화 도구가 됩니다. 지금 바로 실습해보세요!