필터를 사용하면 스프레드시트를 볼 때 표시되는 데이터를 정렬하고 필터링할 수 있습니다. 필터는 스프레드시트의 데이터 값을 변경하지 않습니다. 필터를 사용하여 정보를 일시적으로 숨기거나 정렬할 수 있습니다. 지정된 필터 기준과 일치하는 데이터는 필터가 사용 설정되어 있는 동안 표시되지 않습니다. 필터 뷰를 사용하면 이름이 지정된 여러 필터를 저장하고 원할 때마다 필터 간에 전환할 수도 있습니다.
다음은 필터의 몇 가지 사용 사례입니다.
- 특정 열을 기준으로 데이터를 정렬합니다. 예를 들어 사용자 레코드를 성별로 정렬합니다.
- 특정 조건을 충족하는 데이터를 숨깁니다. 예를 들어 2년이 지난 모든 레코드를 숨깁니다.
- 특정 값과 일치하는 데이터를 숨깁니다. 예를 들어 상태가 'closed'인 모든 문제를 숨깁니다.
기본 필터
스프레드시트의 BasicFilter
는 사용자가 스프레드시트를 볼 때마다 적용되는 기본 필터입니다. 스프레드시트에는 시트당 하나의 기본 필터가 있을 수 있습니다. 기본 필터를 선택 해제하여 사용 중지할 수 있습니다. 이렇게 하면 스프레드시트에서 필터와 모든 설정이 삭제됩니다.
동일한 필터를 다시 사용 설정하려면 기준을 다시 설정해야 합니다.
기본 필터 관리
기본 필터를 설정하거나 지우려면 적절한 요청 유형과 함께 spreadsheets.batchUpdate
메서드를 사용하세요.
- 기본 필터를 설정하려면
SetBasicFilterRequest
메서드를 사용합니다. - 기본 필터를 지우려면
ClearBasicFilterRequest
메서드를 사용합니다.
기본 필터를 나열하려면 spreadsheets.get
메서드를 사용하고 fields
URL 매개변수를 sheets/basicFilter
로 설정합니다. 다음 spreadsheets.get
코드 샘플은 필드 마스크가 있는 Google Sheets URL을 보여줍니다.
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets/basicFilter)
필터 보기
FilterView
은 언제든지 사용 설정 및 중지할 수 있는 명명된 필터입니다. 스프레드시트에는 여러 필터 보기가 있을 수 있지만 한 번에 하나만 적용할 수 있습니다.
다음은 필터링된 뷰의 몇 가지 사용 사례입니다.
- 데이터를 볼 때 전환할 수 있는 여러 필터가 있습니다.
- 스프레드시트에 대한 수정 권한은 없지만 필터를 적용하고 싶습니다. 이 경우 나만 볼 수 있는 임시 필터 보기를 만들 수 있습니다.
스프레드시트를 공유하는 각 사용자가 데이터를 다르게 볼 수 있도록 하려고 합니다. 스프레드시트 URL에
spreadsheetId
및filterViewId
를 제공하여 적용할 필터 보기를 지정할 수 있습니다. 이렇게 하려면 필터 뷰를 만들 때 응답에 반환되는filterViewId
를 사용합니다.다음 코드 샘플은 필터 뷰가 있는 Google Sheets URL을 보여줍니다.
https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit#gid=0&fvid=FILTER_VIEW_ID
필터 뷰 관리
필터 뷰를 만들거나, 복제하거나, 수정하거나, 삭제하려면 적절한 요청 유형과 함께 spreadsheets.batchUpdate
메서드를 사용하세요.
- 필터 뷰를 만들려면
AddFilterViewRequest
메서드를 사용합니다. - 필터 뷰의 사본을 만들려면
DuplicateFilterViewRequest
메서드를 사용합니다. - 필터 뷰의 속성을 수정하려면
UpdateFilterViewRequest
메서드를 사용합니다. - 필터 뷰를 삭제하려면
DeleteFilterViewRequest
메서드를 사용합니다.
모든 필터 보기를 나열하려면 spreadsheets.get
메서드를 사용하고 fields
URL 매개변수를 sheets/filterViews
로 설정합니다. 다음 spreadsheets.get
코드 샘플은 필드 마스크가 있는 Google Sheets URL을 보여줍니다.
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets/filterViews)
필터 표현
다음 코드 샘플은 FilterView
객체의 JSON 표현식을 보여줍니다. BasicFilter
객체는 filterViewId
및 title
필드가 없고 이름이 지정된 범위를 사용할 수 없다는 점을 제외하고는 동일합니다.
{
"filterViewId": number,
"title": string,
"range": {
object(GridRange)
},
"namedRangeId": string,
"sortSpecs": [
{
object(SortSpec)
}
],
"criteria": {
string: {
object(FilterCriteria)
},
...
}
}
예시 데이터
이 문서의 나머지 부분에서는 아래의 예시 판매 데이터 표를 참조합니다.
A | B | C | D | E | F | G | |
1 | 항목 카테고리 | 모델 번호 | 비용 | 수량 | 지역 | 영업 담당자 | 배송 날짜 |
2 | 휠 | W-24 | $20.50 | 4 | 서부 | 베스 | 2016년 3월 1일 |
3 | 문 | D-01X | $15.00 | 2 | 남부 | 아미르 | 2016년 3월 15일 |
4 | 프레임 | FR-0B1 | $34.00 | 8 | 동부 | Hannah | 2016년 3월 12일 |
5 | 패널 | P-034 | 6달러 | 4 | 북 | Devyn | 2016년 3월 15일 |
6 | 패널 | P-052 | $11.50 | 7 | 동부 | 에리크 | 2016년 5월 16일 |
7 | 휠 | W-24 | $20.50 | 11 | 남부 | Sheldon | 2016년 4월 30일 |
8 | 엔진 | ENG-0161 | $330.00 | 2 | 북 | Jessie | 2016년 7월 2일 |
정렬 사양
필터에는 정렬 사양이 여러 개 있을 수 있습니다. 이러한 사양은 데이터를 정렬하는 방법을 결정하며 지정된 순서로 적용됩니다. SortSpec.dimensionIndex
속성은 정렬을 적용해야 하는 열 색인을 지정합니다.
다음 코드 샘플은 정렬 사양을 보여줍니다.
[
{
"dimensionIndex": 3,
"sortOrder": "ASCENDING"
},
{
"dimensionIndex": 6,
"sortOrder": "ASCENDING"
}
]
예시 판매 데이터에 적용하면 이 사양은 먼저 '수량'을 기준으로 정렬하고, 수량이 동일한 행이 2개 있는 경우 '배송일'을 기준으로 정렬합니다.
A | B | C | D | E | F | G | |
1 | 항목 카테고리 | 모델 번호 | 비용 | 수량 | 지역 | 영업 담당자 | 배송 날짜 |
2 | 문 | D-01X | $15.00 | 2 | 남부 | 아미르 | 2016년 3월 15일 |
3 | 엔진 | ENG-0161 | $330.00 | 2 | 북 | Jessie | 2016년 7월 2일 |
4 | 휠 | W-24 | $20.50 | 4 | 서부 | 베스 | 2016년 3월 1일 |
5 | 패널 | P-034 | 6달러 | 4 | 북 | Devyn | 2016년 3월 15일 |
6 | 패널 | P-052 | $11.50 | 7 | 동부 | 에리크 | 2016년 5월 16일 |
7 | 프레임 | FR-0B1 | $34.00 | 8 | 동부 | Hannah | 2016년 3월 12일 |
8 | 휠 | W-24 | $20.50 | 11 | 남부 | Sheldon | 2016년 4월 30일 |
필터 기준
FilterCriteria
메서드는 기본 필터 또는 필터 보기에서 표시되거나 숨겨지는 스프레드시트 데이터를 결정합니다. 각 기준은 특정 열의 값에 따라 달라집니다. 키가 열 색인이고 값이 기준인 맵으로 필터 기준을 제공합니다.
불리언 condition
을 사용하여 지정된 기준의 경우 값이 표시되려면 조건이 True
이어야 합니다. 조건이 hiddenValues
을 재정의하지 않습니다. hiddenValues
아래에 값이 나열되면 값의 모든 일치 항목이 계속 숨겨집니다.
다음 코드 샘플은 필터 기준 맵을 보여줍니다.
{
0: {
'hiddenValues': ['Panel']
},
6: {
'condition': {
'type': 'DATE_BEFORE',
'values': {
'userEnteredValue': '4/30/2016'
}
}
}
}
예시 판매 데이터에 적용하면 이 기준은 '상품 카테고리'가 '패널'이 아니고 '발송일'이 2016년 4월 30일 이전인 행만 표시합니다.
A | B | C | D | E | F | G | |
1 | 항목 카테고리 | 모델 번호 | 비용 | 수량 | 지역 | 영업 담당자 | 배송 날짜 |
2 | 휠 | W-24 | $20.50 | 4 | 서부 | 베스 | 2016년 3월 1일 |
3 | 문 | D-01X | $15.00 | 2 | 남부 | 아미르 | 2016년 3월 15일 |
4 | 프레임 | FR-0B1 | $34.00 | 8 | 동부 | Hannah | 2016년 3월 12일 |
샘플
다음 코드 샘플은 필터 뷰를 만들고, 이를 복제한 다음, 위의 예시 판매 데이터를 사용하여 복제된 버전을 업데이트하는 방법을 보여줍니다.