데이터가 쌓이기 시작하면 가장 먼저 드는 생각은 “이 중에서 내가 필요한 것만 따로 보고 싶다”입니다. 특정 부서만, 특정 날짜만, 특정 조건에 맞는 행만 따로 뽑아 보고 싶을 때, 필터를 걸고 복사해서 다른 시트에 붙여넣는 작업을 계속 반복하면 금방 지칩니다.
구글 스프레드시트에는 이런 작업을 함수 하나로 해결해 주는 강력한 도구가 있습니다. 바로 QUERY 함수입니다. 익숙해지면 엑셀의 피벗테이블과 고급 필터, SUMIF까지 상당 부분을 대체할 수 있을 정도로 강력하지만, 기본 원리와 자주 쓰는 패턴 몇 가지만 알면 생각보다 어렵지 않습니다.
QUERY 함수 기본 구조 이해하기
QUERY 함수의 기본 형태는 다음과 같습니다.
=QUERY(데이터범위, "쿼리문", 헤더행개수)
-
첫 번째 인수: 데이터를 읽어올 범위 (예: A1:E100)
-
두 번째 인수: 쿼리문이라고 부르는 “질문 문장”
-
세 번째 인수: 범위의 첫 번째 행부터 몇 줄이 헤더인지(보통 1)
여기서 중요한 것은 두 번째 인수인 쿼리문입니다. select, where, order by 같은 간단한 키워드를 사용해, “어떤 열을 가져와서, 어떤 조건으로 걸러서, 어떤 순서로 보여줄지”를 글로 쓰듯이 정의해 줄 수 있습니다.
예를 들어 A열에 이름, B열에 부서, C열에 참가여부, D열에 점수가 있는 데이터에서 “참가한 사람만 보고 싶다”면 이렇게 쓸 수 있습니다.
=QUERY(A1:D100, "select * where C = '참가'", 1)
여기서 *는 “모든 열”이라는 뜻이며, C = '참가'는 C열 값이 ‘참가’인 행만 보여 달라는 조건입니다.

예제 1: 특정 조건에 맞는 데이터만 필터링하기
지난 글에서 사용한 참가신청/설문 응답 데이터가 있다고 가정해 보겠습니다. A열에는 이름, B열에는 부서, C열에는 참가여부, D열에는 프로젝트 점수가 들어 있습니다. 이 중에서 ‘참가’를 선택한 사람만 따로 모아서 새 시트에 보고 싶다면 아래와 같은 단계를 따라 합니다.
-
같은 문서 안에서 새 시트를 하나 추가합니다. (시트 이름 예:
참가자목록) -
새 시트의 A1 셀에 다음 함수를 입력합니다.
=QUERY(원본시트!A1:D100, "select * where C = '참가'", 1) -
엔터를 치면, 원본 시트의 데이터 중에서 C열이 ‘참가’인 행만 깔끔하게 복사되어 나타납니다.
이 방식의 장점은 원본 시트에 새로운 응답이 추가될 때마다 QUERY 함수 결과도 자동으로 업데이트된다는 점입니다. 한 번 함수만 써놓으면, 매일 복사/붙여넣기 할 필요가 전혀 없습니다.
예제 2: 특정 부서만 모아서 보고 싶을 때
이번에는 영업1팀 구성원들만 따로 모아 보고 싶다고 해보겠습니다. 구조는 똑같고, 조건만 살짝 바꾸면 됩니다.
예시 함수:
=QUERY(원본시트!A1:D100, "select * where B = '영업1팀'", 1)
-
B = '영업1팀': B열(부서)이 ‘영업1팀’인 행만 가져오라는 의미입니다. -
select *: 조건을 만족하는 행의 모든 열을 보여 달라는 의미입니다.
같은 방식으로 '마케팅팀', '개발팀' 등 부서별 시트를 여러 개 만들어 두면, 각 팀장이 자기 팀 시트만 열어서 현황을 확인할 수 있는 간단한 대시보드가 완성됩니다.

예제 3: 숫자 조건 + 정렬까지 한 번에
QUERY 함수의 진짜 힘은 조건 + 정렬 + 필요한 열만 가져오기를 한 번에 처리할 수 있다는 점입니다. 예를 들어 점수가 80점 이상인 사람만 점수 높은 순으로 보고 싶다면 다음처럼 쓸 수 있습니다.
=QUERY(원본시트!A1:E100, "select A, B, E where E >= 80 order by E desc", 1)
이 쿼리문의 의미는 다음과 같습니다.
-
select A, B, E: A열(이름), B열(부서), E열(점수)만 가져온다. -
where E >= 80: 점수가 80 이상인 사람만 가져온다. -
order by E desc: 점수를 기준으로 내림차순(높은 점수 → 낮은 점수)으로 정렬한다.
이렇게 작성해두면, 원본 데이터에 점수가 추가되거나 변경될 때마다 상위 득점자 목록이 자동으로 갱신됩니다. 별도의 필터, 정렬, 복사 작업이 필요 없습니다.

실무에서 QUERY 함수 쓸 때 기억해야 할 3가지 팁
-
열 이름 대신 열 번호(A, B, C…)를 사용한다
쿼리문 안에서는 “부서”, “참가여부” 같은 열 제목이 아니라 A, B, C 같은 열 알파벳을 사용해야 합니다. 실제로는select 부서가 아니라select B처럼 작성하는 방식에 익숙해져야 합니다. -
조건에 쓰는 문자열은 작은따옴표(‘ ‘)로 감싼다
텍스트 조건을 쓸 때는C = '참가',B = '영업1팀'처럼 작은따옴표를 꼭 붙여야 합니다. 숫자 조건(E >= 80)은 따옴표 없이 작성합니다. -
헤더행 개수를 정확히 지정한다
세 번째 인수(헤더행개수)는 보통 1을 쓰는 일이 많지만, 헤더가 두 줄 이상이거나 아예 없을 경우에는 0 또는 2 등으로 설정을 바꿔야 합니다. 데이터가 어긋나 보일 때는 이 숫자를 가장 먼저 확인해 보시면 됩니다.
다음 단계: QUERY + 조건부 서식으로 미니 대시보드 만들기
QUERY 함수에 익숙해지면, 조건부 서식과 결합해서 작은 대시보드 형태를 만드는 것도 어렵지 않습니다. 예를 들어, 오늘 기준으로 마감일이 지난 프로젝트만 QUERY로 모아놓고, 그 행들에 조건부 서식으로 빨간색 강조를 넣으면 관리자가 매일 그 시트만 열어봐도 “지금 당장 처리해야 할 일”을 빠르게 파악할 수 있습니다.
다음 글에서는 실제로 간단한 예제 데이터를 가지고 QUERY 함수와 조건부 서식을 결합해서 “팀장용 미니 대시보드”를 만드는 과정을 다뤄보겠습니다.
관련 글