구글 스프레드시트 QUERY 함수란? (SQL의 강력함을 스프레드시트에)
안녕하세요! 대한민국 직장인들의 칼퇴를 돕는 ‘시간절약연구소’ 에디터입니다. 구글 스프레드시트를 사용하다 보면 엑셀의 VLOOKUP이나 FILTER 함수만으로는 뭔가 아쉬울 때가 많습니다. 데이터가 방대해질수록 원하는 조건에 맞는 행과 열을 동시에 추출하는 작업이 복잡해지기 때문입니다.
이럴 때 구세주처럼 등장하는 것이 바로 QUERY(쿼리) 함수입니다. QUERY 함수는 데이터베이스 언어인 SQL(Structured Query Language)을 스프레드시트에서 그대로 사용할 수 있게 해주는 기능입니다. 이 함수 하나만 제대로 익혀두어도 여러 개의 함수를 중첩해서 쓸 필요 없이, 원하는 열만 쏙쏙 골라내고 복잡한 조건의 데이터까지 순식간에 추출할 수 있습니다. 오늘 포스팅을 통해 기초부터 실무 예제까지 완벽하게 마스터해 보세요!
QUERY 함수 기본 문법과 구조 이해하기
QUERY 함수를 사용하기 전에 가장 먼저 이해해야 할 것은 바로 함수의 기본 구조입니다. QUERY 함수는 총 3개의 인수를 가집니다. 엑셀 함수와는 조금 다른 문법 체계를 가지고 있으므로 차근차근 따라와 주시기 바랍니다.
기본 문법: =QUERY(데이터, "쿼리문", [헤더])
- 데이터 (Data): 우리가 지정하고 가져올 원본 데이터의 범위입니다. (예:
A1:D100) - 쿼리문 (Query): SQL 문법을 기반으로 데이터에서 어떤 작업을 할지 지시하는 명령어입니다. 반드시 큰따옴표(“”)로 감싸주어야 합니다.
- 헤더 (Header): [선택사항] 원본 데이터의 상단에 제목 행(헤더)이 몇 줄 있는지 지정하는 숫자입니다. 보통 1을 입력합니다. 생략하면 스프레드시트가 알아서 판단합니다.
SELECT 절을 이용해 원하는 열만 골라내기
QUERY 함수의 가장 큰 장점 중 하나는 원본 데이터의 순서와 상관없이, 그리고 내가 원하는 특정 열만 쏙쏙 뽑아올 수 있다는 점입니다. SQL에서는 이 작업을 SELECT 명령어로 수행합니다.
구글 스프레드시트의 QUERY 함수에서는 열 이름을 알파벳(A, B, C…)으로 지정합니다. 예를 들어 A열부터 D열까지의 데이터가 있을 때, B열과 D열 페어만 뽑아내고 싶다면 다음과 같이 작성합니다.
=QUERY(A1:D100, "SELECT B, D", 1)
만약 원본 데이터의 열 순서를 바꾸어서 D열을 먼저 보여주고 B열을 나중에 보여주고 싶다면 SELECT D, B라고 입력하기만 하면 됩니다. 이처럼 열의 재배치가 자유롭다는 점이 시간 절약의 핵심 포인트입니다.
WHERE 절로 조건별 데이터 추출하기
원하는 열을 골라냈다면, 이제 특정 조건에 맞는 행(데이터)만 필터링할 차례입니다. SQL에서는 조건을 걸 때 WHERE 절을 사용합니다. 실무에서 가장 많이 쓰는 조건문 활용법을 표로 정리해 보았습니다.
| 조건 유형 | SQL 쿼리 예시 | 설명 |
|---|---|---|
| 특정 값과 일치 (텍스트) | WHERE C = '서울' |
C열의 값이 ‘서울’인 데이터만 추출 (텍스트는 작은따옴표 필수) |
| 특정 값 이상 (숫자) | WHERE D >= 10000 |
D열의 값이 10,000 이상인 데이터만 추출 |
| 다중 조건 (AND) | WHERE C = '서울' AND D >= 10000 |
서울 지역이면서 동시에 값이 10,000 이상인 데이터 |
| 다중 조건 (OR) | WHERE C = '서울' OR C = '부산' |
지역이 서울이거나 부산인 데이터 |
위의 표처럼 WHERE 절을 활용하면 복잡한 필터링 작업을 단 한 줄의 수식으로 처리할 수 있습니다. 특히 텍스트 조건을 지정할 때는 반드시 작은따옴표('')로 감싸주어야 한다는 점, 잊지 마세요!
실무 예제: 열 선택과 조건 추출을 한 번에 쓰기
그렇다면 앞서 배운 열 선택(SELECT)과 조건 추출(WHERE)을 동시에 적용하려면 어떻게 해야 할까요? 쿼리문 안에서 공백으로 두 명령어를 이어 붙여주면 됩니다.
실무 상황: A열(날짜), B열(담당자), C열(지역), D열(매출액)이 있는 데이터에서 ‘지역이 서울인 데이터’의 ‘담당자(B열)’와 ‘매출액(D열)’만 뽑아오고 싶다면 수식을 어떻게 써야 할까요?
정답 수식은 다음과 같습니다:
=QUERY(A1:D100, "SELECT B, D WHERE C = '서울'", 1)
이 수식 하나면 서울 지역 담당자들의 이름과 매출액만 깔끔하게 정리된 새로운 표가 뚝딱 만들어집니다. 필터 걸고 복사-붙여넣기 하던 야근의 추억은 이제 안녕입니다!
FAQ: 구글 스프레드시트 QUERY 함수 관련 자주 묻는 질문
Q1. 쿼리문 안에서 날짜 조건은 어떻게 지정하나요?
A1. QUERY 함수에서 날짜를 조건으로 줄 때는 특별한 형식을 사용해야 합니다. WHERE A >= DATE '2023-01-01'과 같이 DATE 'YYYY-MM-DD' 형식을 지켜주어야 에러가 나지 않습니다.
Q2. #VALUE! 에러가 자꾸 발생합니다. 왜 그럴까요?
A2. 가장 흔한 원인은 데이터 유형의 혼재입니다. 예를 들어 숫자가 들어가야 할 열에 문자가 섞여 있거나, 쿼리문 안의 큰따옴표나 작은따옴표 짝이 맞지 않을 때 주로 발생합니다. 데이터 형식이 올바른지 다시 한번 확인해 보세요.
Q3. 다른 시트의 데이터를 QUERY 함수로 불러올 수도 있나요?
A3. 네, 당연히 가능합니다. 데이터 범위 대신 시트명!A1:D100 형태로 입력하시면 다른 시트나 심지어 다른 파일의 데이터(IMPORTRANGE 함수 연동)도 거뜬히 쿼리로 제어할 수 있습니다.
지금까지 구글 스프레드시트 QUERY 함수의 기초인 열 선택(SELECT)과 조건 추출(WHERE)에 대해 알아보았습니다. 처음에는 문법이 낯설 수 있지만, 몇 번 직접 입력해 보면 이보다 더 강력하고 편한 기능이 없다는 것을 느끼시게 될 것입니다. 시간절약연구소는 앞으로도 여러분의 칼퇴를 위한 유용한 팁을 가지고 찾아오겠습니다. 감사합니다!