AI로 엑셀·구글시트 자동화 3가지 (2026) — 수식부터 반복작업까지

AI로 엑셀·구글시트 자동화 3가지 (2026) — 수식부터 반복작업까지

수식이 왜 안 되는지 모르겠고 같은 정리를 매주 손으로 하고 있다면, ChatGPT로 수식 만들기, Google Apps Script로 반복 작업 자동화, Make로 시트를 다른 앱과 연결하기까지 2026년 8월 기준으로 정리한 초보자용 실전 가이드입니다.

“VLOOKUP 예제를 그대로 붙여넣었는데 #N/A만 뜬다.” “피벗테이블은 어디서부터 눌러야 하는지 모르겠다.” “매주 월요일마다 같은 시트를 열어서 같은 순서로 복사·정렬한다.” 스프레드시트에서 막히는 지점은 대부분 이 셋 중 하나입니다. 그런데 검색으로 찾은 수식은 남의 시트 구조에 맞춰 쓰인 것이라 내 시트에서는 열 번호부터 어긋납니다. 진짜 문제는 수식을 모르는 게 아니라, 내 시트 구조를 설명할 언어가 없다는 것입니다.

이 글은 5분 안에 읽고 오늘 쓰는 시트에 바로 적용할 수 있는 스프레드시트 자동화 3가지를 정리합니다. 수식·함수를 말로 설명해서 받아내기(ChatGPT), 매주 반복하는 정리 작업을 스크립트로 넘기기(Google Apps Script), 시트를 폼·메일 같은 다른 앱과 연결하기(Make) 순서입니다. 엑셀과 구글시트 양쪽을 함께 다루고, 세 방법 모두 복붙할 수 있는 코드블록을 하나씩 넣었습니다.

AI로 업무 자동화 3배 올리기와 다른가? 그 글은 이메일·스프레드시트·워크플로를 한 편에 담은 자동화 전반의 지도입니다. 이 글은 그중 스프레드시트 한 칸만 파고들어, 수식 한 줄에서 시작해 스크립트와 외부 연결까지 올라가는 경로를 다룹니다. 다루는 대상이 “시트 파일 하나”로 고정돼 있다는 점이 다릅니다.

스프레드시트 자동화 3가지 한눈에 보기

이 섹션에서 배우는 것: 세 방법을 한 줄씩 훑고, 지금 내 상황에 맞는 하나를 먼저 고르기.

#방법도구잘 맞는 상황5분 안에?
1수식·함수를 말로 설명해서 받기ChatGPT수식 한 줄에서 막혔을 때O
2반복 정리 작업을 스크립트로 넘기기Google Apps Script매주 같은 순서를 반복할 때△ (처음 10분)
3시트를 다른 앱과 연결하기Make폼·메일 내용을 시트에 옮길 때△ (처음 15분)

세 방법은 난이도 순서가 아니라 작업이 걸쳐 있는 범위 순서입니다. 셀 하나 안에서 끝나면 1번, 시트 파일 안에서 끝나면 2번, 시트 밖의 앱까지 가면 3번입니다. 이 기준으로 고르면 도구를 잘못 잡아 시간을 버리는 일이 줄어듭니다.

세 방법 모두 구글 시트를 기준으로 설명합니다. 엑셀에서도 방법 1은 그대로 쓸 수 있고, 방법 2·3은 구글 시트 쪽이 붙이기 훨씬 쉽습니다.

구글 시트 홈페이지 화면 workspace.google.com 홈페이지

⚠️ 아래 무료 한도·요금은 2026년 8월 기준이며 각 사의 정책 변경으로 언제든 바뀝니다. 최신 정보는 공식 사이트에서 확인하세요. 출처: OpenAI 요금제, Google Apps Script, Make 요금제

방법 1: 수식을 말로 설명하면 만들어준다 — ChatGPT

이 섹션에서 배우는 것: 내 시트 구조를 문장으로 설명해서 바로 붙여넣을 수식을 받고, 에러 원인까지 되묻기.

수식을 검색해서 붙여넣으면 실패하는 이유는 단순합니다. 검색 결과의 수식은 “A열에 이름, B열에 점수”라는 남의 시트를 전제로 하는데, 내 시트는 C열에 이름이 있고 헤더가 두 줄입니다. AI에게 필요한 건 함수 이름이 아니라 내 시트의 열 배치와 원하는 결과입니다. 이 두 가지만 문장으로 주면 나머지는 도구가 채웁니다.

ChatGPT 홈페이지 화면 chatgpt.com 홈페이지

