Description
Utilisez cette fonction pour extraire les lignes d’une plage ou d’un tableau qui remplissent les conditions spécifiées.
Syntaxe
FILTER(tableau, include, [if_empty])
Les entrées
Cette fonction accepte l'argument suivant :
| Nom | Obligatoire | Description | Entrée valide |
|---|---|---|---|
réseau |
Oui | La plage ou le tableau à filtrer. | Une cellule, une plage de cellules, un tableau dynamique ou une formule dont le résultat est l’un de ces éléments. |
inclure |
Oui | Un tableau booléen ou une expression logique pour déterminer les lignes à renvoyer. | Une valeur logique (VRAI ou FAUX), un nombre (0 est FAUX, les autres nombres sont VRAIS), une référence à une cellule contenant l’une de ces valeurs ou une formule aboutissant à l’une de ces valeurs. |
if_empty |
Non | Valeur à renvoyer si aucune ligne ne correspond à la condition de filtrage. | Chaîne de texte à afficher si aucune ligne correspondante n’est trouvée. |
Exemples
Données d’échantillon
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Nom | Âge | Ville | Salaire |
| 2 | Jean | 35 | New York | 75000 |
| 3 | Alice | 28 | Chicago | 65000 |
| 4 | Bob | 42 | Los Angeles | 85000 |
| 5 | George | 22 | Denver | 55000 |
| 6 | Helen | 30 | Scottsdale | 71000 |
Exemples de formules
Les plages doivent correspondre ! Si vous utilisez plusieurs plages avec FILTRE, les valeurs des lignes doivent être les mêmes pour toutes les plages spécifiées dans l’expression de filtre.
| Cas d'utilisation | Formule | Résultat | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Créez un ensemble de données contenant tous les salariés de plus de 30 ans. | =FILTER(A1:D6, B1:B6>30) |
Cette formule examine le jeu de données (A1:D6) et extrait les lignes où l’Âge est supérieur à 30.
|
||||||||||||||||
| Créez un ensemble de données de tous les employés de plus de 50 ans et envoyez un message personnalisé s’il n’y en a pas. | =IFERROR(FILTER(A2:D6, B2:B6>50), "None") |
Cette formule utilise FILTER pour examiner l’ensemble de données (A2:D6) et extrait ensuite les lignes où l’Âge est supérieur à 50. Comme il n’y en a pas, cela génère une erreur, qui est traitée par IFERROR pour afficher la chaîne « None ». En utilisant l’ensemble de données ci-dessus, vous obtenez le résultat suivant :
|
||||||||||||||||
| Créez un ensemble de données de tous les employés de plus de 25 ans, triés par salaire dans l’ordre décroissant. | =SORT(FILTER(A2:D6, B2:B6>25), 4, -1) |
Cette formule utilise FILTER pour examiner l’ensemble de données (A1 :D6) et extrait ensuite les lignes où l’âge est supérieur à 25. TRIEZ (..., 4, -1), puis classez la liste filtrée par salaire (colonne 4) dans l’ordre décroissant. En utilisant l’ensemble de données ci-dessus, vous obtenez les résultats suivants :
|
||||||||||||||||
| Recherchez les salariés dont le salaire est supérieur au salaire moyen. | =FILTER(A2:D6, D2:D6> AVERAGE(D2:D6)) |
Cette formule détermine la MOYENNE des salaires (D2:D6) et utilise ensuite FILTER pour examiner le jeu de données (A2:D6) et extraire les lignes où le salaire est supérieur à la moyenne. En utilisant le tableau de données ci-dessus, vous obtenez le résultat suivant :
|
||||||||||||||||
| Identifiez les salariés qui ont moins de 30 ans ET qui gagnent plus de 60 000 euros. | =FILTER(A1:D6,(B1:B6<30)*(D1:D6>60000)) |
Cette formule détermine la MOYENNE des salaires (D2:D6) et utilise ensuite FILTER pour examiner le jeu de données (A2:D6) et extraire les lignes où le salaire est supérieur à la moyenne.
|
Notes
- Comme pour toutes les fonctions de tableau, la fonction FILTER permet d’afficher dynamiquement les résultats dans les cellules adjacentes, à partir de la cellule contenant la fonction FILTER.
- FILTRE :
- Prend en charge le filtrage complexe et multi-conditionnel.
- Retourne les lignes correspondant aux critères logiques spécifiés.
- Prend en charge les tests logiques multiples en utilisant* (« AND ») ou + (« OR »).
Par exemple, une formule permettant de filtrer une plage pour afficher les enregistrements dont les valeurs de la colonne B sont "Chocolate" ou "Coffee", serait :=FILTER(A2:C100, (B2:B100="Chocolate") + (B2:B100="Coffee")).
Astuces
- Si vous avez une ligne d’en-tête et que vous ne voulez pas que les en-têtes soient inclus, commencez vos valeurs de tableau une ligne plus bas (par exemple, dans l’ensemble de données ci-dessus, commencez par A2 plutôt que par A1).
- FILTRE peut être combiné avec d’autres fonctions, notamment :
- CHOOSEROWS : Affinez davantage les résultats filtrés.
- CHOOSECOLS : Sélectionnez des colonnes spécifiques à partir de données filtrées.
- SORT : Classez les résultats filtrés.
Fonctions connexes
Voici les autres fonctions de formule de tableau prises en charge dans les feuilles de calcul Workiva.