목차
이 블로그를 한동안 팔로우했다면 Google 스프레드시트의 QUERY 기능을 기억할 것입니다. 몇 가지 경우에 가능한 해결책으로 언급했습니다. 그러나 그것들은 그것의 잠재력을 완전히 드러내기에는 충분하지 않습니다. 오늘은 이 스프레드시트의 슈퍼 히어로를 제대로 알게 될 때입니다. 똑같이 주목할만한 도구도 있을 것입니다 :)
Google 스프레드시트 QUERY 기능이 스프레드시트에서 가장 강력한 기능으로 간주된다는 사실을 알고 계셨습니까? 독특한 구문은 수십 가지의 다른 작업을 선호합니다. 부품을 분해하여 한 번에 모두 배워 볼까요?
Google 스프레드시트 QUERY 함수의 구문
언뜻 보기에 Google 스프레드시트 QUERY는 다음과 같습니다. 1개의 선택 인수와 2개의 필수 인수가 있는 또 다른 함수:
=QUERY(data, query, [headers])- data 는 처리할 범위입니다. 필수의. 여기에서 모든 것이 명확합니다.
참고. 여기에서 Google이 설정한 단 하나의 작은 알림: 각 열에는 텍스트, 숫자 또는 부울의 한 가지 유형의 데이터가 포함되어야 합니다. 다른 유형이 있는 경우 QUERY는 가장 많이 발생하는 유형과 함께 작동합니다. 다른 유형은 빈 셀로 간주됩니다. 이상하지만 명심하십시오.
- query 는 data 를 처리하는 방식입니다. 필수의. 이것은 모든 재미가 시작되는 곳입니다. Google Sheets QUERY 함수는 이 인수에 대해 특수 언어를 사용합니다. Google Visualization API기준
- 결과에 대한 위치 선택
- 결과를 QUERY 수식 또는 값으로 삽입
농담이 아닙니다. 직접 확인하세요. 이 GIF는 속도가 빨라졌지만 모든 기준을 미세 조정하고 결과를 얻는 데 1분도 채 걸리지 않았습니다.
충분히 궁금하신 분은 부가기능 작동 방식을 보여주는 동영상:
부가기능을 사용해 보고 Google Workspace Marketplace에서 다운로드하시기 바랍니다. 부끄러워하지 말고 피드백을 공유하세요. 특히 마음에 들지 않는 부분이 있으면 피드백을 공유하세요.
또한 튜토리얼 페이지나 홈페이지를 자유롭게 확인하세요.
쿼리 언어. SQL과 유사한 방식으로 작성되었습니다. 기본적으로 선택, 그룹 기준, 제한 등 함수에 수행할 작업을 알리는 데 사용되는 일련의 특수 절(명령)입니다.참고. 전체 인수는 큰따옴표로 묶어야 합니다. 값은 차례로 따옴표로 묶어야 합니다.
이제 절과 절이 무엇을 하든 더 자세히 살펴보겠습니다.
Google Sheets QUERY 수식에 사용되는 절
쿼리 언어는 10개의 절로 구성됩니다. 특히 SQL에 익숙하지 않은 경우 언뜻 보면 겁이 날 수 있습니다. 그러나 일단 그것들을 알게 되면 강력한 스프레드시트 무기를 마음대로 사용할 수 있게 될 것이라고 약속합니다.
각 절을 다루고 상상의 학생들과 그들의 종이 과목 목록을 사용하여 공식 예제를 제공할 것입니다. :
네, 저는 명왕성이 행성이어야 한다고 생각하는 이상한 사람 중 하나입니다 :)
팁. 하나의 Google Sheets QUERY 함수 내에서 여러 절을 사용할 수 있습니다. 모두 중첩하는 경우 이 문서의 표시 순서를 따라야 합니다.
선택(전체 또는 특정 열)
첫 번째 절인 select 는 Google 스프레드시트 QUERY로 반환해야 하는 열을 알려주는 데 사용됩니다.다른 시트나 테이블에서.
예제 1. 모든 열 선택
각각의 모든 열을 가져오려면 별표와 함께 select 를 사용하십시오 – select *
=QUERY(Papers!A1:G11,"select *")
팁. 선택 매개변수를 생략하면 Google 스프레드시트 QUERY는 기본적으로 모든 열을 반환합니다.
=QUERY(Papers!A1:G11)
예 2. 특정 열 선택
특정 열만 가져오려면 , select 절 다음에 나열하십시오:
=QUERY(Papers!A1:G11, "select A,B,C")
팁. 관심 있는 열은 수식에서 언급한 것과 동일한 순서로 복사됩니다.
=QUERY(Papers!A1:G11, "select C,B,A")
Google Sheets QUERY – Where 절
Google 시트 QUERY where 는 원하는 데이터에 대한 조건을 설정하는 데 사용됩니다. 즉, 필터 역할을 합니다.
이 절을 사용하면 Google 스프레드시트의 QUERY 함수가 열에서 조건에 맞는 값을 검색하고 일치하는 항목을 모두 가져옵니다.
팁. Where 는 select 절 없이 작동할 수 있습니다.
일반적으로 조건을 지정하기 위해 다음과 같은 특수 연산자 세트가 있습니다.
- 단순 비교 연산자( 숫자 값 ): =, , >, >=, <, <=
- 복합 비교 연산자( 문자열 의 경우): 포함, 시작, 종료 with, matches, != (일치하지 않음/같지 않음), like .
- 여러 조건을 결합 하는 논리 연산자: 그리고, 또는, not .
- 공백 연산자/ 비어 있지 않음 : 은 null, is not null .
팁. 또 이렇게 엄청난 수의 오퍼레이터를 상대해야 하는 것이 속상하거나 걱정된다면, 우리는 당신을 느낍니다. 다중 Vlookup 일치는 모든 일치 항목을 찾고 필요한 경우 Google 스프레드시트에서 QUERY 수식을 작성합니다.
이러한 연산자가 수식에서 어떻게 작동하는지 살펴보겠습니다.
예제 1. Where with numbers
Google 스프레드시트에 where 를 추가하겠습니다. 10개 이상의 달이 있는 행성에 대한 정보를 얻으려면 위에서 쿼리:
=QUERY(Papers!A1:G11,"select A,B,C,F where F>=10")
팁. 또한 기준을 충족하는지 확인하기 위해 가져오는 열 F에 대해서도 언급했습니다. 그러나 그것은 완전히 선택 사항입니다. 조건이 있는 열을 결과에 포함할 필요는 없습니다.
=QUERY(Papers!A1:G11,"select A,B,C where F>=10")
예제 2. Where with text strings
- I want to see 등급이 F 또는 F+ 인 모든 행. 이를 위해 contains 연산자를 사용하겠습니다.
=QUERY(Papers!A1:G11,"select A,B,C,G where G contains 'F'")
참고. 텍스트를 따옴표로 묶는 것을 잊지 마십시오.
- F 만 있는 모든 행을 가져오려면 contains 를 등호(=)로 바꾸십시오:
=QUERY(Papers!A1:G11,"select A,B,C,G where G="F"")
- 아직 전달되지 않은 논문(등급이 누락된 경우)을 확인하려면 G 열에서 공백을 확인하십시오.
=QUERY(Papers!A1:G11,"select A,B,C,G where G is null'")
예 3. 날짜가 있는
추측해 보세요: Google 스프레드시트 QUERY는 날짜를 관리하기도 했습니다!
스프레드시트는 날짜를 일련번호로 저장하므로 일반적으로 다음을 수행해야 합니다.DATE 또는 DATEVALUE, YEAR, MONTH, TIME 등과 같은 특수 기능의 도움에 의지합니다.
그러나 QUERY는 날짜 주변에서 길을 찾았습니다. 올바르게 입력하려면 날짜 라는 단어를 입력한 다음 yyyy-mm-dd 형식의 날짜를 추가하면 됩니다. 날짜 '2020-01-01'
연설 날짜가 2020년 1월 1일 이전인 모든 행을 가져오는 공식은 다음과 같습니다.
=QUERY(Papers!A1:G11,"select A,B,C where B
예제 4. 여러 조건 결합
특정 기간을 기준으로 사용하려면 두 가지 조건을 결합해야 합니다.
2019년 가을에 전달된 논문을 검색해 보겠습니다. 첫 번째 기준은 날짜여야 합니다. 또는 2019년 9월 1일 이후 , 두 번째 — 2019년 11월 30일 이전 :
=QUERY(Papers!A1:G11,"select A,B,C where B>=date '2019-09-01' and B<=date '2019-11-30'")
또는, I 다음 매개변수에 따라 논문을 선택할 수 있습니다.
- 2019년 12월 31일 이전( B
) - 등급이 A 또는 A+임 ( G에 'A' 포함)
- 또는 B/B+ ( G에 'B' 포함)
=QUERY(Papers!A1:G11,"select A,B,C,G where B
팁. 이미 머리가 터질 것 같더라도 아직 포기하지 마세요. 기준의 수에 관계없이 이러한 모든 수식을 완벽하게 구축할 수 있는 도구가 있습니다. 기사의 끝으로 바로 이동하여 알아보십시오.
Google Sheets QUERY – Group By
Google Sheets QUERY group by 명령은 행을 연결하는 데 사용됩니다. 그러나 요약하기 위해서는 몇 가지 집계 함수를 사용해야 합니다.
참고. Group by 는 항상 select 절 뒤에 와야 합니다.
안타깝게도 반복되는 값이 없기 때문에 테이블에 그룹화할 항목이 없습니다. 그래서 조금 조정해 보겠습니다.
모든 서류를 3명의 학생만 준비한다고 가정해 보겠습니다. 각 학생이 받은 최고 점수를 찾을 수 있습니다. 하지만 문자이기 때문에 열 G에 적용해야 하는 MIN 함수입니다:
=QUERY(Papers!A1:G11,"select A,min(G) group by A")
참고. select 절의 열(내 예에서는 열 A )과 함께 집계 함수를 사용하지 않는 경우 group by<2에서 모두 복제해야 합니다> 절.
Google Sheets QUERY – Pivot
Google Sheets QUERY pivot 절은 반대로 작동합니다. 한 열의 데이터를 새 열이 있는 행으로 바꾸고 그에 따라 다른 값을 그룹화합니다.
날짜를 다루는 사용자에게는 진정한 발견이 될 수 있습니다. 해당 소스 열에서 모든 개별 연도를 한눈에 볼 수 있습니다.
참고. pivot 의 경우 select 절에 사용된 모든 열은 집계 함수로 처리되어야 합니다. 그렇지 않으면 pivot 다음의 group by 명령에 언급되어야 합니다.
기억하세요. 제 표에는 이제 학생이 3명만 언급되어 있습니다. 각 학생이 얼마나 많은 보고서를 작성했는지 알려주는 함수를 만들 것입니다.
=QUERY(Papers!A1:G11,"select count(G) pivot A")
Google 스프레드시트 QUERY – 주문 기한
이것은 매우 쉽습니다 :)특정 열의 값을 기준으로 결과를 정렬합니다.
팁. 이전의 모든 절은 order by 를 사용할 때 선택 사항입니다. 데모 목적으로 더 적은 수의 열을 반환하기 위해 select 를 사용합니다.
원래 표로 돌아가서 연설 날짜별로 보고서를 정렬하겠습니다.
이 다음 Google 스프레드시트 QUERY 수식은 열 A, B, C를 가져오지만 동시에 날짜별로 정렬합니다. column B:
=QUERY(Papers!A1:G11,"select A,B,C order by B")
Limit
내가 말했듯이 모든 행을 가져올 필요는 없습니다. 결과? Google 스프레드시트 QUERY가 찾은 첫 번째 일치 항목 중 일정량만 가져올 수 있다고 말하면 어떻게 될까요?
글쎄요, limit 절은 이를 돕기 위해 고안되었습니다. 반환할 행의 수를 주어진 숫자로 제한합니다.
Tip. 다른 이전 조항 없이 limit 를 자유롭게 사용하십시오.
이 수식은 등급이 있는 열에 마크(비어 있지 않음)가 포함된 처음 5개 행을 표시합니다.
=QUERY(Papers!A1:G11,"select A,B,C,G where G is not null limit 5")
오프셋
이 절은 이전 절과 반대입니다. limit 는 지정한 행 수를 가져오지만 offset 은 이를 건너뛰고 나머지를 검색합니다.
팁. Offset 도 다른 절이 필요하지 않습니다.
=QUERY(Papers!A1:G11,"select A,B,C,G where G is not null offset 5")
limit 와 offset 을 모두 사용하려고 하면 다음과 같은 상황이 발생합니다.
- Offset 은 시작 부분에서 행을 건너뜁니다.
- Limit 는다음 행.
=QUERY(Papers!A1:G11,"select A,B,C,G where G is not null limit 3 offset 3")
데이터의 11개 행(첫 번째 행은 헤더이고 Google 스프레드시트의 QUERY 함수는 이를 잘 이해함) 중 오프셋은 첫 번째 행을 건너뜁니다. 3행. 제한은 3개의 다음 행(4번째 행부터 시작)을 반환합니다.
Google Sheets QUERY – Label
Google Sheets QUERY label command 열의 헤더 이름을 변경할 수 있습니다.
팁. 다른 절도 label 에 대해 선택 사항입니다.
라벨 을 먼저 넣고 그 뒤에 열 ID와 새 이름을 넣으십시오. 몇 개의 열의 이름을 바꾸는 경우 새 열 레이블 쌍을 각각 쉼표로 구분합니다.
=QUERY(Papers!A1:G11,"select A,B,C label A 'Name', B 'Date'")
형식
The format 절을 사용하면 열에 있는 모든 값의 형식을 변경할 수 있습니다. 이를 위해서는 원하는 형식 뒤에 패턴이 서 있어야 합니다.
팁. 형식 절은 Google 스프레드시트 QUERY에서 단독으로 사용할 수도 있습니다.
=QUERY(Papers!A1:G11,"select A,B,C limit 3 format B 'mm-dd, yyyy, ddd'")
팁. 이 블로그 게시물에서 Google Sheets QUERY의 몇 가지 날짜 형식을 언급했습니다. 기타 형식은 스프레드시트에서 직접 가져올 수 있습니다. 형식 > 번호 > 추가 형식 > 사용자 지정 숫자 형식 .
옵션
결과 데이터에 대한 몇 가지 추가 설정을 지정하는 데 사용됩니다.
예를 들어 no_values 와 같은 명령은 형식이 지정된 셀만 반환합니다.
QUERY 수식을 작성하는 가장 빠른 방법 – 다중 Vlookup 일치
Google 스프레드시트의 QUERY 기능이 아무리 강력하더라도파악하려면 학습 곡선이 필요할 수 있습니다. 각 절을 작은 테이블에 별도로 설명하는 것과 몇 개의 절과 훨씬 더 큰 테이블로 모든 것을 올바르게 작성하는 것은 완전히 다른 일입니다.
그래서 Google 스프레드시트 QUERY를 사용자 친화적인 인터페이스를 추가 기능으로 만드세요.
여러 VLOOKUP 일치가 수식보다 나은 이유는 무엇인가요?
음, 추가 기능을 사용하면 절대적으로 <19 필요가 없습니다 :
- 파악 해당 절 에 대해 무엇이든. 추가 기능에서 복잡한 조건을 많이 생성하는 것은 정말 쉽습니다. 필요한 만큼 일치 항목을 가져오라는 명령에도 불구하고 필요한 만큼 많이.
참고. 현재 다음 절이 도구에 통합되었습니다: select, where, limit, 및 offset . 작업에 다른 조항도 필요한 경우 아래에 의견을 남겨주세요. 개선에 도움이 될 것입니다. ;)
- 연산자 입력 방법을 알고 있습니다. 드롭다운 목록입니다.
- 퍼즐 올바른 날짜 및 시간 입력 방법 . 애드온을 사용하면 스프레드시트 로케일을 기반으로 예전처럼 입력할 수 있습니다.
팁. 다양한 데이터 유형의 예와 함께 도구에서 항상 사용할 수 있는 힌트가 있습니다.
보너스 로
- 미리보기 결과 및 공식
- 빠른 조정