찾기 함수만 봐도 선택지가 갈립니다. 구글시트의 VLOOKUP=VLOOKUP(search_key, range, index, [is_sorted]) 형태이고, 공식 문서는 정렬 여부와 무관하게 일관된 결과를 원하면 is_sortedFALSE로 명시하라고 안내합니다(Google 문서 도움말). 엑셀에는 =XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])가 있는데, Microsoft 공식 문서는 “XLOOKUP is not available in Excel 2016 and Excel 2019”라고 명시합니다(Microsoft 지원). 이런 버전 조건까지 프롬프트에 넣어야 헛돌지 않습니다.

손으로 하던 것말로 설명하는 방식
VLOOKUP 예제를 검색해 열 번호를 세어 맞추기”A열 사번으로 다른 시트 B~E에서 부서명을 가져와”
피벗테이블 메뉴를 눌러가며 시행착오”월별·담당자별 매출 합계를 표로 만들어줘”
#N/A 원인을 감으로 추측수식 원문과 에러 문구를 그대로 붙여넣고 원인 묻기

5분 안에 따라 하기

  1. chatgpt.com 에서 대화창을 엽니다. 무료 플랜으로 시작할 수 있고, 플랜별 조건은 OpenAI 요금제에서 확인하세요.

  2. 아래 틀에 [ ] 부분만 내 시트에 맞게 바꿔 붙여넣습니다.

    구글시트에서 쓸 수식을 만들어줘.
    - 시트 이름: [직원명단] / 헤더는 [1]행, 데이터는 [2]행부터
    - 열 배치: A=[사번], B=[이름], C=[부서], D=[입사일]
    - 참조할 다른 시트: [급여] 시트의 A=[사번], B=[기본급]
    - 원하는 결과: [직원명단 E열에 각 사번의 기본급을 가져오기]
    - 조건: 사번이 없으면 빈칸으로 두기
    수식 한 줄만 주고, 각 인수가 무슨 뜻인지 한 줄씩 설명해줘.
  3. 받은 수식을 셀에 붙여넣고 결과를 확인합니다. 값이 하나라도 이상하면 그 셀 주소와 눈에 보이는 값을 알려주고 다시 요청합니다.

  4. 엑셀에서 쓸 거라면 첫 줄을 “엑셀 [Microsoft 365]에서 쓸 수식”으로 바꿉니다. 버전을 적어야 XLOOKUP처럼 버전을 타는 함수를 피해서 답을 줍니다.

에러 원인을 물어보는 법

수식이 틀렸을 때 “안 돼요”라고만 하면 도구도 추측만 합니다. 아래 세 가지를 같이 주면 원인 지목이 훨씬 빨라집니다.

  • 수식 원문 그대로: 셀을 클릭해 수식 입력줄에 보이는 문자열을 통째로 복사합니다.
  • 에러 문구 그대로: #N/A, #REF!, #VALUE!는 각각 원인이 다릅니다. 화면에 뜬 문자열을 그대로 씁니다.
  • 찾으려는 값이 실제로 있는 위치: “사번 A1024는 급여 시트 37행에 있다”처럼 한 줄이면 충분합니다. 공백·서식 차이로 못 찾는 경우를 이 정보로 잡아냅니다.

잘 안 되는 경우

  • 회사 데이터를 그대로 붙여넣기: 고객명·연락처·계약 금액·사번이 든 표를 통째로 외부 AI에 넣는 것은 사내 보안 규정 위반이 되는 경우가 많고, 한 번 전송된 데이터는 회수할 수 없습니다. 수식을 만들 때 실제 값은 필요 없습니다. 열 배치와 원하는 결과만 설명하고 값은 [사번], [금액]처럼 가짜로 치환하세요. 규정이 있는 조직이라면 붙여넣기 전에 담당 부서에 확인하는 게 먼저입니다.
  • 시트 구조를 말로 안 주기: “부서별 합계를 구하는 수식”만 요청하면 도구가 임의의 열 배치를 가정해 답합니다. 그 수식은 예제로는 맞고 내 시트에서는 틀립니다. 열 이름과 헤더 행 번호는 반드시 적으세요.

관련 글: AI로 데이터 분석하기 에서는 수식 단계를 넘어 표 전체를 읽히고 해석을 받아내는 방법을 다룹니다.

방법 2: 반복 작업을 스크립트로 넘긴다 — Google Apps Script

이 섹션에서 배우는 것: 매주 반복하는 복사·정리 작업을 짧은 스크립트로 옮기고 시간에 맞춰 자동 실행하기.

