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é à la colonne C et copie les critères 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 que le filtre masque.
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 ce critère 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 ce critère 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 filtrage 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.

Cette méthode permet souvent d'ajouter des critères de condition booléennes à un filtre sans remplacer critères existants.

Vous pouvez utiliser cette méthode pour tout type de filtre. Si le critère de filtre n'est pas une valeur 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 booléen .


getCriteriaValues()

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

Cette méthode permet souvent d'ajouter des critères de condition booléennes à un filtre sans remplacer critères existants.

  • Pour obtenir le type de critère booléen, utilisez getCriteriaType().
  • Pour utiliser le type de critère et les valeurs de critère afin de créer ou de modifier un critère de filtre, voir 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 approprié 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é 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 sont conservées visible.

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 sont conservées visible.

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 appliqués aux 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 de valeurs affiché par le filtre du tableau croisé dynamique.