구글 스프레드시트 QUERY 함수 실전 가이드: SQL 문법으로 복잡한 데이터 단숨에 추출하기
구글 스프레드시트의 독보적 필살기인 QUERY 함수의 기본 문법부터 SELECT, WHERE, ORDER BY, GROUP BY 집계 및 동적 조건 결합까지 실무 예제로 정복합니다.
1. 엑셀에는 없고 구글 시트에만 있는 무기: QUERY 함수
구글 스프레드시트가 비즈니스 협업의 중심 도구로 확고히 자리 잡은 가장 큰 이유 중 하나는 데이터베이스 쿼리 언어(SQL) 문법을 그대로 스프레드시트 셀 안에서 구사할 수 있는 QUERY 함수 덕분입니다.
엑셀에서 필터링, 정렬, 조건부 합계, 특정 열 추출을 하려면 FILTER, SORT, SUMIFS, CHOOSECOLS 등 서너 가지 이상의 함수를 복잡하게 중첩해야 하지만, 구글 시트에서는 단 하나의 쿼리 문장으로 해결됩니다.
=QUERY(데이터범위, "SELECT A, B, SUM(D) WHERE C = '완료' GROUP BY A, B ORDER BY SUM(D) DESC")
데이터 분석가처럼 생각하고 데이터를 자유자재로 요약·정리할 수 있는 QUERY 함수의 기본기와 실전 테크닉을 정리합니다.
2. QUERY 함수의 기본 구조
=QUERY(data, query, [headers])
data: 분석 대상이 되는 원본 데이터 범위 (예:A1:F5000)query: 데이터베이스 명령어 형태의 문자열 (큰따옴표""로 감싸서 작성)headers: (선택) 표 머리글 행의 수. 보통 생략하거나1로 지정합니다.
핵심 쿼리 구문 순서 (반드시 지켜야 하는 문법 규칙)
QUERY 함수 내부의 절(Clause)은 반드시 정해진 순서를 따라야 합니다:
SELECT: 가져올 열(Column) 지정WHERE: 행 필터링 조건 설정GROUP BY: 데이터 그룹화 (피벗/집계 연산)PIVOT: 특정 열의 고유값을 가로 방향의 새 열로 전환ORDER BY: 오름차순/내림차순 정렬LIMIT: 가져올 최대 행 수 제한LABEL: 열 머리글 이름 사용자 정의 변경
3. 실무 예제 1: 조건부 데이터 추출 (SELECT & WHERE)
매출 원장(A1:E1000)에서 **“서울 지사이면서 결제 금액이 100만 원 이상인 거래 건의 날짜(A열), 고객명(B열), 금액(D열)”**만 정렬하여 새 시트에 추출하고 싶다면:
=QUERY(A1:E1000, "SELECT A, B, D WHERE C = '서울' AND D >= 1000000 ORDER BY D DESC", 1)
주의해야 할 따옴표 규칙
- 텍스트 값 비교 시에는 반드시 작은따옴표(
'서울')로 감싸야 합니다. - 숫자 비교 시에는 따옴표 없이 그대로 숫자(
1000000)만 표기합니다. - 날짜 비교 시에는
date '2026-11-01'형태로 날짜 키워드를 앞에 명시해야 합니다.
4. 실무 예제 2: 피벗 테이블 없이 실시간 부서별 매출 집계 (GROUP BY)
실무에서 보고서용 시트를 만들 때 피벗 테이블 기능을 쓰면 매번 ’새로고침’을 눌러야 하거나 서식이 흐트러지는 문제가 있습니다. QUERY 함수의 GROUP BY를 쓰면 원본이 바뀔 때마다 실시간으로 자동 재계산되는 피벗 리포트를 구축할 수 있습니다.
=QUERY(A1:E1000, "SELECT B, COUNT(A), SUM(D), AVG(D) WHERE B IS NOT NULL GROUP BY B LABEL B '부서명', COUNT(A) '거래건수', SUM(D) '총매출', AVG(D) '평균단가'", 1)
COUNT(A): 거래 건수 카운트SUM(D): 해당 부서의 매출 합계AVG(D): 건당 평균 매출LABEL ...:SUM(D)처럼 지저분하게 출력되는 머리글을 깔끔한 한글 레이블(‘총매출’)로 재정의합니다.
5. 실무 고급 팁: 셀 입력값을 쿼리문에 동적으로 연결하기
쿼리 조건(WHERE) 안에 고정된 텍스트 대신, 대시보드의 특정 드롭다운 셀(예: G1 셀)에 사용자가 선택한 지사명을 동적으로 반영하고 싶을 때는 문자열 연결 연산자(&)를 사용합니다.
=QUERY(A1:E1000, "SELECT A, B, D WHERE C = '" & G1 & "' ORDER BY D DESC", 1)
동적 쿼리 따옴표 조립 공식
- 텍스트 셀 참조:
'" & 셀주소 & "'(큰따옴표 닫고, 작은따옴표 열고,&로 셀 연결) - 숫자 셀 참조:
" & 셀주소 & "(작은따옴표 불필요)
[!NOTE] QUERY 함수는 단일 열 안에 숫자와 텍스트가 섞여 있을 경우 다수파 데이터 타입을 기준으로 삼고 소수파 데이터를 빈 셀로 무시해 버리는 특성이 있습니다. 따라서 원본 데이터 열의 서식(숫자 또는 텍스트)을 사전에 일정하게 정리해 두는 것이 필수적입니다.
6. 정리: 왜 QUERY 함수를 배워야 하는가?
- 자동화 대시보드의 핵심 엔진: 원본 시트에 행이 추가되더라도 수식을 수정할 필요 없이 실시간 반영됩니다.
- 복합 수식의 획기적 단순화: 5줄짜리 복잡한 IF/FILTER/INDEX 수식을 단 한 줄의 직관적인 영문 문장으로 치환합니다.
- SQL 역량의 자연스러운 습득: QUERY 함수에 익숙해지면 나중에 빅쿼리(BigQuery)나 사내 데이터베이스 SQL을 접할 때 거부감 없이 즉시 실무에 투입될 수 있습니다.
클락가든 실무 가이드 품질 원칙
본 저널의 모든 가이드는 Microsoft 365, Google Workspace, Notion 최신 빌드에서 직접 테스트를 거쳐 집필됩니다. 수식 오류나 버전 호환성 제보가 있으실 경우 연구팀 문의를 통해 의견을 남겨주시면 정정 정책에 따라 24시간 이내에 반영합니다.