소개
home

구글시트 QUERY: QUERY로 불러오는 열의 앞부분 10자리만 불러오는 방법

태그
구글시트
Query
LEFT
ArrayFormula
SELECT
WHERE
샘플링크
https://docs.google.com/spreadsheets/d/1yWDi92HBK06JhRFGnfiMmANTw8fvc-AGuTVZGMLISHk/edit?usp=sharing
난이도
4 more properties
QUERY를 사용해서 데이터를 불러올 때에, 열의 값 중에 필요가 없는 값이 들어있는 경우가 있습니다.
예를 들어, 가지고 있는 데이터가 2020-01-01(월) 처럼 날짜 포맷이 아닌 텍스트 포맷이라 쿼리로 불러오더라도 날짜로 인식하지 못하는 경우가 있습니다. 날짜로 인식하도록 만들어주어야 이후에 시계열 분석에서 사용할 수 있을텐데요. 다음과 같은 방법이 있습니다.
1.
먼저 LEFT 함수로 셀에서 날짜 부분만 추출합니다.
2.
ARRAYFORMULA 로 열 전체에 LEFT 함수를 적용합니다.
3.
다른 열과 하나의 데이터세트로 병합합니다.
4.
쿼리를 사용해서 가공합니다.
이제 한 단계씩 살펴보겠습니다.
먼저 LEFT 함수로 셀에서 날짜 부분만 추출합니다.
A열과 B열에 다음과 같이 데이터가 있다고 하겠습니다. C열 이후에도 있을 수 있겠지요. A열의 데이터의 10자리까지만 필요하고 나머지는 필요가 없습니다.
다음과 같이 왼쪽에서 10자리만 추출하는 함수를 사용합니다.
=LEFT(A1,10)
SQL
이제 ARRAYFORMULA 로 범위에 적용합니다.
=ArrayFormula(LEFT(A1:A15,10))
SQL
A열을 수정한 결과와 B열을 병합합니다. 열을 병합할 때에는 중괄호 { } 와 쉼표 , 를 사용합니다.
={ArrayFormula(LEFT(A1:A15,10)),B1:B15}
SQL
이제 데이터가 수정되고 활용할 수 있는 범위가 생겼습니다.
쿼리를 사용해서 2020-01-05 날짜만 필터링해보겠습니다.
새롭게 정의된 범위에는 A, B 열로 쿼리가 동작하지 않는 점에 유의하면서 Col1 으로 where 문을 작성합니다.
=QUERY({ArrayFormula(LEFT(A1:A15,10)),B1:B15},"SELECT * where Col1 ='2020-01-05'",0)
SQL
이제, 원하는 결과를 얻었습니다! 샘플을 살펴보실까요?
모든 샘플은 PC에서 접속하셔야 셀의 값들을 확인하실 수 있습니다.
그런데, 쿼리로 얻은 날짜의 형식을 바꿀 수는 없을까요? 쿼리로 얻은 날짜 값에 숫자를 더하면 하루가 추가되지만, 쿼리로 날짜의 형식을 변경하려면 좀 더 다른 방법이 필요합니다. 다음 팁을 확인해보세요.

관련 포스팅