Class FilterCriteria

FiltroCriteri

Utilizza questa classe per ottenere informazioni sui criteri dei filtri esistenti o per copiarli.

Utilizzi comuni

Copia criteri

Il seguente esempio recupera il filtro applicato all'intervallo A1:C20, i criteri applicati alla colonna C e li copia nella colonna B.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
// Copies the filter criteria applied to column C.
const filter = range.getFilter();
const criteria = filter.getColumnFilterCriteria(3).copy().build();
// Applies the copied criteria to column B. The copied criteria overwrites any
// existing criteria on column B.
filter.setColumnFilterCriteria(2, criteria);

Ottenere i valori nascosti dal filtro

Il seguente esempio recupera il filtro applicato all'intervallo specificato e registra i valori della colonna B nascosti dal filtro.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Gets the filter criteria applied to column B, then gets the hidden values.
const filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues();
// Logs the hidden values.
console.log(filterCriteria);

Metodi

MetodoTipo restituitoBreve descrizione
copy()FilterCriteriaBuilderCopia questi criteri di filtro e crea un generatore di criteri che puoi applicare a un altro filtro.
getCriteriaType()BooleanCriteriaRestituisce il tipo booleano dei criteri, ad esempio CELL_EMPTY.
getCriteriaValues()Object[]Restituisce un array di argomenti per i criteri booleani.
getHiddenValues()String[]Restituisce i valori nascosti dal filtro.
getVisibleBackgroundColor()ColorRestituisce il colore di sfondo utilizzato come criterio di filtro.
getVisibleForegroundColor()ColorRestituisce il colore di primo piano utilizzato come criterio di filtro.
getVisibleValues()String[]Restituisce i valori visualizzati dal filtro della tabella pivot.

Documentazione dettagliata

copy()

Copia questi criteri di filtro e crea un generatore di criteri che puoi applicare a un altro filtro.

Puoi utilizzare questo metodo con qualsiasi tipo di filtro. Se utilizzi un filtro del foglio, puoi copiare i criteri in un'altra colonna.

const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Makes a copy of the filter criteria applied to column C.
const criteria = filter.getColumnFilterCriteria(3).copy().build();
// Applies the copied criteria to column B. The copied criteria overwrites any
// existing criteria on column B.
filter.setColumnFilterCriteria(2, criteria);

Invio

FilterCriteriaBuilder: un generatore di criteri di filtro basato su questi criteri di filtro.


getCriteriaType()

Restituisce il tipo booleano dei criteri, ad esempio CELL_EMPTY. Per scoprire i tipi di criteri booleani, consulta l'enum BooleanCriteria.

Questo metodo viene spesso utilizzato per aggiungere criteri di condizione booleana a un filtro senza sostituire quelli esistenti.

Puoi utilizzare questo metodo per qualsiasi tipo di filtro. Se i criteri di filtro non sono una condizione booleana, restituisce null.

const ss = SpreadsheetApp.getActiveSheet();
// Gets the filter on the active sheet.
const filter = ss.getFilter();
// Gets the criteria type and returns a string representing the criteria type
// object.
const criteriaType =
    filter.getColumnFilterCriteria(2).getCriteriaType().toString();
// Logs the criteria type.
console.log(criteriaType);

Invio

BooleanCriteria: il tipo di criteri booleani o null se i criteri non sono una condizione booleana.


getCriteriaValues()

Restituisce un array di argomenti per i criteri booleani. Alcuni tipi di criteri booleani non hanno argomenti e restituiscono un array vuoto, ad esempio CELL_NOT_EMPTY.

Questo metodo viene spesso utilizzato per aggiungere criteri di condizione booleana a un filtro senza sostituire quelli esistenti.

  • Per ottenere il tipo di criteri booleani, utilizza getCriteriaType().
  • Per utilizzare il tipo di criteri e i valori dei criteri per creare o modificare i criteri di un filtro, consulta FilterCriteriaBuilder.withCriteria(criteria, args).

    Puoi utilizzare questo metodo per qualsiasi tipo di filtro.

    const ss = SpreadsheetApp.getActiveSheet();
    const filter = ss.getFilter();
    // Gets the values of the boolean criteria and logs them. For example, if the
    // boolean condition is whenNumberGreaterThan(10), then the logged value is 10.
    const criteriaValues = filter.getColumnFilterCriteria(2).getCriteriaValues();
    console.log(criteriaValues);

    Invio

    Object[]: un array di argomenti appropriati al tipo di criteri booleani. Il numero di argomenti e il relativo tipo corrispondono al metodo when...() corrispondente della classe FilterCriteriaBuilder.


getHiddenValues()

Restituisce i valori nascosti dal filtro.

Utilizza questi criteri con i filtri nei fogli Grid, il tipo di foglio predefinito. Restituisce null se chiami questo metodo per altri tipi di filtri.

const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Gets the filter criteria applied to column B, then gets the hidden values.
const filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues();
// Logs the hidden values.
console.log(filterCriteria);

Invio

String[]: un array di valori nascosti dal filtro.


getVisibleBackgroundColor()

Restituisce il colore di sfondo utilizzato come criterio di filtro. Le celle con questo colore di sfondo rimangono visibili.

Utilizza questi criteri con i filtri nei fogli Grid, il tipo di foglio predefinito. Restituisce null se chiami questo metodo per altri tipi di filtri.

const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
// Logs the background color that column B is filtered by as a hexadecimal
// string.
const filter = range.getFilter();
const color = filter.getColumnFilterCriteria(2)
                  .getVisibleBackgroundColor()
                  .asRgbColor()
                  .asHexString();
console.log(color);

Invio

Color: il colore di sfondo utilizzato come criterio di filtro.


getVisibleForegroundColor()

Restituisce il colore di primo piano utilizzato come criterio di filtro. Le celle con questo colore in primo piano rimangono visibili.

Utilizza questi criteri con i filtri nei fogli Grid, il tipo di foglio predefinito. Restituisce null se chiami questo metodo per altri tipi di filtri.

const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
// Logs the foreground color that column B is filtered by as a hexadecimal
// string.
const filter = range.getFilter();
const color = filter.getColumnFilterCriteria(2)
                  .getVisibleForegroundColor()
                  .asRgbColor()
                  .asHexString();
console.log(color);

Invio

Color: il colore di primo piano utilizzato come criterio di filtro.


getVisibleValues()

Restituisce i valori visualizzati dal filtro della tabella pivot.

Questi criteri si applicano solo ai filtri delle tabelle pivot non collegate a un database. Restituisce un array vuoto per altri tipi di filtri.

const ss = SpreadsheetApp.getActiveSheet();
// Gets the first pivot table on the sheet, then gets the visible values of its
// first filter.
const pivotTable = ss.getPivotTables()[0];
const pivotFilterValues =
    pivotTable.getFilters()[0].getFilterCriteria().getVisibleValues();
// Logs the visible values.
console.log(pivotFilterValues);

Invio

String[]: un array di valori visualizzati dal filtro della tabella pivot.