수식은 셀 안에서 끝나는 계산에 강합니다. “원본 시트에서 오늘 자 행만 골라 다른 시트로 옮기기”처럼 동작의 순서가 있는 일은 수식으로 억지로 만들면 오히려 깨지기 쉽습니다. 이때 쓰는 게 Apps Script입니다. 공식 문서는 이를 “a cloud-based JavaScript platform powered by Google Drive that lets you integrate with and automate tasks across Google products”라고 정의합니다(Google Apps Script). 스프레드시트 메뉴의 확장 프로그램 → Apps Script로 들어가면 별도 설치 없이 편집기가 열립니다.

Apps Script 홈페이지 화면 script.google.com 홈페이지

10분 안에 따라 하기

  1. 구글시트를 열고 확장 프로그램 → Apps Script를 누릅니다. 편집기 새 탭이 열립니다.

  2. 기본으로 들어 있는 function myFunction() {}을 지우고 아래 코드를 붙여넣습니다. 원본 시트 이름은 Raw, 오늘 자를 모을 시트 이름은 Today, 날짜는 C열에 있다고 가정합니다.

    function copyTodayRows() {
      const ss = SpreadsheetApp.getActiveSpreadsheet();
      const raw = ss.getSheetByName('Raw');      // 원본 시트
      const today = ss.getSheetByName('Today');  // 오늘치만 모을 시트
      const tz = 'Asia/Seoul';
      const stamp = Utilities.formatDate(new Date(), tz, 'yyyy-MM-dd');
      const rows = raw.getDataRange().getValues();
    
      for (let i = 1; i < rows.length; i++) {    // 0번은 헤더라 건너뜁니다
        const cell = rows[i][2];                 // C열 = 날짜 (0부터 세어 2)
        if (!(cell instanceof Date)) continue;   // 날짜가 아니면 무시
        if (Utilities.formatDate(cell, tz, 'yyyy-MM-dd') === stamp) {
          today.appendRow(rows[i]);
        }
      }
    }
  3. 디스크 모양 저장 아이콘을 누르고, 상단 함수 목록에서 copyTodayRows를 고른 뒤 실행을 누릅니다. 처음 한 번은 권한 승인 창이 뜨고, 본인 구글 계정으로 승인하면 됩니다.

  4. 코드를 고치고 싶으면 그대로 ChatGPT에 붙여넣고 “이 스크립트에서 C열 대신 D열을 보게 바꿔줘”처럼 한 가지씩만 요청합니다. 한 번에 여러 개를 바꾸면 어디서 틀렸는지 추적하기 어렵습니다.

  5. 매일 자동 실행하려면 왼쪽 사이드바 트리거 → 트리거 추가에서 시간 기반 트리거를 만듭니다. 공식 문서는 시간 기반 트리거가 “as frequently as every minute or as infrequently as once per month” 범위로 설정된다고 안내합니다(설치형 트리거 문서).

위 코드가 쓰는 getDataRange(), getLastRow(), appendRow(rowContents) 같은 메서드는 모두 Sheet 클래스 공식 레퍼런스에 정의돼 있습니다(Sheet 클래스). 스크립트를 손볼 때는 이 레퍼런스에서 메서드 이름을 먼저 확인하는 습관이 잔실수를 크게 줄여 줍니다.

잘 안 되는 경우

  • 회사 워크스페이스 계정에서 실행이 막힘: 조직 정책에 따라 스크립트 실행이나 외부 승인이 차단돼 있을 수 있습니다. 개인 구글 계정으로 만든 사본에서 먼저 테스트하고, 실제 업무 시트에 옮길 때 관리자에게 문의하세요.
  • 한 번에 전부 자동화하려 함: “우리 팀 업무 전체를 자동화해줘” 같은 요청은 길고 검증 불가능한 코드를 만듭니다. 복사·필터·정렬처럼 한 동작씩 함수를 나눠 각각 실행해 확인한 뒤 트리거로 묶는 편이 안정적입니다.

⚠️ Apps Script에는 계정 유형별 일일 한도가 있습니다. 공식 할당량 문서 기준 트리거 총 실행 시간은 소비자 계정(gmail.com) 90분/일, Google Workspace 계정 6시간/일이고, 한 번의 실행 시간은 양쪽 모두 6분입니다. 한도를 넘기면 다음 날까지 멈춥니다. 출처: Apps Script 할당량

방법 3: 시트를 다른 앱과 연결한다 — Make

이 섹션에서 배우는 것: 폼 응답이나 메일 내용을 사람 손을 거치지 않고 시트에 쌓는 연결 만들기.

