Class Filter

Filtrar

Use essa classe para modificar os filtros existentes em planilhas Grid, o tipo padrão de planilha. As planilhas de grade são planilhas normais 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 o filtro na planilha ativa e o remove.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Removes the filter from the active sheet.
filter.remove();

Receber o intervalo em que o filtro é aplicado

O exemplo abaixo recebe o filtro na planilha ativa e usa o método getRange() dessa classe para registrar o intervalo em que o filtro é aplicado.
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)FilterCriteriaConsegue 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 em que o filtro é aplicado.
remove()voidRemove esse 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)FilterOrdena o intervalo filtrado pela coluna especificada, excluindo a primeira linha (a linha de cabeçalho) no intervalo em que o filtro é aplicado.

Documentação detalhada

getColumnFilterCriteria(columnPosition)

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

Para saber mais 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 1 da coluna. Por exemplo, o índice da coluna B é 2.

Retornar

FilterCriteria: 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 em que o filtro é aplicado.

// 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 receber 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 esse 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 1 da coluna. 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 seus 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 1 da coluna. Por exemplo, o índice da coluna B é 2.
filterCriteriaFilterCriteriaOs critérios de filtro a serem definidos. Se você definir os critérios como null, eles serão removidos 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)

Ordena o intervalo filtrado pela coluna especificada, excluindo a primeira linha (a linha de cabeçalho) no intervalo em que o filtro é aplicado.

// 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 1 da coluna. 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