구글 시트는 단순한 표 계산기를 넘어, 강력한 함수와 자동화 기능으로 사실상 업무 자동화 도구입니다. 하지만 많은 분이 SUM과 IF 정도만 쓰고 계시죠. 오늘은 당장 내일 업무에 적용할 수 있는 함수 10가지를 소개합니다.
실제 사무 환경에서 데이터를 다루는 시간의 70%는 정제, 검색, 집계입니다. 이 함수들을 익히면 반복 수작업을 수식 한 줄로 줄일 수 있습니다. 각 함수마다 실전 예시를 함께 드리니, 바로 복사해서 써보세요.
1. VLOOKUP — 데이터 찾기의 기본
=VLOOKUP(찾을값, 범위, 열번호, FALSE) 형태로 사용합니다. 예를 들어 직원 ID로 이름을 찾거나, 상품 코드로 가격을 불러올 때 씁니다. 마지막 인자를 FALSE로 설정하면 정확히 일치하는 값만 찾습니다.
실전 예시를 보겠습니다. A열에 상품 코드, B열에 상품명, C열에 단가가 있을 때, =VLOOKUP("PRD-001", A:C, 3, FALSE)를 입력하면 PRD-001 상품의 단가를 바로 불러올 수 있습니다. 두 번째 인자의 범위에서 "찾을 값이 반드시 첫 번째 열에 있어야" 한다는 제약이 있습니다.
VLOOKUP의 한계도 알아야 합니다. 찾는 열이 항상 범위의 첫 번째 열이어야 하므로, 좌측으로는 검색할 수 없습니다. 또한 여러 조건을 결합한 검색이 어렵습니다. 이런 한계를 극복한 것이 다음에 소개할 XLOOKUP입니다.
2. XLOOKUP — VLOOKUP의 진화형
VLOOKUP의 단점을 해결한 함수입니다. 찾는 열이 오른쪽에 있어도 되고, 결과가 없을 때 기본값을 지정할 수 있습니다. =XLOOKUP(찾을값, 찾는범위, 결과범위, "없음")처럼 사용합니다. 구글 시트에서 2023년부터 지원됩니다.
XLOOKUP이 VLOOKUP보다 나은 점을 비교해 드리겠습니다.
- 찾는 열이 왼쪽에 있을 필요가 없습니다 (VLOOKUP의 가장 큰 제약 해결)
- 결과가 없을 때 표시할 기본값(#N/A 대신)을 지정할 수 있습니다
- 여러 조건 검색이 가능합니다: =XLOOKUP("홍길동"&"2026", A:A&B:B, C:C)
- 위에서 아래로뿐 아니라 아래에서 위로도 검색할 수 있습니다
다만 기존 문서에서 VLOOKUP이 이미 잘 작동하고 있다면 굳이 바꿀 필요는 없습니다. 새로 만드는 시트에서는 XLOOKUP을 우선 사용하는 것을 추천합니다.
3. IMPORTRANGE — 시트 간 데이터 연동
다른 스프레드시트의 데이터를 가져옵니다. =IMPORTRANGE("시트URL", "시트명!A1:Z100") 형식으로 사용하며, 첫 실행 시 접근 권한 허용이 필요합니다. 부서별 시트를 마스터 시트로 모을 때 필수입니다.
활용 팁: IMPORTRANGE로 가져온 데이터는 QUERY와 결합하면 더 강력해집니다. 예를 들어 =QUERY(IMPORTRANGE("URL", "Sheet1!A:Z"), "SELECT Col1, Col2 WHERE Col3 = '완료'")처럼 작성하면, 다른 시트에서 조건에 맞는 데이터만 실시간으로 가져올 수 있습니다.
주의할 점은 IMPORTRANGE는 가져온 데이터가 변경되면 자동으로 반영되지만, 약간의 지연(최대 1분)이 있을 수 있습니다. 실시간성이 매우 중요한 데이터라면 IMPORTRANGE 대신 Apps Script를 활용하는 것이 좋습니다.
4. QUERY — SQL 같은 필터링
=QUERY(범위, "SELECT A, B WHERE C > 1000 ORDER BY B DESC")처럼 SQL과 유사한 문법으로 데이터를 추출합니다. 필터, 정렬, 그룹화까지 가능하며, 피벗 테이블보다 유연한 경우가 많습니다.
QUERY 함수의 강력함은 GROUP BY와 집계 함수에 있습니다. 예를 들어 =QUERY(A1:E100, "SELECT A, SUM(D) WHERE E = '활성' GROUP BY A ORDER BY SUM(D) DESC LABEL SUM(D) '합계'")처럼 작성하면 부서별(D열) 활성 회원(E열)의 합계를 구할 수 있습니다.
실무에서 자주 쓰는 QUERY 패턴을 정리해 드립니다.
- 부서별 인원수: =QUERY(A:Z, "SELECT B, COUNT(A) GROUP BY B LABEL COUNT(A) '인원'")
- 월별 매출 집계: =QUERY(A:Z, "SELECT MONTH(A), SUM(C) GROUP BY MONTH(A)")
- 상위 10개 추출: =QUERY(A:Z, "SELECT A, B ORDER BY C DESC LIMIT 10")
- 조건 필터링: =QUERY(A:Z, "SELECT A, B, C WHERE B CONTAINS '서울' AND C > 1000")
5. ARRAYFORMULA — 한 번에 전체 열 계산
=ARRAYFORMULA(A1:A10 * B1:B10)처럼 작성하면 드래그 없이 전체 범위에 수식이 적용됩니다. 데이터가 추가되어도 자동으로 확장되므로 유지보수가 편합니다.
ARRAYFORMULA는 IF와 결합하면 더욱 강력해집니다. 예를 들어 =ARRAYFORMULA(IF(A:A="", "", A:A * B:B))처럼 작성하면 빈 셀은 무시하면서 자동으로 전체 열에 계산을 적용할 수 있습니다. 새 행이 추가돼도 수식을 복사할 필요가 없습니다.
6. IMPORTXML — 웹에서 데이터 수집
=IMPORTXML(CONCATENATE("URL"), "//xpath")로 웹페이지에서 데이터를 가져옵니다. 환율, 날씨, 주가 등 실시간 정보를 시트에 연동할 수 있습니다. 예: =IMPORTXML("https://example.com", "//span[@class='price']")
또한 IMPORTFEED 함수로 RSS 피드를 가져올 수도 있습니다. =IMPORTFEED("https://blog.example.com/rss", "items title", FALSE, 10)처럼 사용하면 블로그의 최신 포스트 10개 제목을 자동으로 시트에 불러올 수 있습니다. 경쟁사 모니터링이나 업계 뉴스 추적에 활용하기 좋습니다.
7. REGEXMATCH — 정규식 조건 검사
=REGEXMATCH(셀, "패턴")으로 텍스트가 특정 패턴과 일치하는지 검사합니다. IF와 결합하면 이메일 검증, 전화번호 형식 확인 등에 유용합니다.
자주 쓰는 정규식 패턴 예시입니다.
- 이메일 검증: =REGEXMATCH(A1, "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$")
- 전화번호 형식: =REGEXMATCH(A1, "^01[0-9]-?[0-9]{3,4}-?[0-9]{4}$")
- URL 형식: =REGEXMATCH(A1, "^https?://[a-zA-Z0-9]")
- 특정 키워드 포함: =REGEXMATCH(A1, "(?i)긴급|urgent|asap")
REGEXEXTRACT와 REGEXREPLACE 함수도 함께 알아두면 좋습니다. REGEXEXTRACT는 패턴에 매칭되는 부분을 추출하고, REGEXREPLACE는 패턴에 매칭되는 부분을 다른 문자열로 교체합니다.
8. SPARKLINE — 셀 안 미니 차트
=SPARKLINE(A1:A12) 한 줄로 셀 안에 미니 차트를 그립니다. 추세를 한눈에 보고 싶을 때 표나 대시보드에 활용하기 좋습니다. 옵션으로 막대형, 꺾은선형 등을 선택할 수 있습니다.
옵션을 활용하면 더 유용한 차트를 만들 수 있습니다. 예를 들어 =SPARKLINE(A1:A12, {"charttype","column"; "color","#4285f4"; "axis",true; "axiscolor","#999"})처럼 작성하면 파란색 막대 차트에 축이 표시되어 데이터 흐름을 더 명확히 파악할 수 있습니다. 최근 12개월 매출 추이를 한 셀에 표현하는 식으로 활용해 보세요.
9. UNIQUE — 중복 제거
=UNIQUE(A1:A100)으로 중복값을 자동 제거한 목록을 만듭니다. 고객명단에서 고유값만 추출하거나, 카테고리 목록을 만들 때 유용합니다. SORT와 결합하면 정렬된 고유 목록도 가능합니다.
응용하면 2차원 범위에서도 고유 행을 추출할 수 있습니다. =UNIQUE(A2:C100)처럼 사용하면 A-C열 조합이 중복되지 않는 행만 남깁니다. 고객 목록에서 부서와 직급 조합이 중복되는 행을 하나로 합칠 때 유용합니다. 또한 =COUNTA(UNIQUE(A:A))-1처럼 사용하면 전체 고유값 개수를 바로 셀 수 있습니다.
10. FILTER — 조건별 추출
=FILTER(A1:D100, B1:B100 > 50000, C1:C100 = "완료")처럼 여러 조건으로 데이터를 걸러냅니다. 피벗 테이블보다 직관적이고 실시간 반영됩니다.
FILTER의 또 다른 강점은 결과를 다른 함수의 입력으로 바로 사용할 수 있다는 것입니다. 예를 들어 =SUM(FILTER(D:D, B:B = "서울", C:C >= DATE(2026,1,1)))처럼 작성하면 서울 지역의 2026년 이후 매출 합계를 즉시 구할 수 있습니다.
여러 조건을 OR로 결합하려면 더하기(+) 연산자를 사용합니다. =FILTER(A:D, (B:B = "서울") + (B:B = "부산"))처럼 작성하면 서울이나 부산인 데이터만 추출됩니다.
비용 대비 효과 분석
구글 시트 함수를 적극 활용하면 월 구독형 데이터 분석 도구를 대체할 수 있습니다. 간단한 비교를 해보겠습니다.
- 구글 시트 (Workspace Business): 월 1,400원/사용자 — 함수, Apps Script, Apps Sheet 모두 포함
- Airtable (Pro): 월 약 15,000원/사용자 — 더 예쁜 UI, 하지만 함수 기능은 제한적
- Notion (Plus): 월 약 1,400원/사용자 — 문서 관리는 강하지만 데이터 분석은 약함
- Excel Online: 무료 — 하지만 실시간 협업 기능은 구글 시트가 더 앞섬
소규모 팀에서 데이터 분석 + 협업을 동시에 해야 한다면, 구글 시트는 여전히 가장 가성비가 좋은 선택입니다. 다만 데이터가 100만 행을 넘거나 복잡한 JOIN이 필요하다면 BigQuery와 연동하는 것을 추천합니다.
이 함수들을 하나씩 직접 입력해 보세요. 처음에는 낯설겠지만, 한 번 익히면 엑셀로 돌아가기 어려워질 겁니다. 구글 시트의 진짜 힘은 클라우드 기반 실시간 협업과 이 강력한 함수들의 조합에 있습니다.