구글 스프레드시트 SELECT (QUERY 함수 사용)
Google 스프레드시트에서는 QUERY 함수를 사용하여 SQL과 유사한 방식으로 데이터를 선택(SELECT) 할 수 있습니다.
즉, 특정 열만 골라서 가져오거나, 조건을 적용해 데이터를 필터링하는 강력한 기능을 제공합니다.
1. QUERY 함수 기본 문법 (SELECT)
=QUERY(범위, "SELECT 열1, 열2 WHERE 조건 ORDER BY 열X", 헤더행)
- 범위: 데이터를 검색할 범위 (예: A1:D100)
- "SELECT 열1, 열2": 특정 열만 가져옴 (A, B 등)
- "WHERE 조건": 특정 조건을 만족하는 데이터만 가져옴
- "ORDER BY 열X": 특정 열을 기준으로 정렬
- 헤더행: 보통 1을 입력 (헤더가 있는 경우)
2. SELECT 예제 (열 선택)
✅ (1) 특정 열만 선택해서 가져오기
=QUERY(A1:D10, "SELECT A, C", 1)
👉 A열과 C열만 출력
✅ (2) 모든 열 가져오기 (* 사용)
=QUERY(A1:D10, "SELECT *", 1)
👉 A~D열 전체를 출력
3. WHERE 조건문 활용 (필터링)
✅ (3) 특정 값 조건 적용
=QUERY(A1:D100, "SELECT A, B WHERE C > 50", 1)
👉 C열 값이 50보다 큰 행만 출력
✅ (4) 특정 텍스트 포함하는 행만 가져오기
=QUERY(A1:D100, "SELECT A, B WHERE C CONTAINS '서울'", 1)
👉 C열에 '서울'이 포함된 행만 출력
✅ (5) 특정 텍스트와 정확히 일치하는 행만 가져오기
=QUERY(A1:D100, "SELECT A, B WHERE C = '홍길동'", 1)
👉 C열 값이 '홍길동'인 행만 출력
✅ (6) 여러 조건 적용 (AND, OR)
=QUERY(A1:D100, "SELECT A, B WHERE C > 50 AND D < 100", 1)
👉 C열이 50 초과이고 D열이 100 미만인 행만 출력
=QUERY(A1:D100, "SELECT A, B WHERE C = '서울' OR C = '부산'", 1)
👉 C열이 '서울' 또는 '부산'인 행만 출력
4. ORDER BY (정렬)
✅ (7) 특정 열 기준 오름차순 정렬
=QUERY(A1:D100, "SELECT A, B ORDER BY B ASC", 1)
👉 B열을 기준으로 오름차순 정렬
✅ (8) 특정 열 기준 내림차순 정렬
=QUERY(A1:D100, "SELECT A, B ORDER BY B DESC", 1)
👉 B열을 기준으로 내림차순 정렬
5. LIMIT (출력 개수 제한)
✅ (9) 상위 10개 행만 가져오기
=QUERY(A1:D100, "SELECT A, B ORDER BY B DESC LIMIT 10", 1)
👉 B열을 기준으로 내림차순 정렬 후, 상위 10개 행만 출력
6. 날짜 필터링
✅ (10) 특정 날짜 이후 데이터만 출력
=QUERY(A1:D100, "SELECT A, B WHERE D > date '2024-01-01'", 1)
👉 D열 값이 2024년 1월 1일 이후인 행만 출력
7. LABEL (출력되는 열의 이름 변경)
=QUERY(A1:D100, "SELECT A, B LABEL A '이름', B '나이'", 1)
👉 A열 이름을 '이름', B열 이름을 '나이'로 변경
8. QUERY 함수와 다른 함수 조합
함수
|
조합 방법
|
예제
|
SORT
|
정렬된 데이터 필터링
|
=SORT(QUERY(A1:D100, "SELECT A, B WHERE C > 50", 1), 2, FALSE)
|
FILTER
|
특정 조건 데이터만 추출
|
=FILTER(A2:D100, B2:B100 > 50)
|
IMPORTRANGE
|
다른 문서의 데이터 조회
|
=QUERY(IMPORTRANGE("문서URL", "Sheet1!A1:D100"), "SELECT A, B WHERE C > 50", 1)
|
📌 QUERY(SELECT)의 장점
✅ SQL과 유사한 방식으로 데이터 분석 가능
✅ FILTER, SORT 등의 함수를 대체할 수 있는 강력한 기능
✅ 데이터 변경 시 자동 업데이트됨