여러 개의 시트에 흩어져 있는 방대한 데이터에서 특정 조건에 맞는 자료만 골라 별도의 표를 만드는 작업은 매우 번거로운 일입니다. 필터 기능을 매번 수동으로 조작하거나 복잡한 필터 함수를 여러 번 중첩해서 사용하다 보면 수식이 꼬이고 관리하기가 어려워집니다. 이 글에서는 SQL의 강력한 기능을 스프레드시트에서 구현하여 단 하나의 수식으로 데이터를 자유자재로 요약하고 추출할 수 있는 QUERY 함수의 기본 사용법을 알아보겠습니다.
1. QUERY 함수의 개념과 기본 구문 이해하기
QUERY 함수는 구글 스프레드시트에서 가장 강력한 함수 중 하나로, 데이터베이스에서 사용하는 SQL 문법을 사용하여 데이터를 조회합니다. 단순히 값을 찾아오는 VLOOKUP이나 INDEX MATCH와 달리, 데이터의 추출, 정렬, 필터링, 산술 계산까지 수식 하나로 해결할 수 있다는 점이 가장 큰 특징입니다.
기본적인 구문은 다음과 같습니다. 에디터의 코드 블록 기능을 활용하여 수식의 형태를 명확히 인지하는 것이 중요합니다.
=QUERY(데이터_범위, "SELECT 명령문", [헤더_행_수])
첫 번째 인자인 데이터 범위는 조회할 전체 표 영역을 의미하며, 두 번째 인자인 SELECT 명령문은 어떤 열을 가져올지, 어떤 조건을 걸지를 결정하는 핵심 부분입니다. 마지막 헤더 행 수는 제목 줄이 몇 줄인지 지정하는 것으로 보통 1을 입력합니다.
2. 특정 열만 골라서 추출하는 방법
모든 열이 아닌 필요한 열만 선택해서 가져오고 싶을 때는 SELECT 문을 사용합니다. 예를 들어 A열부터 E열까지 있는 표에서 사원명인 B열과 부서명인 D열만 가져오고 싶다면 다음과 같이 작성합니다.
[이미지 1: 구글 스프레드시트에서 QUERY 함수를 사용하여 특정 열만 추출하는 화면 스크린샷 / Alt: 구글 스프레드시트 QUERY 함수 SELECT 구문 활용 예시]
=QUERY(A1:E100, "SELECT B, D", 1)
이 수식을 입력하면 원본 데이터에서 B열과 D열의 내용만 실시간으로 동기화되어 나타납니다. 원본 값이 수정되면 QUERY 함수가 적용된 결과값도 자동으로 업데이트되므로 매우 효율적입니다.
3. WHERE 절을 활용한 조건부 데이터 필터링
특정 조건에 맞는 행만 추출하고 싶을 때는 WHERE 절을 추가합니다. 이는 수동 필터 기능을 수식으로 자동화하는 것과 같습니다. 예를 들어 부서가 마케팅인 데이터만 추출하고 싶다면 아래와 같은 형식을 취합니다.
[이미지 2: WHERE 절 조건을 입력하여 특정 부서 데이터만 필터링한 결과 화면 / Alt: QUERY 함수 WHERE 조건을 이용한 데이터 필터링 방법]
=QUERY(A1:E100, "SELECT B, D WHERE D = '마케팅'", 1)
문자열 조건을 입력할 때는 반드시 작은따옴표(' ')로 감싸주어야 한다는 점을 유의해야 합니다. 숫자의 경우에는 따옴표 없이 WHERE E > 50000과 같은 방식으로 작성하여 일정 수치 이상의 데이터만 골라낼 수 있습니다.
4. ORDER BY를 이용한 데이터 정렬 자동화
추출된 데이터를 특정 기준에 따라 정렬하고 싶을 때는 ORDER BY 명령어를 사용합니다. 오름차순은 ASC, 내림차순은 DESC를 뒤에 붙여줍니다. 급여가 높은 순서대로 사원 명단을 보고 싶다면 다음과 같이 입력합니다.
[이미지 3: ORDER BY 구문을 통해 데이터를 내림차순으로 자동 정렬한 모습 / Alt: QUERY 함수 ORDER BY 명령어를 활용한 데이터 정렬 가이드]
=QUERY(A1:E100, "SELECT B, E ORDER BY E DESC", 1)
이처럼 QUERY 함수는 열 선택, 필터링, 정렬을 한 줄의 수식 안에 나열하여 처리할 수 있습니다. 이는 여러 함수를 중첩해서 사용하는 것보다 훨씬 가독성이 높고 오류를 수정하기에도 용이합니다.
결론 및 요약
지금까지 구글 스프레드시트의 핵심 기능인 QUERY 함수의 기초 사용법에 대해 상세히 알아보았습니다. SELECT로 필요한 열을 정하고, WHERE로 조건을 걸며, ORDER BY로 정렬하는 이 세 가지 단계만 익혀도 실무에서 다루는 데이터 관리 업무의 상당 부분을 자동화할 수 있습니다.
이 가이드가 여러분의 데이터 관리 효율을 높이는 데 도움이 되었기를 바랍니다. 다음 포스팅에서는 QUERY 함수를 더욱 강력하게 만들어주는 집계 함수(SUM, AVG, COUNT)와 그룹화(GROUP BY) 기능에 대해 심도 있게 다루어 보겠습니다.

