
실무에서 구글 스프레드시트로 다량의 데이터를 정리하다 보면 여러 한계에 부딪히곤 합니다. 수많은 조건에 따라 데이터를 필터링하고 그룹별로 합계나 평균을 구하기 위해 SUMIFS, COUNTIFS, FILTER, INDEX-MATCH 등 여러 함수를 복잡하게 중첩하다 보면 수식이 비대해지고 시트 처리 속도도 현저히 느려집니다.
이러한 복잡성을 단 하나의 수식으로 깔끔하게 해결해 주는 도구가 바로 구글 스프레드시트의 QUERY(쿼리) 함수입니다. 데이터베이스 언어인 SQL 문법을 기반으로 작동하는 QUERY 함수를 습득하면, 복잡한 다중 조건 집계와 리포트 작성을 손쉽게 자동화할 수 있습니다.
📌 핵심 요약 (Key Takeaways)
- QUERY 함수는 단 하나의 수식으로 선택(SELECT), 조건(WHERE), 그룹화(GROUP BY), 정렬(ORDER BY)을 동시에 처리합니다.
- 기존 SUMIFS나 피벗 테이블 대비 데이터 변경 시 자동 반영 속도가 빠르고 보고서 서식을 깨뜨리지 않습니다.
- 동적 셀 참조와 날짜 형식 변환 규칙만 정확히 이해하면 실무 데이터 분석 업무 시간을 절반 이상 단축할 수 있습니다.
목차
1. QUERY 함수란? 엑셀 함수 대비 강력한 이유
QUERY 함수는 구글 스프레드시트가 제공하는 가장 강력한 데이터 조작 함수 중 하나입니다. 데이터베이스에서 데이터를 조회할 때 사용하는 SQL(Structured Query Language)의 Google Visualization API 검색 언어 구문을 그대로 활용합니다.
마이크로소프트 엑셀 기본 기능에서는 FILTER나 UNIQUE, SUMIFS 등을 여러 단계로 조합하거나 피벗 테이블을 별도로 생성해야 하지만, 구글시트의 QUERY 함수는 단 한 줄의 텍스트 명령어로 데이터 추출, 필터링, 연산, 피벗, 정렬을 일괄 수행합니다.
| 비교 항목 | 기존 방식 (SUMIFS / FILTER / 피벗) | 구글시트 QUERY 함수 |
|---|---|---|
| 수식 복잡도 | 조건이 늘어날수록 수식이 길어지고 관리 어려움 | SQL 문법 구조로 작성되어 읽고 수정하기 직관적임 |
| 다중 집계 기능 | 합계, 개수, 평균을 위해 각각 다른 수식 입력 필요 | SUM, AVG, COUNT, MAX 등 여러 집계를 한 번에 처리 |
| 자동 갱신 및 유연성 | 피벗 테이블의 경우 별도 새로고침 필요할 수 있음 | 원본 데이터 변경 즉시 결과 영역 전체가 동적 갱신됨 |
| 원본 레이아웃 유지 | 결과값 개수에 맞춰 셀 서식을 일일이 재조정해야 함 | 동적 배열(Spill) 형태로 깔끔하게 하단 출력됨 |
2. QUERY 함수의 기본 구문과 핵심 명령어 정리
QUERY 함수의 기본적인 수식 형태는 다음과 같습니다.
여기서 데이터_범위는 분석할 원본 데이터 영역(예: A1:G1000)이며, 쿼리_문장은 큰따옴표 안에 작성하는 명령어 집합입니다. 주요 키워드는 반드시 정해진 순서대로 작성해야 오류가 발생하지 않습니다.
💡 쿼리 문장 작성 순서 (Mandatory Order)
SELECT ➔ WHERE ➔ GROUP BY ➔ PIVOT ➔ ORDER BY ➔ LIMIT
- SELECT: 가져올 열(Column)을 지정합니다. (예:
SELECT A, B, C) - WHERE: 데이터를 추출할 조건을 설정합니다. (예:
WHERE B = '영업부' AND C >= 1000000) - GROUP BY: 특정 열을 기준으로 데이터를 그룹화합니다. 집계 함수(SUM, AVG 등)와 함께 사용됩니다.
- ORDER BY: 결과를 정렬합니다. (예:
ORDER BY C DESC- C열 기준 내림차순) - LIMIT: 출력할 최대 행의 개수를 제한합니다. (예: 상위 5개만 추출 시
LIMIT 5) - LABEL: 출력되는 열의 이름(헤더)을 변경합니다. (예:
LABEL SUM(C) '총매출')
3. 실전 업무에 바로 적용하는 다중 조건 집계 예제
실제 업무 환경에서 가장 많이 쓰이는 다중 조건 집계 상황을 바탕으로 구체적인 활용법을 설명합니다.

실전 예제 1: 특정 부서의 매출액 합계 및 평균 구하기 (다중 조건 + 그룹화)
가령 A열이 '부서명', B열이 '지점', C열이 '매출액'인 원본 데이터(A1:C500)가 있다고 가정합니다. '서울지점' 중 '영업1팀'과 '영업2팀'의 부서별 총매출과 평균매출을 구하고 싶다면 다음과 같이 작성합니다.
이 수식 하나만으로 조건 필터링, 부서별 그룹화, 합계/평균 계산, 매출액 내림차순 정렬까지 한 번에 완료됩니다.
실전 예제 2: 날짜 범위 조건과 텍스트 포함 조건 적용하기
QUERY 함수에서 날짜 조건을 다룰 때는 date 'YYYY-MM-DD' 형식을 엄격히 지켜야 합니다. 또한 특정 단어가 포함된 항목을 찾을 때는 contains나 like 연산자를 사용합니다.
D열의 날짜가 2026년 1월 1일 이후이면서, C열 상품명/항목에 '마케팅'이라는 단어가 포함된 데이터만 골라 B, C, E열을 보여줍니다.
4. 실무자가 자주 겪는 3가지 오류와 해결 방법
QUERY 함수를 처음 도입할 때 흔히 실수하는 대표적인 원인과 그 대처법을 정리했습니다.

