구글 앱스 스크립트 사용법: 첫 자동화 따라하기

구글 앱스 스크립트 사용법: 첫 자동화 따라하기

구글 시트에서 매번 같은 값을 입력하고, 같은 서식을 정리하고, 같은 메일을 보내고 있다면 구글 앱스 스크립트(Google Apps Script)로 그 반복을 줄일 수 있습니다. 이 글은 코드를 거의 써 본 적 없는 직장인을 기준으로, 편집기를 여는 것부터 첫 함수를 실행하고 AI에게 스크립트 초안을 받는 방법까지 순서대로 정리합니다.

이런 상황이라면

매일 아침 시트에 오늘 날짜를 적고 상태 메시지를 남기는 일, 주간 데이터를 복사해 붙이는 일처럼 클릭 몇 번이지만 매일 반복되는 작업이 있습니다. 엑셀 매크로처럼 구글 시트에도 이런 일을 대신 처리하는 방법이 있는데, 그것이 앱스 스크립트입니다. 별도 프로그램 설치 없이 브라우저에서 바로 시작할 수 있습니다.

준비물

  • 툴: 구글 계정, 구글 시트(스프레드시트 1개), 필요하면 챗GPT나 Gemini 같은 AI 챗봇
  • 요금: 무료. 다만 일반 gmail 계정은 사용량 한도(할당량)가 있습니다. 아래 주의할 점에 정리했습니다.
  • 소요시간: 처음이라면 약 10~15분

따라하기

1단계. 스크립트 편집기 열기

자동화를 붙일 구글 시트를 연 뒤 상단 메뉴에서 확장 프로그램 > Apps Script를 누릅니다. 새 탭에 편집기가 열리고 Code.gs 파일에 비어 있는 myFunction이 들어 있습니다. 이렇게 시트에서 연 스크립트는 그 시트에 연결된(바운드) 스크립트라서, 코드에서 현재 시트를 바로 다룰 수 있습니다.

2단계. 첫 함수 만들기

기본 코드를 지우고 아래 함수를 붙여넣은 뒤 저장(Ctrl+S, Mac은 Cmd+S)합니다. A1, B1에 제목을, A2에 오늘 날짜를, B2에 인사말을 쓰는 아주 짧은 예시입니다.

function writeGreeting() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const today = Utilities.formatDate(new Date(), 'Asia/Seoul', 'yyyy-MM-dd');
  sheet.getRange('A1').setValue('날짜');
  sheet.getRange('B1').setValue('메시지');
  sheet.getRange('A2').setValue(today);
  sheet.getRange('B2').setValue('안녕하세요! 첫 자동화가 실행됐습니다.');
  Logger.log(today + ' 기록 완료');
}
구글 앱스 스크립트 사용법: 첫 자동화 따라하기 2단계 실행 화면

실행 화면

상단 툴바의 함수 선택 칸에 writeGreeting이 보이면 준비가 끝난 것입니다.

3단계. 실행하고 권한 승인하기

툴바의 실행을 누르면 처음 한 번은 승인 필요 창이 뜹니다. 권한 검토를 누르고 계정을 고르면 "Google에서 확인하지 않은 앱"이라는 경고가 나올 수 있습니다. 내가 방금 만든 스크립트라면 고급을 누른 뒤 (프로젝트 이름)(으)로 이동을 선택하고, 요청 권한을 확인한 다음 계속을 누릅니다. 승인이 끝나면 아래 실행 로그에 "실행이 시작됨", "기록 완료", "실행이 완료됨"이 차례로 표시됩니다.

4단계. 결과 확인하기

시트 탭으로 돌아가면 A1:B2에 값이 들어가 있습니다. 같은 함수를 다시 실행하면 승인 없이 바로 실행됩니다.

구글 앱스 스크립트 사용법: 첫 자동화 따라하기 4단계 실행 화면

실행 화면

5단계. AI로 스크립트 초안 받기

원하는 자동화를 말로 설명하면 AI 챗봇이 코드 초안을 만들어 줍니다. 시트 구조(열 이름, 데이터가 시작하는 행)와 원하는 결과를 구체적으로 적을수록 쓸 만한 코드가 나옵니다.

구글 시트에 연결된 Apps Script 함수를 만들어줘.
- 시트 이름: 업무목록
- A열: 할 일, B열: 마감일(yyyy-MM-dd), C열: 상태
- 마감일이 오늘인데 상태가 '완료'가 아닌 행은 C열 배경을 주황색으로 바꿔줘.
- 함수 이름은 highlightDueToday, 코드마다 한 줄 주석을 달아줘.
- 실행 방법과 필요한 권한도 같이 설명해줘.

받은 코드는 2단계처럼 붙여넣고 실행해 보면 됩니다. 처음에는 복사본 시트에서 실행해 결과를 확인한 뒤 실제 시트에 적용하는 것이 안전합니다.

결과와 전후 비교

작업수작업스크립트 사용
날짜와 상태 메시지 기록매일 약 1분버튼 한 번(수 초)
마감 임박 행 표시목록 확인에 약 5~10분실행 한 번(수 초)
처음 설정없음약 10~15분

※ 표의 시간은 작업 규모에 따라 달라지는 추정치입니다. 한 번 만든 함수는 시간 기반 트리거를 걸어 정해진 시각에 자동 실행할 수도 있습니다.

주의할 점

  • 권한 범위: 위 예시처럼 승인하면 "모든 Google Sheets 스프레드시트 확인, 수정, 생성, 삭제" 권한을 요청할 수 있습니다. 현재 파일만 다루면 되는 스크립트라면 코드 맨 위에 /** @OnlyCurrentDoc */ 주석을 넣어 범위를 줄일 수 있습니다.
  • 남이 만든 스크립트: 출처를 모르는 코드나 공유받은 스크립트는 권한 내용을 확인하기 전에 승인하지 마세요.
  • 사용량 한도: Google 공식 문서 기준(작성 시점) 일반 gmail 계정은 실행 1회당 6분, 트리거 총 실행 시간 하루 90분, 메일 수신자 하루 100명 등의 제한이 있습니다.
  • AI 코드 검증: AI가 만든 코드에는 존재하지 않는 메서드나 잘못된 열 번호가 섞일 수 있습니다. 반드시 복사본에서 먼저 실행하고, 오류 메시지는 그대로 AI에게 다시 보여주며 고치세요.
  • 개인정보: 고객 정보 같은 민감한 데이터를 AI 챗봇에 그대로 붙여넣지 말고, 열 이름과 가짜 예시만 설명하세요.

스크립트까지 가지 않아도 되는 단순한 계산이라면 챗GPT 엑셀 프롬프트 모음처럼 수식을 받아 쓰는 편이 빠릅니다.

한 줄 정리

확장 프로그램 > Apps Script에서 짧은 함수 하나를 만들고 권한 승인까지 마치면, 그다음부터는 AI에게 받은 초안을 붙여넣어 반복 업무를 하나씩 자동화할 수 있습니다.

댓글

이 블로그의 인기 게시물

챗GPT 엑셀 데이터 분석: 파일 올려 요약표 만드는 법

챗GPT 엑셀 프롬프트 모음: 수식·정리·오류 해결 예시