Class FilterCriteria

FiltreCritères

Utilisez cette classe pour obtenir des informations sur les critères des filtres existants ou pour les copier.

Utilisations courantes

Copier les critères

L'exemple suivant obtient le filtre qui s'applique à la plage A1:C20, obtient les critères appliqués à la colonne C et copie les critères dans la colonne 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);

Obtenir les valeurs masquées par le filtre

L'exemple suivant obtient le filtre qui s'applique à la plage donnée et consigne les valeurs de la colonne B que le filtre masque.
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);

Méthodes

MéthodeType renvoyéBrève description
copy()FilterCriteriaBuilderCopier ces critères de filtre et créer un outil de création de critères que vous pouvez appliquer à un autre filtre
getCriteriaType()BooleanCriteriaRenvoie le type booléen des critères, par exemple CELL_EMPTY.
getCriteriaValues()Object[]Renvoie un tableau d'arguments pour les critères booléens.
getHiddenValues()String[]Renvoie les valeurs masquées par le filtre.
getVisibleBackgroundColor()ColorAffiche la couleur d'arrière-plan utilisée comme critère de filtrage.
getVisibleForegroundColor()ColorAffiche la couleur de premier plan utilisée comme critère de filtrage.
getVisibleValues()String[]Renvoie les valeurs affichées par le filtre du tableau croisé dynamique.

Documentation détaillée

copy()

Copier ces critères de filtre et créer un outil de création de critères que vous pouvez appliquer à un autre filtre

Vous pouvez utiliser cette méthode avec n'importe quel type de filtre. Si vous utilisez un filtre de feuille, vous pouvez copier les critères dans une autre colonne.

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

Renvois

FilterCriteriaBuilder : outil de création de critères de filtrage basé sur ces critères.


getCriteriaType()

Renvoie le type booléen des critères, par exemple CELL_EMPTY. Pour en savoir plus sur les types de critères booléens, consultez l'énumération BooleanCriteria.

Cette méthode est souvent utilisée pour ajouter des critères de condition booléenne à un filtre sans remplacer les critères existants.

Vous pouvez utiliser cette méthode pour n'importe quel type de filtre. Si les critères de filtre ne sont pas une condition booléenne, renvoie 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);

Renvois

BooleanCriteria : type de critères booléens, ou null si les critères ne sont pas une condition booléenne.


getCriteriaValues()

Renvoie un tableau d'arguments pour les critères booléens. Certains types de critères booléens n'ont pas d'arguments et renvoient un tableau vide, par exemple CELL_NOT_EMPTY.

Cette méthode est souvent utilisée pour ajouter des critères de condition booléenne à un filtre sans remplacer les critères existants.

  • Pour obtenir le type de critères booléens, utilisez getCriteriaType().
  • Pour utiliser le type de critères et les valeurs de critères pour créer ou modifier des critères de filtrage, consultez la section FilterCriteriaBuilder.withCriteria(criteria, args).

    Vous pouvez utiliser cette méthode pour n'importe quel type de filtre.

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

    Renvois

    Object[] : tableau d'arguments approprié au type de critères booléens. Le nombre d'arguments et leur type correspondent à la méthode when...() correspondante de la classe FilterCriteriaBuilder.


getHiddenValues()

Renvoie les valeurs masquées par le filtre.

Utilisez ce critère avec des filtres sur les feuilles Grid, le type de feuille par défaut. Renvoie null si vous appelez cette méthode pour d'autres types de filtres.

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

Renvois

String[] : tableau de valeurs masquées par le filtre.


getVisibleBackgroundColor()

Affiche la couleur d'arrière-plan utilisée comme critère de filtrage. Les cellules avec cette couleur d'arrière-plan restent visibles.

Utilisez ce critère avec des filtres sur des feuilles Grid, le type de feuille par défaut. Renvoie null si vous appelez cette méthode pour d'autres types de filtres.

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

Renvois

Color : couleur d'arrière-plan utilisée comme critère de filtrage.


getVisibleForegroundColor()

Affiche la couleur de premier plan utilisée comme critère de filtrage. Les cellules de cette couleur de premier plan restent visibles.

Utilisez ce critère avec des filtres sur les feuilles Grid, le type de feuille par défaut. Renvoie null si vous appelez cette méthode pour d'autres types de filtres.

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

Renvois

Color : couleur de premier plan utilisée comme critère de filtrage.


getVisibleValues()

Renvoie les valeurs affichées par le filtre du tableau croisé dynamique.

Ce critère ne s'applique qu'aux filtres des tableaux croisés dynamiques qui ne sont pas connectés à une base de données. Renvoie un tableau vide pour les autres types de filtres.

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

Renvois

String[] : tableau de valeurs affiché par le filtre du tableau croisé dynamique.