1) 한 열에 숫자와 텍스트가 섞여 있어 데이터가 사라지는 현상
QUERY 함수는 단일 열에서 가장 비중이 높은 데이터 유형(Data Type)을 해당 열의 기본 타입으로 인식합니다. 예를 들어 A열에 대부분 숫자가 들어있고 중간에 '미정', 'N/A' 같은 텍스트가 섞여 있으면, QUERY 함수는 텍스트 셀을 빈값(Null)으로 처리해 버립니다.
- 해결책: 원본 데이터 열의 형식을 통일하거나, 원본 셀에
TO_TEXT함수를 적용하여 데이터 타입을 텍스트로 고정합니다.
2) 셀 참조(Dynamic Cell Reference) 시 따옴표 결합 오류
쿼리 문장 안에 시트의 특정 셀(예: H1 셀에 입력된 검색어)을 조건값으로 넣을 때는 따옴표 결합 규칙을 정확히 따라야 합니다.
- 텍스트 셀 참조: "WHERE A = '"&H1&"'"
- 숫자 셀 참조: "WHERE B = "&H2&""
- 날짜 셀 참조: "WHERE C = date '"&TEXT(H3, "yyyy-mm-dd")&"'"
문자열은 홀따옴표(')로 감싸야 하며, 숫자는 홀따옴표 없이 앰퍼샌드(&)로 결합한다는 점을 기억하세요.
3) #VALUE! 오류 (VALUE_CANNOT_PARSE)
이 오류는 주로 WHERE 구문 내 조건값 타입이 열의 데이터 타입과 맞지 않거나, 쿼리 키워드 순서(SELECT ➔ WHERE ➔ GROUP BY)가 뒤바뀌었을 때 발생합니다. 작성한 문장의 오탈자와 구문 순서를 재확인해야 합니다.
5. 자주 묻는 질문 (FAQ)
Q1. 마이크로소프트 엑셀에서도 QUERY 함수를 바로 사용할 수 있나요?
아쉽게도 QUERY 함수는 구글 스프레드시트 전용 고유 함수입니다. 엑셀에서는 파워 쿼리(Power Query) 기능을 이용하거나, 최신 365 버전의 FILTER, UNIQUE, SORT 함수를 조합하여 유사한 결과를 구현할 수 있습니다.
Q2. QUERY 함수 결과 영역 위에 다른 셀 내용을 입력해도 되나요?
QUERY 함수는 동적 배열 방식으로 결과를 아래와 오른편으로 펼쳐서 출력합니다. 만약 결과가 출력될 범위에 이미 다른 데이터가 입력되어 있으면 #REF! (Spill Error) 오류가 발생하므로 하단 공간을 충분히 비워두어야 합니다.
Q3. IMPORTRANGE 함수와 함께 연동하여 다른 파일의 데이터를 불러올 수 있나요?
네, 가능합니다. =QUERY(IMPORTRANGE("URL", "시트1!A:G"), "SELECT Col1, SUM(Col3) GROUP BY Col1") 형태로 혼용할 수 있습니다. 단, 외부 파일 참조 시에는 열 이름을 A, B 대신 Col1, Col2, Col3 형태의 대문자로 지정해야 합니다.
6. 오늘부터 시작하는 실무 실천 체크리스트
📋 QUERY 함수 실무 적용 체크리스트
- ☐ 원본 데이터 열의 혼용 데이터 타입(숫자/문자)을 일관성 있게 정리했는가?
- ☐ 쿼리 문장의 구문 순서(SELECT ➔ WHERE ➔ GROUP BY ➔ ORDER BY)를 준수했는가?
- ☐ 동적 셀 참조 시 홀따옴표(')와 앤드(&) 기호를 알맞게 결합했는가?
- ☐ 날짜 조건 사용 시
date 'YYYY-MM-DD'서식을 정확히 맞추었는가? - ☐ QUERY 함수가 출력될 하단 공간에 데이터 중첩 오류(#REF!) 요소가 없는지 확인했는가?
'엑셀' 카테고리의 다른 글
| 엑셀 시트 보호와 특정 셀만 편집 허용하는 방법: 수식과 서식 완벽하게 지키는 실무 공식 (0) | 2026.09.29 |
|---|---|
| [엑셀 실무/대시보드] 데이터가 저절로 갱신되는 마법: 엑셀 동적 배열 함수 3대장 (FILTER, SORT, UNIQUE) 완전 정복 (1) | 2026.09.28 |
| 복잡한 VLOOKUP 버리고 XLOOKUP과 Ctrl+E로 끝내는 실무 공식 | 대량 엑셀 데이터 3초 정돈 기술 (0) | 2026.09.14 |
| [엑셀 실무] 직장인 필수 XLOOKUP & INDEX-MATCH 완벽 비교: 대용량 데이터 다중 조건 검색과 오류 해결 실무 치트키 (0) | 2026.09.08 |
| 엑셀 피벗 테이블 10분 마스터 가이드 (1) | 2026.08.15 |