Class FilterCriteria

FilterCriteria

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

Utilisations courantes

Copier les critères

L'exemple suivant récupère le filtre qui s'applique à la plage A1:C20, obtient les critères appliqués à la colonne C et les copie dans la colonne B.
let ss = SpreadsheetApp.getActiveSheet();
let range = ss.getRange("A1:C20");
// Copies the filter criteria applied to column C.
let filter = range.getFilter();
let 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 masquée par le filtre.
let ss = SpreadsheetApp.getActiveSheet();
let range = ss.getRange("A1:C20");
let filter = range.getFilter();
// Gets the filter criteria applied to column B, then gets the hidden values.
let 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()BooleanCriteriaRenvoie 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 masquées par le filtre.
getVisibleBackgroundColor()ColorAffiche la couleur d'arrière-plan utilisée comme critère de filtre.
getVisibleForegroundColor()ColorAffiche 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.

let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
// Makes a copy of the filter criteria applied to column C.
let 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 filtre basé sur ce critère 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.

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 tout type de filtre. Si les critères de filtre ne sont pas une condition booléenne, renvoie null.

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

Renvois

BooleanCriteria : 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 ne comportent 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ère booléen, utilisez getCriteriaType().
  • Pour créer ou modifier un critère de filtre à l'aide du type et des valeurs de critère, consultez FilterCriteriaBuilder.withCriteria(criteria, args).

    Vous pouvez utiliser cette méthode pour tout type de filtre.

    let ss = SpreadsheetApp.getActiveSheet();
    let 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.
    let criteriaValues = filter.getColumnFilterCriteria(2).getCriteriaValues();
    console.log(criteriaValues);

    Renvois

    Object[] : tableau d'arguments adaptés 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 masquées par le filtre.

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

let ss = SpreadsheetApp.getActiveSheet();
let range = ss.getRange("A1:C20");
let filter = range.getFilter();
// Gets the filter criteria applied to column B, then gets the hidden values.
let 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 filtre. Les cellules avec cette couleur d'arrière-plan restent visibles.

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

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

Renvois

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


getVisibleForegroundColor()

Affiche 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 sur Grid feuilles, le type de feuille par défaut. Renvoie null si vous appelez cette méthode pour d'autres types de filtres.

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

Renvois

Color : 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.

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

Renvois

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