Apps Script는 구글 제품 안에서 강합니다. 그런데 실제 업무의 반복은 대개 시트 바깥에서 시작합니다. 신청 폼이 제출되고, 메일이 오고, 그걸 사람이 열어서 시트에 옮겨 적습니다. 이 옮겨 적는 구간을 없애는 도구가 Make(구 Integromat)입니다. 앱과 앱 사이를 화면에서 선으로 연결하는 방식이라 코드를 쓰지 않습니다.

Make 홈페이지 화면 make.com 홈페이지

15분 안에 따라 하기

  1. make.com 에서 계정을 만들고 Create a new scenario를 누릅니다.

  2. 가운데 원을 눌러 첫 모듈(트리거)로 쓸 앱을 검색합니다. 앱마다 제공되는 모듈이 다르니 목록에서 직접 고르세요. 구글시트 쪽 지원 모듈은 Make Google Sheets 앱 문서에서 확인할 수 있습니다.

  3. 아래 설정 값을 화면에 그대로 옮겨 적습니다. 폼 응답을 시트에 쌓는 가장 기본형입니다.

    [시나리오 설정 값 — 신청 폼 응답을 시트에 적재]
    트리거 앱   : Google Forms
    트리거 이벤트: 새 응답이 제출되었을 때
    대상 폼     : [문의 접수 폼]
    
    액션 앱     : Google Sheets
    액션 이벤트  : 시트 맨 아래에 행 추가
    대상 문서    : [문의접수_2026]
    대상 시트    : [Raw]
    필드 매핑
      A열 접수일시 <- 트리거의 [Timestamp]
      B열 이름     <- 트리거의 [이름]
      C열 연락처   <- 트리거의 [연락처]
      D열 문의내용 <- 트리거의 [문의 내용]
      E열 처리상태 <- 고정값 "접수"
    
    스케줄링    : 15분 간격 (무료 플랜 최소 간격)
  4. 두 모듈을 선으로 연결하고 Run once로 한 번 테스트합니다. 실제로 폼에 테스트 응답을 하나 넣어 시트에 행이 생기는지 확인하세요.

  5. 정상이면 좌측 하단 스위치를 켜서 자동 실행으로 전환합니다. 이후 폼 응답은 시트에 자동으로 쌓이고, 방법 2의 스크립트가 그 시트를 정리하도록 이어 붙일 수 있습니다.

잘 안 되는 경우

  • 사람 확인이 필요한 단계까지 자동 발송: 고객 회신이나 대외 보고까지 자동으로 내보내면 잘못 나간 메일을 되돌릴 수 없습니다. 외부로 나가는 마지막 단계는 “시트에 적재 + 담당자에게 알림”까지만 자동으로 하고, 발송 버튼은 사람이 누르도록 설계하세요.
  • 트리거 간격을 너무 짧게 잡기: 무료 플랜은 월 1,000 크레딧에 시나리오 실행 간격 최소 15분, 활성 시나리오 2개가 기준입니다(Make 요금제). 실행 간격을 촘촘히 잡으면 며칠 만에 한도를 소진합니다. “실시간”이 정말 필요한지 먼저 따져보세요.

관련 글: PDF 요약 AI 도구 비교 에서는 시트로 들어오기 전 단계인 문서·첨부파일을 정리하는 방법을 다룹니다.

무료 한도 한눈에 보기

이 섹션에서 배우는 것: 세 도구를 무료 범위 안에서 어디까지 쓸 수 있는지 공식 기준으로 확인하기.

도구로그인무료 한도 (2026년 8월 기준)한국어
ChatGPT필요무료 플랜 제공. 플랜별 조건은 OpenAI 요금제 참고지원
Google Apps Script구글 계정별도 요금 없이 사용. 트리거 총 실행 90분/일(소비자 계정), 1회 실행 6분편집기 UI 지원
Make필요월 1,000 크레딧, 활성 시나리오 2개, 최소 실행 간격 15분화면은 영어

Apps Script의 90분/일은 소비자 계정 기준이고 Google Workspace 계정은 6시간/일입니다. URL 호출은 소비자 계정 20,000회/일, Workspace 계정 100,000회/일로 문서화돼 있습니다(Apps Script 할당량). 개인이 시트 정리 용도로 쓰는 수준이라면 무료 범위를 넘길 일이 거의 없습니다. 구글시트 자체는 Google 계정이 있으면 누구나 시트를 만들 수 있고, 일부 고급 기능만 유료 플랜에 묶여 있습니다.

