Class Filter

필터

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

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

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

일반적인 용도

필터 삭제

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

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

아래 샘플은 활성 시트의 필터를 가져온 다음 이 클래스의 getRange() 메서드를 사용하여 필터가 적용되는 범위를 기록합니다.
let ss = SpreadsheetApp.getActiveSheet();
// Gets the existing filter on the active sheet.
let 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 클래스의 메서드와 연결합니다.

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

매개변수

이름유형설명
columnPositionInteger1부터 색인이 생성되는 열의 위치입니다. 예를 들어 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.
let ss = SpreadsheetApp.getActiveSheet();
let 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.
let ss = SpreadsheetApp.getActiveSheet();
let 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.
let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
filter.removeColumnFilterCriteria(2);

매개변수

이름유형설명
columnPositionInteger1부터 색인이 생성되는 열의 위치입니다. 예를 들어 B열의 색인은 2입니다.

리턴

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

승인

이 방법을 사용하는 스크립트는 다음 범위 중 하나 이상을 승인해야 합니다.

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

setColumnFilterCriteria(columnPosition, filterCriteria)

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

let ss = SpreadsheetApp.getActiveSheet();
let 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);

매개변수

이름유형설명
columnPositionInteger1부터 색인이 생성되는 열의 위치입니다. 예를 들어 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.
let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
filter.sort(2, true);

매개변수

이름유형설명
columnPositionInteger1부터 색인이 생성되는 열의 위치입니다. 예를 들어 B열의 색인은 2입니다.
ascendingBooleantrue인 경우 필터링된 범위를 오름차순으로 정렬합니다. false인 경우 필터링된 범위를 내림차순으로 정렬합니다.

리턴

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

승인

이 방법을 사용하는 스크립트는 다음 범위 중 하나 이상을 승인해야 합니다.

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