LBtools

구글시트 QUERY 함수로 원하는 데이터만 뽑아내는 법

사무약 4분

한눈에 보기

  • =QUERY(범위, "select 열 where 조건", 머리글행수) 하나로 필터링과 정렬을 한 번에 처리해요.
  • 조회문 안의 A, B, C는 지정한 범위 기준이 아니라 실제 스프레드시트의 열 위치를 가리켜요.
  • 이 함수는 구글시트에만 있고 엑셀에는 동일한 함수가 없어요.
목차 (5)

QUERY는 표 형태의 데이터에서 SQL과 비슷한 조회 언어로 원하는 행·열만 뽑아내는 구글시트 함수예요. 필터링, 정렬, 개수 제한을 여러 기능으로 나눠 조합하지 않고 수식 하나로 한 번에 처리할 수 있어요. 이 함수는 구글시트에만 있고 엑셀에는 동일한 함수가 없어요. 이렇게 한쪽에만 있는 기능이 꽤 있어서, 파일을 양쪽으로 주고받을 일이 있다면 엑셀에만 있는 기능, 구글시트에만 있는 기능은 뭐가 있나요?를 먼저 보고 어디까지 옮겨갈 수 있는지 가늠해두는 게 좋아요.

함수 구조는 =QUERY(데이터 범위, 조회문, [머리글 행 수]) 이렇게 세 부분이에요. 데이터 범위는 조회할 표 전체, 조회문은 큰따옴표로 감싼 SQL과 비슷한 문장, 머리글 행 수는 표 맨 위 제목행이 몇 줄인지(생략 가능)예요. 아래 예제로 확인해볼게요.

매출(C열)이 200만원을 넘는 사람의 담당자·매출만 뽑아 E1부터 자동으로 채워져요.

E1fx=QUERY(A1:C5, "select A, C where C > 2000000", 1)
ABCDEF
1담당자부서매출담당자매출
2김민준마케팅팀3200000김민준3200000
3이서연개발팀1800000박도윤2500000
4박도윤마케팅팀2500000
5최지우개발팀900000

따옴표 안 조건만 원하는 조건으로 바꿔 쓰세요

=QUERY(범위, "select 열 where 조건", 1)

한글로 적힌 자리는 직접 바꿔 넣어야 하는 값이에요. 복사한 뒤 자기 파일의 범위·조건으로 고쳐서 쓰세요.

조회문 안의 select와 where 이해하기

조회문 안의 select A, C where C > 2000000 부분이 핵심이에요. select 뒤에는 가져올 열을 알파벳(A열, C열)으로 적고, where 뒤에는 조건을 SQL과 비슷한 문법으로 적어요. 이 예제는 'A열과 C열을 가져오되, C열 값이 200만원보다 큰 행만'이라는 뜻이라, 매출 180만원인 이서연과 90만원인 최지우는 빠지고 320만원인 김민준과 250만원인 박도윤만 결과에 남아요.

정렬하거나 개수를 제한하려면

정렬하고 싶으면 order by C desc처럼, 개수를 제한하고 싶으면 limit 5처럼 조회문 뒤에 이어 붙이면 돼요. 조건을 여러 개 조합할 때는 where 절 뒤에 and·or로 연결하면 되고요.

조회문에 이어 붙이는 절, 쓰는 순서가 정해져 있어요

절하는 일이렇게 써요
select가져올 열을 고름select A, C
where조건으로 행을 거름where C > 2000000
order by정렬order by C desc
limit가져올 개수 제한limit 5

위에서 아래 순서대로 이어 붙여요. 순서를 바꿔 쓰면 조회문을 못 읽어서 오류가 나니, 조건은 맞게 쓴 것 같은데 수식이 안 먹힌다면 이 순서부터 확인해보세요.

COUNTIFS·SUMIFS를 QUERY로 대신할 수 있어요

조건별로 개수를 세거나 합계를 내는 일은 보통 COUNTIFS·SUMIFS로 하는데, 조건이 서너 개로 늘어나면 수식이 길어져서 어디가 틀렸는지 찾기 어려워져요. QUERY는 같은 일을 select count(A) where …나 select sum(C) where … 한 줄로 처리해요. 차이가 가장 크게 벌어지는 건 OR 조건이에요. '서울이거나 부산'처럼 하나만 맞아도 되는 조건은 COUNTIFS로는 조합별로 따로 센 뒤 더해야 하는데, QUERY는 where 절에 or를 그대로 써넣으면 끝나거든요. 어느 쪽을 쓸지 고르는 기준은 구글시트 여러 조건 동시에 세기, COUNTIFS 이렇게 써요와 구글시트 SUMIFS로 조건 두 개 이상 합계 구하는 법에 각각 비교해뒀어요.

열 알파벳은 범위의 상대 위치가 아니에요

여기서 자주 하는 실수가 있어요. 조회문 안의 A, B, C는 지정한 범위의 상대 위치가 아니라 실제 스프레드시트의 열 위치예요. 그래서 데이터가 C열부터 시작한다면(예: 범위를 C1:E10으로 잡은 경우), 조회문에서도 A가 아니라 C부터 써야 해요. 이 예제처럼 범위가 A열부터 시작할 때만 우연히 범위의 첫 열과 실제 열 위치가 같아서, 처음 배울 때 이 둘을 같은 것으로 착각하기 쉬워요.

조건에 텍스트를 넣을 때는 작은따옴표

실무 팁 하나 더: where 조건에 텍스트를 쓸 때는 큰따옴표 안에 작은따옴표를 한 번 더 써야 해요(예: where B = '마케팅팀'). 전체 조회문이 큰따옴표로 감싸여 있어서, 그 안의 문자열 조건은 작은따옴표로 구분해야 오류가 안 나요. 원본 데이터가 다른 파일에서 IMPORTRANGE로 가져온 값이라면, QUERY를 그 위에 바로 씌워서 원하는 조건만 걸러내는 조합도 자주 써요.

작성·검수

LONGBRIGHT — 광고 마케팅 현업에서 일하며 LBtools를 혼자 만들고 운영해요. 함수 동작과 메뉴 설명은 각 제조사의 공식 문서와 실제 동작을 기준으로 확인해요.

발행
최종 확인

잘못된 내용을 발견하셨다면 문의로 알려주세요. 확인해서 고치고 이 날짜를 갱신해요. 운영 원칙도 공개해두었어요.

이런 글도 함께 보면 좋아요