[스프레드시트] 다른 시트에서 원하는 데이터만 뽑아오기 IMPORTRANGE × QUERY
1. 하고 싶은 거
원본 데이터가 있는 시트가 있고,
나는 다른 시트에 이 데이터를 받아오고 싶다.
그런데 내가 필요한 건 B열과 D열만 있으면 된다.
2. IMPORTRANGE 함수
다른 시트의 데이터를 가져온다고 하면 당장 생각나는 함수가 바로 IMPORTRANGE 다.
=IMPORTRANGE("가져올 데이터가 있는 시트 url","시트이름!시트범위")
연속되는 범위를 가져오고 싶다면 간단하게 할 수 있다.
데이터 중 B와 C열만 필요하다면 가져오는 범위를 B1:C로 지정하면 된다.
그런데 B열과 D열만 필요하다면?
당장 생각하면 B~D열을 가져와서 2차 가공을 하면 될 것 같다.
BUT IMPORTRANGE 함수의 최대 단점은 바로
느린 속도
IMPORTRANGE 함수는 아마도 시트를 켜는 순간부터 데이터를 가져오는 로직이 동작하는 것 같다.
예시 정도의 작은 데이터라면 금방 가져오겠지만 규모가 큰 데이터를 가져오는 속도는 굉장히 느리다.
가능하면 적게 끌어오는 게 좋다.
3. QUERY 함수 조합
그래서 사용하는게 IMPORTRANGE와 QUERY 함수의 콤비네이션
사실 굉장히 쉬워서 이렇게 찾아보지 않고도 생각을 해 낼 수 있는 방법이다.
QUERY함수의 데이터 범위에 IMPORTRANGE 함수를 써주면 된다.
=QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1A1N29kBTqpKzy4uuQE-GC3s4EhKAAOQA7l9Y89RAkY8/edit#gid=2827193","시트26!A:E"), "select Col2, Col4")
QUERY문 안에 IMPORTRANGE를 쓰고 가져오고 싶은 조건을 사용하면 된다.
간단하게 SELECT 문만 사용했지만 QUERY에서 사용가능한 WHERE절이나 기타 문법들도 사용이 가능하다.
※ 열을 표현하는 방법만 체크를 하자.
동일한 시트 내에서 QUERY문을 사용할 때는 해당 열의 알파벳을 사용했는데,
여기서는 Col1, Col2 형식으로 표현한다. 대소문자도 구분을 해야 인식을 하니 염두하자.
'공부 > 스프레드시트' 카테고리의 다른 글
스프레드시트 다른 시트를 기반으로 조건부서식 지정 (0) | 2024.06.17 |
---|---|
[엑셀 / 스프레드시트] 특정 날짜가 범위 내에 있는지 (2) | 2024.01.24 |
[구글 스프레드시트] 한 열에서 중복값 찾기 (1) | 2021.11.03 |
구글 스프레드시트 arrayformula 명령어 (0) | 2020.10.18 |
구글 스프레드시트 텍스트 함수 (0) | 2020.10.17 |