Class FilterCriteria

Critèresde filtrage

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

Utilisations courantes

Copier des critères

L'exemple suivant récupère le filtre qui s'applique à la plage A1:C20, récupère 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 récupère 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()FilterCriteriaBuilderCopie ces critères de filtre et crée un générateur de critères que vous pouvez appliquer à un autre filtre.
getCriteriaType()BooleanCriteria|nullRenvoie le type booléen du critère, par exemple CELL_EMPTY.
getCriteriaValues()Object[]Renvoie un tableau d'arguments pour les critères booléens.
getHiddenValues()String[]Renvoie les valeurs que le filtre masque.
getVisibleBackgroundColor()Color|nullRenvoie la couleur d'arrière-plan utilisée comme critère de filtre.
getVisibleForegroundColor()Color|nullRenvoie la couleur de premier plan utilisée comme critère de filtre.
getVisibleValues()String[]Renvoie les valeurs affichées par le filtre du tableau croisé dynamique.

Documentation détaillée

copy()

Copie ces critères de filtre et crée un générateur 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 : un outil de création de critères de filtre basé sur ces critères de filtre.


getCriteriaType()

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

Les utilisateurs ont souvent recours à cette méthode 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|null : type de critère booléen ou null si le critère n'est 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.

Les utilisateurs ont souvent recours à cette méthode pour ajouter des critères de condition booléenne à un filtre sans remplacer les critères existants.

  • Pour obtenir le type de critère booléen, utilisez getCriteriaType().
  • Pour utiliser le type et les valeurs de critères afin de créer ou de modifier des critères de filtre, consultez 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 adapté au type de critère booléen. Le nombre d'arguments et leur type correspondent à la méthode when...() correspondante de la classe FilterCriteriaBuilder.


getHiddenValues()

Renvoie les valeurs que le filtre masque.

Utilisez ce critère avec des filtres dans les feuilles Grid, qui sont 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 que le filtre masque.


getVisibleBackgroundColor()

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

Utilisez ce critère avec des filtres dans les feuilles Grid, qui sont 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|null : couleur d'arrière-plan utilisée comme critère de filtre.


getVisibleForegroundColor()

Renvoie la couleur de premier plan utilisée comme critère de filtre. Les cellules avec cette couleur de premier plan restent visibles.

Utilisez ce critère avec des filtres dans les feuilles Grid, qui sont 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|null : couleur de premier plan utilisée comme critère de filtre.


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ées par le filtre du tableau croisé dynamique.