⚠️ 위 수치는 각 사 공식 문서를 2026년 8월에 확인한 값입니다. 요금제와 무료 한도는 예고 없이 바뀌므로, 업무에 도입하기 전에는 반드시 공식 페이지에서 다시 확인하세요.

용도별 추천 — 어디서 시작할까

이 섹션에서 배우는 것: 지금 내 상황에 맞는 한 가지를 골라 이번 주 안에 끝내기.

지금 상황시작할 방법이유
수식 하나에서 막혀 몇 시간째 검색 중방법 1 (ChatGPT)시트 구조만 설명하면 끝. 설치·설정이 없음
매주 같은 순서로 복사·정리를 반복방법 2 (Apps Script)순서가 있는 작업은 수식보다 스크립트가 안정적
폼·메일 내용을 사람이 옮겨 적는 중방법 3 (Make)시트 바깥에서 시작하는 일은 연결 도구가 맞음
엑셀만 쓰고 구글 계정이 없음방법 1 (ChatGPT)엑셀 버전을 프롬프트에 적으면 함수 호환까지 맞춰줌

처음 한 번은 방법 1부터 하세요. 수식을 말로 설명하는 연습이 되어 있어야 방법 2에서 “이 스크립트가 무엇을 해야 하는지”를 정확히 적을 수 있습니다. 순서를 건너뛰고 스크립트부터 손대면, 받은 코드가 왜 안 도는지 판단할 기준이 없어 시간이 더 걸립니다. 도구를 더 넓게 훑어보고 싶다면 AI 도구 100선 허브무료 웹 도구 모음을 참고하세요.

자주 묻는 질문 3가지

Q. 엑셀에서도 이 3가지가 다 되나요? 방법 1은 그대로 됩니다. 프롬프트 첫 줄에 “엑셀 Microsoft 365에서 쓸 수식”처럼 버전을 적으면 됩니다. XLOOKUP은 Excel 2016·2019에서 지원되지 않으므로 버전 표기가 중요합니다(Microsoft 지원). 방법 2의 Apps Script는 구글시트 전용이라 엑셀에는 적용되지 않습니다. 방법 3의 Make는 연결할 앱 목록에서 지원 여부를 확인하고 쓰면 됩니다.

Q. 코딩을 전혀 몰라도 방법 2를 할 수 있나요? 코드를 처음부터 짜는 능력은 필요 없습니다. 위 코드를 그대로 붙여넣고 시트 이름과 열 번호만 바꾸면 동작합니다. 다만 에러가 났을 때 어느 줄을 고쳐야 하는지 감을 잡으려면 “시트를 가져온다 → 값을 읽는다 → 조건에 맞으면 추가한다”는 흐름 정도는 이해하고 있는 게 좋습니다. 코딩 도구 자체가 궁금하다면 AI 코딩 도구 비교를 참고하세요.

Q. 회사 시트에 바로 적용해도 되나요? 사본을 만들어 거기서 먼저 검증하세요. 특히 방법 2의 스크립트는 appendRow처럼 시트를 실제로 바꾸는 동작을 포함하므로, 원본에서 바로 돌리면 잘못된 행이 쌓여도 되돌리기 번거롭습니다. 그리고 고객 정보나 계약 데이터가 든 시트의 내용을 외부 AI 서비스에 붙여넣는 것은 별개의 문제입니다. 사내 규정을 먼저 확인하고, 수식 요청에는 실제 값 대신 구조만 넣으세요.

요약

세 가지를 한 문장씩만 기억해도 이번 주 작업 시간이 줄어듭니다.

  • 수식이 막힐 때 → ChatGPT. 함수 이름을 묻지 말고 시트의 열 배치와 원하는 결과를 문장으로 설명합니다.
  • 매주 같은 정리를 반복할 때 → Apps Script. 한 동작씩 함수로 나눠 만들고 시간 기반 트리거로 묶습니다.
  • 시트 바깥에서 일이 시작될 때 → Make. 폼·메일을 시트에 적재하는 구간만 자동으로 넘기고, 외부 발송은 사람이 맡습니다.

스프레드시트 자동화의 목적은 수식을 잘 쓰는 게 아니라, 내 시트에서 무엇이 반복되는지 말로 설명할 수 있게 되는 것입니다. 설명이 되면 그다음은 도구가 대신합니다. 이번 주에는 방법 1만 골라, 막혔던 수식 하나를 문장으로 옮겨 적는 것부터 해보세요. 다음 글에서는 “무료로 쓸 수 있는 AI 5종의 한도 비교”를 다룰 예정입니다.