Class Filter

필터

이 클래스를 사용하여 기본 시트 유형인 Grid 시트에서 기존 필터를 수정합니다. 그리드 시트는 데이터베이스에 연결되지 않은 데이터가 포함된 일반 시트입니다.

시트에 아직 필터가 없는 경우 Range.createFilter()를 사용하여 필터를 만듭니다.

이 클래스를 사용하려면 먼저 Range.getFilter() 또는 Sheet.getFilter()를 사용하여 그리드 시트 필터에 액세스해야 합니다.

일반적인 용도

필터 삭제

아래 샘플은 활성 시트의 필터를 가져와 삭제합니다.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Removes the filter from the active sheet.
filter.remove();

필터가 적용되는 범위 가져오기

아래 샘플은 활성 시트의 필터를 가져온 다음 이 클래스의 getRange() 메서드를 사용하여 필터가 적용되는 범위를 로깅합니다.
const ss = SpreadsheetApp.getActiveSheet();
// Gets the existing filter on the active sheet.
const filter = ss.getFilter();
// Logs the range that the filter applies to in A1 notation.
console.log(filter.getRange().getA1Notation());

메서드

메서드반환 유형간략한 설명
getColumnFilterCriteria(columnPosition)FilterCriteria지정된 열의 필터 기준을 가져오거나 열에 필터 기준이 적용되지 않은 경우 null를 가져옵니다.
getRange()Range이 필터가 적용되는 범위를 가져옵니다.
remove()void이 필터를 삭제합니다.
removeColumnFilterCriteria(columnPosition)Filter지정된 열에서 필터 기준을 삭제합니다.
setColumnFilterCriteria(columnPosition, filterCriteria)Filter지정된 열에 필터 기준을 설정합니다.
sort(columnPosition, ascending)Filter이 필터가 적용되는 범위의 첫 번째 행 (헤더 행)을 제외하고 지정된 열을 기준으로 필터링된 범위를 정렬합니다.

자세한 문서

getColumnFilterCriteria(columnPosition)

지정된 열의 필터 기준을 가져오거나 열에 필터 기준이 적용되지 않은 경우 null를 가져옵니다.

필터 기준에 관한 자세한 내용을 확인하려면 이 메서드를 FilterCriteria 클래스의 메서드와 체이닝하세요.

const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Gets the filter criteria applied to column B of the active sheet
// and logs the hidden values.
const filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues();
console.log(filterCriteria);

매개변수

이름유형설명
columnPositionInteger열의 1 기반 색인 위치입니다. 예를 들어 B열의 색인은 2입니다.

리턴

FilterCriteria: 필터 기준입니다.

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getRange()

이 필터가 적용되는 범위를 가져옵니다.

// Gets the existing filter on the active sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Logs the range that the filter applies to in A1 notation.
console.log(filter.getRange().getA1Notation());

리턴

Range: 필터의 범위입니다. A1 표기법으로 범위를 가져오려면 이 메서드를 Range.getA1Notation()와 체이닝합니다.

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

remove()

이 필터를 삭제합니다.

// Removes the filter from the active sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
filter.remove();

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

removeColumnFilterCriteria(columnPosition)

지정된 열에서 필터 기준을 삭제합니다.

// Removes the filter criteria from column B.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
filter.removeColumnFilterCriteria(2);

매개변수

이름유형설명
columnPositionInteger열의 1 기반 색인 위치입니다. 예를 들어 B열의 색인은 2입니다.

리턴

Filter: 체이닝을 위한 필터입니다.

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setColumnFilterCriteria(columnPosition, filterCriteria)

지정된 열에 필터 기준을 설정합니다. 먼저 SpreadsheetApp.newFilterCriteria()를 사용하여 필터 기준 작성 도구를 만듭니다. 그런 다음 FilterCriteriaBuilder 클래스를 사용하여 빌더에 기준을 추가합니다. 기준을 빌드한 후 이 메서드의 filterCriteria 매개변수로 설정합니다.

const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Builds the filter criteria to use as a parameter for setColumnFilterCriteria.
const criteria = SpreadsheetApp.newFilterCriteria()
                     .setHiddenValues(['Hello', 'World'])
                     .build();
// Sets the filter criteria for column C.
filter.setColumnFilterCriteria(3, criteria);

매개변수

이름유형설명
columnPositionInteger열의 1 기반 색인 위치입니다. 예를 들어 B열의 색인은 2입니다.
filterCriteriaFilterCriteria설정할 필터 기준입니다. 기준을 null로 설정하면 지정된 열에서 필터 기준이 삭제됩니다. removeColumnFilterCriteria(columnPosition)도 사용할 수 있습니다.

리턴

Filter: 체이닝을 위한 필터입니다.

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

sort(columnPosition, ascending)

이 필터가 적용되는 범위의 첫 번째 행 (헤더 행)을 제외하고 지정된 열을 기준으로 필터링된 범위를 정렬합니다.

// Gets the existing filter and sorts it by column B in ascending order.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
filter.sort(2, true);

매개변수

이름유형설명
columnPositionInteger열의 1 기반 색인 위치입니다. 예를 들어 B열의 색인은 2입니다.
ascendingBooleantrue인 경우 필터링된 범위를 오름차순으로 정렬하고 false인 경우 필터링된 범위를 내림차순으로 정렬합니다.

리턴

Filter: 체이닝을 위한 필터입니다.

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets