본문 바로가기
구글스프레드시트

[구글스프레드시트] Query 헤더 설정 및 변경

by datatribe 2025. 2. 12.

구글스프레드시트에서는 SQL 쿼리를 이용해 데이터 참조가 가능합니다.

구글스프레드시트에서 원본 데이터를 Query를 이용하여 참조하는 경우 헤더를 설정하는 방법에 대해 한번 알아보도록 하겠습니다.

우선 아래와 같이 데이터가 존재한다고 가정해봅시다.

이제 이곳에서 영업1팀의 부서와 성명 그리고 실적에 대한 트랜잭션을 SELECT 해보도록 하겠습니다.

QUERY(B2:D6,"SELECT * WHERE Col1 = '영업1'")

결과는 아래와 같습니다.

헌데 지금 보니 헤더가 자동으로 출력이 되는군요. 한번 수식의 뒤에 옵션을 아래와 같이 추가해봅시다.

QUERY(B2:D6,"SELECT * WHERE Col1 = '영업1'",0)

동일한 ㅜ식에 ,0 이 추가되었습니다. 과연 결과는 어떻게 출력될까요?

보시는 바와 같이 헤더가 사라졌습니다. 그러면 이제 옵션을 1로 바꾸어 보실까요?

QUERY(B2:D6,"SELECT * WHERE Col1 = '영업1'",1)

결과는 아래와 같습니다.

뒤의 옵션을 설정하게 되면 0은 헤더를 출력하지 않고 1은 헤더를 출력하는 것으로 보입니다.

기본적으로 아무런 옵션을 설정하지 않는다면 헤더가 출력이 되는 것이구요.

헌데 여기서 궁금한 사항이 있습니다. 

현재 원본 범위 설정을 참조해보면 B2:D2 영역이 포함되어 있습니다. 즉, 헤더 영역이 포함되어 있는 것이죠.

만약 원본 범위 설정에서 헤더를 빼버리면 어떤 일이 발생할까요?

=QUERY(B3:D6,"SELECT * WHERE Col1 = '영업1'")

결과는 아래와 같습니다.

이 수식에서 옵션을 0을 하든 1을 하든 결과는 동일할 것입니다.

Where 절의 값을 영업2로 변경하고 헤더 출력을 해보도록 하겠습니다.

이거 좀 이상한데요... 첫번째 데이터 영역을 헤더로 생각하는 듯 합니다...

결국 올바른 결과값을 출력하기 위해서는 헤더영역까지 원본 영역에 포함하여 수식을 만드셔야 할 것으로 보여집니다.

자 그렇다면 이제 헤더컬럼을 변경하고 싶다면 어떻게 해야 할까요?

이를 위해서는 Label 이라는 명령어를 사용하게 됩니다.

한번 위의 헤더를 영문으로 변경해보도록 하겠습니다.

QUERY(B3:D6,"SELECT * WHERE Col1 = '영업2' Label Col1 'Team', Col2 'Name', Col3 'Sales'")

헷갈릴수 있는 것은 Label 이후 컬럼을 기재한 뒤 = 이 들어가지 않는다는 것입니다.

즉 Label Col1 = 'Team' 이런식이 아니고 Label Col1 'Team' 이렇게 표현된다는 것입니다.

결과는 아래와 같습니다.

멋지게 헤더가 원하는 영어로 변경되어 출력됩니다.

이 Label이 필요한 경우는 위와 같이 일반적인 SELECT 구문에서는 별로 필요가 없습니다. 

다만 SUM 이나 기타 컬럼을 변경하는 가공을 하는 경우 필요성이 생깁니다.

한번 부서별 SUM을 내보도록 하겠습니다.

QUERY(B2:D6,"SELECT Col1, sum(Col3) Group by Col1")

위와 같이 부서별 SUM을 준비하여 실행해보면 결과는 아래와 같습니다.

실행결과를 보니 헤더가 [부서]는 제대로 출력이 되었는데 [sum 실적] 이라고 출력이 되는 부분이 좀 어색하네요.

이 [sum 실적] 을 [실적 합계] 라고 변경해보도록 하겠습니다.

QUERY(B2:D6,"SELECT Col1, sum(Col3) Group by Col1 Label Col1 '부서', sum(Col3) '실적 합계'")

  느낌이 오시죠?

SELECT를 한 컬럼 그대로 Label에서 받아주어야 합니다. 앞에서 sum(Col3)을 SELECT 하였기 때문에 뒤 Label에서도 동일하게 sum(Col3)이라고 하신 뒤 컬럼명을 입력해주시는 겁니다.

이제 결과는 아래와 같습니다.

이제 헤더명의 어색함이 사라진 것 같습니다.

이렇게 여러분들은 쿼리를 통해 참조한 데이터의 헤더를 출력하실 수도 아니면 숨길수도 있고 경우에 따라서는 여러분이 원하는 헤더명으로 교체를 하실 수도 있습니다.

오늘의 포스팅은 여기까지 입니다.

대단히 감사합니다.