구글 스프레드시트 다중 조건에 맞는 데이터 추출하기 (QUERY 함수)

구글 스프레드시트 여러 조건으로 데이터 뽑기

구글 스프레드시트의 다중 조건

구글 스프레드시트 작업할 때, 데이터 양이 많을 경우에 여러 특정 조건에 맞는 데이터를 빨리 찾아내거나 필요한 데이터만 쫙 뽑아내는 것은 필수 능력 중의 하나입니다.

이 글에서는 QUERY 함수와 조건을 지정하는 where 구문을 활용합니다.

본문에서 사용하는 쿼리(Query)문은 그냥 짧은 영어 문장이라는 생각으로 접근하고 익숙해지면 한 단계 더 자유롭게 데이터를 조작하면서 분석할 수 있습니다. 넓은 의미에서 요즘 많이들 배우는 데이터 사이언스와 마찬가지입니다.

or을 사용해서 다중 조건을 지정

or을 사용해서 다중 조건을 지정

작업 목표

다음의 조건① 또는 조건②를 만족하는 데이터를 추출한다.

  • 조건① 가격은 1000원 초과
  • 조건② 제조사는 롯데

작업 내용

F1 셀에 QUERY 함수를 사용한 수식을 입력한다.

QUERY 함수 수식

=QUERY(A1:D7, "select * where B > 1000 or D = '롯데'",1)

수식 설명

수식에서 함수 사용과 데이터 범위 지정에 관한 내용은 다른 함수와 별다른 차이가 없기에 생략하겠습니다. 마지막 인수 1은 머리글 행의 개수를 의미합니다. 생략 가능한 선택 사항입니다.

쿼리문 select * where B > 1000 or D = '롯데'을 설명하면, select *(별표 기호)는 범위 내의 모든 열을 선택(출력)한다 라는 의미입니다. 과자와 가격 열만 선택하려면 select A, B를 입력합니다.

where은 조건을 지정하는 구문이고 B > 1000은 조건①, D = '롯데'는 조건②를 의미하고 조건①과 조건②를 or(또는, 합집합)로 연결하고 있습니다.

and를 사용해서 다중 조건을 지정

and를 사용해서 다중 조건을 지정

작업 목표

다음의 조건① 그리고 조건② 그리고 조건③ 모두를 만족하는 데이터를 추출한다.

  • 조건① 가격은 800원 이하
  • 조건② 열량은 170칼로리 미만
  • 조건③ 제조사는 해태가 아니다

작업 내용

F1 셀에 QUERY 함수를 사용한 수식을 입력한다.

QUERY 함수 수식

=QUERY(A1:D7, "select * where B <= 800 and C < 170 and D != '해태'",1)

수식 설명

쿼리문 select * where B <= 800 and C < 170 and D != '해태'을 설명하면, B <= 800은 조건①, C < 170은 조건②, D != '해태'는 조건③을 의미하고 조건①~③을 and(그리고, 교집합)로 연결하고 있습니다.

비교 연산자 !=는 같지 않다 라는 의미입니다. 참고로 != 대신 <>을 입력해도 같은 결과가 출력됩니다.

and와 or을 조합하는 다중 조건 예시 1

and와 or을 조합하는 다중 조건 예시 1

작업 목표

다음의 조건① 그리고 조건② 모두를 만족하는 데이터를 추출한다.

  • 조건① 가격은 1500원 미만
  • 조건② 제조사는 오리온 또는 해태

작업 내용

F1 셀에 QUERY 함수를 사용한 수식을 입력한다.

QUERY 함수 수식

=QUERY(A1:D7, "select * where B < 1500 and (D = '오리온' or D = '해태')",1)

수식 설명

쿼리문 select * where B < 1500 and (D = '오리온' or D = '해태')을 설명하면, B < 1500은 조건①, (D = '오리온' or D = '해태')는 조건②를 의미하고 조건①과 조건②를 and(그리고, 교집합)로 연결하고 있습니다.

조건②에서와 같이 조건과 조건을 하나로 묶을 때는 괄호를 사용합니다. 괄호를 사용하는 것이 가독성이 좋고, 의도하지 않은 결과가 안 나옵니다.

and와 or을 조합하는 다중 조건 예시 2

and와 or을 조합하는 다중 조건 예시 2

작업 목표

다음의 조건① 또는 조건②를 만족하는 데이터를 추출한다.

  • 조건① 가격은 750원 초과 그리고 제조사는 해태가 아니다
  • 조건② 제조사는 롯데

작업 내용

F1 셀에 QUERY 함수를 사용한 수식을 입력한다.

QUERY 함수 수식

=QUERY(A1:D7, "select * where (B > 750 and D <> '해태') or D = '롯데'",1)

수식 설명

쿼리문 select * where (B > 750 and D <> '해태') or D = '롯데'을 설명하면, (B > 750 and D <> '해태')는 조건①, D = '롯데'는 조건②를 의미하고 조건①과 조건②를 or(또는, 합집합)로 연결하고 있습니다.

조건①에서와 같이 조건과 조건을 하나로 묶을 때는 괄호를 하고, 비교 연산자 <>는 같지 않다 라는 의미입니다. <> 대신 !=을 입력해도 결과는 같습니다.

마무리

Google 스프레드시트에서 select 구문, where 구문, or, and, 여러 비교 연산자(<=, <, >, >=, =, !=, <>)로 구성된 쿼리문이 조금 생소하지만 영어 문장처럼 암기해서 사용하고 응용하고 조합하다 보면 비전공자도 자신의 업무와 관련된 데이터에서 가치있는 데이터만 추출하고 분석하고 통찰력을 얻고 새로운 아이디어를 생각해내고 업무 효율을 높이는 시민 데이터 사이언티스트가 될 수 있습니다.

#구글 스프레드시트

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.