엑셀과 다르게 구글스프레드시트에서는 SQL 쿼리를 사용하여 원본 데이터에서 원하는 데이터를 가져올 수 있습니다.
같은 스프레드시트 파일 내에 있는 원본 데이터라면 굳이 Importrange가 필요 없겠으나 대부분 다른 원본 파일을 참조하게 되는 경우가 많으므로 Query의 경우 Importrange와 함께 사용되는 경우가 다반사입니다.
물론 Query를 사용하시려면 SQL 구문을 잘 알고 계셔야 하겠죠? SQL 구문과 대략 비슷하지만 차이점이 분명 존재하므로 100% 동일하게 SQL 구문을 사용하시면 작동하지 않습니다.
본 포스팅에서는 구글스프레드시트에서 Query를 활용하는 방법에 대해 간략하게 소개드리도록 하겠습니다.
지난번 포스팅에서는 Filter 라는 수식을 활용하여 데이터를 참조하는 방법에 대해 알려드렸습니다.
FILTER(출력영역,조건1=값1, 조건2=값2,,,,조건n=값n)
위와 같이 FILTER 명령어의 경우 출력영역을 지정하고 조건을 나열하여 원하는 정보를 추출합니다.
단점이라면 출력영역이 연속되는 영역이어야 한다는 것이죠.
아래와 같은 원본 데이터가 있다고 가정해봅시다.
만약 위의 영역에서 성명, 실적 혹은 부서, 직급, 성명, 실적 같이 연속되는 영역의 컬럼을 불러오고 싶은 경우 FILTER 명령이 가능합니다.
위의 수식을 참조해보시면 파란색 연속 영역을 불러오기 위해 FILTER 수식을 활용하였습니다.
헌데 만약 부서, 실적을 불러와야 한다면 어떻게 해야 할까요?
크리에이티브를 발휘하여 수식을 만들어보았습니다만 다행히 오류가 나지는 않습니다.
헌데 결과물이 여러분들이 생각하시는 결과물이 아닙니다. 하나의 셀에 저렇게 두개의 컬럼을 합하여 넣는 것을 원하는 것이 아니죠..
이럴때 사용하실 수 있는 부분이 바로 QUERY 입니다. 문법은 아래와 같습니다.
QUERY(원본데이터영역,"SELECT 컬럼1, 컬럼2....컬럼n Where 조건1 and (or) 조건2....)
위의 문법을 보니 조금 이해가 힘드실텐데요, 한번 이미지에 있는 수식을 QUERY로 바꾸어 보도록 하겠습니다.
=QUERY(B3:E7,"SELECT Col1, Col4 Where Col1='영업1'")
실행결과는 아래와 같습니다.
원본 영역은 B3:E7 로 설정하였습니다. 그 뒤에 나오는 SELECT 이하 구문이 조금 이해가 안가실 수 있는 부분인데요, 결국 영어 그대로 해석해보시면 됩니다. "Col1과 Col2 중 Col1이 영업1 의 값을 가지는 트랜잭션을 불러와라" 라는 의미 입니다.
B3에서 E7 까지의 영역이므로 첫번째 컬럼은 B3:B7 컬럼이 됩니다. 두번째 컬럼은 C3:C7 컬럼이 되고 세번째는 D3:D7 그리고 네번째는 E3:E7이 되는 것입니다. 이것을 순서대로 Col1, Col2, Col3, Col4로 지칭한 것입니다.
만약 컬럼 전체를 영역으로 지정하였다면 아래와 같이 쿼리를 바꿀 수 있습니다.
=QUERY(B:E,"SELECT B, E Where B ='영업1'")
결과는 아래와 같습니다.
만약 부서별로 합계를 보고 싶다면 아래와 같이 Sum(컬럼명) 을 이용하신 뒤 부서를 그룹화 해주시면 됩니다. 그룹화는 GROUP BY 라는 명령어를 활용합니다. 위의 예에서 부서별 실적 계를 출력하고 싶다면 아래와 같이 수식을 설정하시면 되겠습니다.
QUERY(B:E,"SELECT B, SUM(E) GROUP BY B")
실행화면은 하기와 같습니다.
그러니까 결국 Where 절 이하는 결과물을 조금 더 원하는 것만 가져 올 수 있도록 해주는 조건이고 생략이 가능하다는 결론입니다.
만약 위와 같이 같은 스프레드시트 파일이 아닌 타 문서에 원본데이터가 존재하는 경우는 어떻게 해주어야 할까요?
QUERY(IMPORTRANGE("문서키값","탭이름!영역")."SELECT COL1, COL2.... WHERE....")
IMPORTRANGE의 문법은 이전 포스팅을 참조해주시면 됩니다.
[구글스프레드시트] Importrange를 통해 다른 문서의 정보를 참조
[구글스프레드시트] Importrange를 통해 다른 문서의 정보를 참조
엑셀에서 다른 파일의 데이터를 참조하기 위해서는 저장된 컴퓨터의 경로와 파일명 그리고 탭 이름과 범위를 이용하면 쉽게 참조가 가능합니다.헌데, 구글스프레드시트의 경우는 웹기반이라
datatribe.tistory.com
오늘의 포스팅은 여기까지입니다.
대단히 감사합니다.
'구글스프레드시트' 카테고리의 다른 글
[구글스프레드시트] Query 헤더 설정 및 변경 (0) | 2025.02.12 |
---|---|
[구글스프레드시트] Importrange x Query WHERE 조건 변수화와 정렬 (0) | 2025.02.11 |
[구글스프레드시트] SUMIFS - 조건부 합계를 마스터해보자 (2) | 2025.02.07 |
[구글스프레드시트] Filter 수식을 이용해 원하는 데이터 추출 (2) | 2025.02.07 |
[구글스프레드시트] 구글파이낸스를 통해 환율을 참조하기 (4) | 2025.02.04 |