구글시트 – 쿼리3 : WHERE + contains/ starts with/ends with /matches (Regex)

=Query에서 WHERE 뒤에는 다양한 연산자들(Operators) 이 올 수 있다. 그 중에서도 문자와 관련된 것들은 아래와 같다.

contains, starts with, ends with, matches

contains : 특정 단어를 포함하고 있는 경우

SQL
=QUERY(A:C,"select B,C WHERE C contains '부산광역시'",1)

starts with : 특정 단어로 시작하는 경우

SQL
=QUERY(A:C,"select B,C WHERE C starts with '부산광역시'",1)  // 위와 동일 // 

ends with : 특정 단어로 끝나는 경우

SQL
=QUERY(A:C,"select B,C WHERE C ends with '양산시'",1)  // 위와 동일 //

matches

 

특히 matches 는 Regex와 함께 활용하면 그 활용도가 더 높다고 생각한다. (OR을 대신,| 를 사용해서 여러가지 조건을 추가할 수 있다.)

Matches + Regex 활용 예시

[예제 파일] – 아래 Query의 결과 값 확인 및 연습 할 수 있는 샘플 데이터 포함

SQL
=QUERY(A:C,"select B,C WHERE C matches '경기도.*|서울특별시.*'",1)

위의 방법을 통해 100대명산 중에 소재지가 경기도, 서울특별시인 산은 총 13개 있다는 것을 쉽게 구할 수 있다.

 

예제파일

SQL
=QUERY(QUERY(A:B,"select A,Upper(B) WHERE A>=date'2017-07-01' and  B is not null",1),"select Col1,Col2 WHERE Col2 matches '"&$O$2&"' label Col2 '취합자'",1)

 

[참고링크]