Class Filter

Filtrar

Use essa classe para modificar os filtros atuais nas planilhas Grid, o tipo padrão de planilha. As planilhas de grade são planilhas comuns com dados que não estão conectados a um banco de dados.

Se ainda não houver um filtro na planilha, crie um usando Range.createFilter().

Para usar essa classe, primeiro acesse o filtro da planilha de grade usando Range.getFilter() ou Sheet.getFilter().

Usos comuns

Remover um filtro

O exemplo abaixo recebe e remove o filtro da planilha ativa.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Removes the filter from the active sheet.
filter.remove();

Receber o intervalo a que o filtro se aplica

O exemplo abaixo recebe o filtro na planilha ativa e usa o método getRange() dessa classe para registrar o intervalo a que o filtro se aplica.
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());

Métodos

MétodoTipo de retornoBreve descrição
getColumnFilterCriteria(columnPosition)FilterCriteria|nullRecebe os critérios de filtro na coluna especificada ou null se a coluna não tiver critérios de filtro aplicados.
getRange()RangeRecebe o intervalo a que este filtro se aplica.
remove()voidRemove este filtro.
removeColumnFilterCriteria(columnPosition)FilterRemove os critérios de filtro da coluna especificada.
setColumnFilterCriteria(columnPosition, filterCriteria)FilterDefine os critérios de filtro na coluna especificada.
sort(columnPosition, ascending)FilterClassifica o intervalo filtrado pela coluna especificada, excluindo a primeira linha (o cabeçalho) no intervalo a que esse filtro se aplica.

Documentação detalhada

getColumnFilterCriteria(columnPosition)

Recebe os critérios de filtro na coluna especificada ou null se a coluna não tiver critérios de filtro aplicados.

Para mais detalhes sobre os critérios de filtro, encadeie esse método com métodos da classe 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);

Parâmetros

NomeTipoDescrição
columnPositionIntegerA posição da coluna indexada em 1. Por exemplo, o índice da coluna B é 2.

Retornar

FilterCriteria|null: os critérios de filtro.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getRange()

Recebe o intervalo a que este filtro se aplica.

// 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());

Retornar

Range: o intervalo do filtro. Para conseguir o intervalo na notação A1, encadeie esse método com Range.getA1Notation().

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

remove()

Remove este filtro.

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

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

removeColumnFilterCriteria(columnPosition)

Remove os critérios de filtro da coluna especificada.

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

Parâmetros

NomeTipoDescrição
columnPositionIntegerA posição da coluna indexada em 1. Por exemplo, o índice da coluna B é 2.

Retornar

Filter: o filtro, para encadeamento.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

setColumnFilterCriteria(columnPosition, filterCriteria)

Define os critérios de filtro na coluna especificada. Primeiro, crie o builder de critérios de filtro usando SpreadsheetApp.newFilterCriteria(). Em seguida, adicione critérios ao builder usando a classe FilterCriteriaBuilder. Depois de criar os critérios, defina-os como o parâmetro filterCriteria para esse método.

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);

Parâmetros

NomeTipoDescrição
columnPositionIntegerA posição da coluna indexada em 1. Por exemplo, o índice da coluna B é 2.
filterCriteriaFilterCriteriaOs critérios de filtragem a serem definidos. Se você definir os critérios como null, eles vão remover os critérios de filtro da coluna especificada. Também é possível usar o removeColumnFilterCriteria(columnPosition).

Retornar

Filter: o filtro, para encadeamento.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

sort(columnPosition, ascending)

Classifica o intervalo filtrado pela coluna especificada, excluindo a primeira linha (o cabeçalho) no intervalo a que esse filtro se aplica.

// 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);

Parâmetros

NomeTipoDescrição
columnPositionIntegerA posição da coluna indexada em 1. Por exemplo, o índice da coluna B é 2.
ascendingBooleanSe true, classifica o intervalo filtrado em ordem crescente. Se false, classifica o intervalo filtrado em ordem decrescente.

Retornar

Filter: o filtro, para encadeamento.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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