구글 시트 vs 엑셀 — 언제 뭘 쓸까?

항목구글 시트엑셀
가격✅ 무료💰 유료 (Microsoft 365)
실시간 협업✅ 탁월△ 제한적
자동화Apps Script (JavaScript)VBA (Visual Basic)
AI 연동✅ Gemini AI 내장Copilot (유료)
대용량 데이터△ 500만 셀 제한✅ 더 빠름
오프라인△ 가능하지만 제한적✅ 완전 오프라인
💡 추천: 팀 협업, 웹 연동, 자동화가 중요하다면 구글 시트. 대용량 데이터 처리, 복잡한 피벗, 재무 모델링이라면 엑셀.

업무 자동화 핵심 수식 20개

수식용도예시
VLOOKUP다른 시트/범위에서 값 찾기=VLOOKUP(A2, 직원목록!A:D, 3, 0)
XLOOKUPVLOOKUP 개선판, 양방향 검색=XLOOKUP(A2, B:B, C:C, "없음")
IF조건에 따라 다른 값 반환=IF(B2>100, "합격", "불합격")
IFS여러 조건 분기 (중첩 IF 대체)=IFS(A2>90,"A", A2>80,"B", TRUE,"C")
SUMIF조건에 맞는 셀 합계=SUMIF(B:B, "서울", C:C)
COUNTIF조건에 맞는 셀 개수=COUNTIF(A:A, "완료")
ARRAYFORMULA배열 수식 (드래그 없이 전체 적용)=ARRAYFORMULA(B2:B100*C2:C100)
IMPORTRANGE다른 스프레드시트 데이터 가져오기=IMPORTRANGE("시트URL", "A:D")
QUERYSQL처럼 데이터 필터링/정렬=QUERY(A:D,"SELECT A,C WHERE B='완료'")
FILTER조건에 맞는 행 필터링=FILTER(A:D, C:C="서울")
UNIQUE중복 제거 후 유니크 값=UNIQUE(A2:A100)
SORT범위 정렬 후 반환=SORT(A2:C100, 2, FALSE)
TEXT숫자를 특정 형식 텍스트로=TEXT(TODAY(), "YYYY년 MM월 DD일")
IFERROR오류 시 대체값 표시=IFERROR(VLOOKUP(...),"미등록")
INDEX+MATCH유연한 조회 (VLOOKUP 대체)=INDEX(C:C, MATCH(A2, B:B, 0))
IMPORTXML웹페이지에서 데이터 수집=IMPORTXML("URL", "//h1")
GOOGLETRANSLATE셀 내 자동 번역=GOOGLETRANSLATE(A2,"en","ko")
SPARKLINE셀 안에 미니 차트=SPARKLINE(B2:B13)
REGEXEXTRACT정규식으로 텍스트 추출=REGEXEXTRACT(A2, "\d{3}-\d{4}-\d{4}")
TRANSPOSE행/열 전환=TRANSPOSE(A1:D5)

필수 단축키 TOP 20

Ctrl+D
아래 셀로 복사
Ctrl+R
오른쪽 셀로 복사
Ctrl+Shift+V
값만 붙여넣기
Ctrl+Enter
여러 셀에 동시 입력
Ctrl+Shift+L
필터 토글
Ctrl+Alt+M
메모 삽입
Ctrl+Shift+1
숫자 형식 (천단위)
Ctrl+Shift+4
통화 형식
Ctrl+Shift+5
퍼센트 형식
Alt+Enter
셀 안에서 줄바꿈
Ctrl+Space
열 전체 선택
Shift+Space
행 전체 선택
Ctrl+↑↓←→
데이터 끝으로 이동
F4
절대참조($) 토글
Ctrl+`
수식 표시 모드
Ctrl+K
하이퍼링크 삽입
Ctrl+Alt+Shift+H
히스토리 보기
Ctrl+Shift+F
찾기 및 바꾸기
Ctrl+Alt+5
취소선
Ctrl+Shift+E
가운데 정렬

Apps Script 자동화 실전 코드

구글 시트의 진정한 강점은 Apps Script(JavaScript 기반)로 업무 자동화가 가능하다는 것입니다. 확장 프로그램 → Apps Script에서 작성합니다.

📧 이메일 자동 발송

// 시트의 이름, 이메일, 내용을 읽어 자동 발송
function sendEmails() {
  const sheet = SpreadsheetApp.getActiveSheet();
  const data = sheet.getDataRange().getValues();

  for (let i = 1; i < data.length; i++) {
    const [name, email, subject, body, sent] = data[i];
    if (!sent) {  // 미발송인 경우만
      GmailApp.sendEmail(email, subject,
        `안녕하세요, ${name}님!\n\n${body}\n\n감사합니다.`
      );
      sheet.getRange(i+1, 5).setValue('발송완료'); // E열에 완료 표시
    }
  }
}

⏰ 매일 자동 보고서

// 트리거 설정: 매일 오전 9시에 자동 실행
function createDailyReport() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const today = new Date();
  const dateStr = Utilities.formatDate(today, 'Asia/Seoul', 'yyyy-MM-dd');

  // 새 시트 생성
  const newSheet = ss.insertSheet(`보고서_${dateStr}`);

  // 데이터 집계 후 보고서 작성
  const dataSheet = ss.getSheetByName('데이터');
  const totalSales = dataSheet.getRange('D2:D100').getValues()
    .reduce((sum, [val]) => sum + (val || 0), 0);

  newSheet.getRange('A1').setValue(`${dateStr} 일일 매출: ${totalSales.toLocaleString()}원`);
}

Gemini AI로 구글 시트 활용하기

💡 구글 시트 + Gemini AI

구글 시트에서 셀을 선택하고 사이드 패널의 Gemini AI에게 질문할 수 있습니다. "이 데이터의 추세를 분석해줘", "VLOOKUP 수식을 XLOOKUP으로 바꿔줘", "이 데이터로 어떤 차트가 적합할까?"라고 물으면 됩니다.

또한 IMPORTXML과 GOOGLETRANSLATE를 활용하면 외부 데이터 수집과 자동 번역도 수식 하나로 처리할 수 있습니다. AI에게 "구글 시트에서 네이버 환율을 자동으로 불러오는 IMPORTXML 수식을 작성해줘"라고 요청해보세요.