La fonction FILTER dans Excel
FILTRE (Anglais: FILTER) renvoie chaque ligne qui correspond à une condition, sous forme de liste dynamique : toutes les commandes du Nord, toutes les factures ouvertes, chaque produit sous son seuil de réapprovisionnement. Si vous modifiez les données, la liste se met à jour toute seule.
Le résultat se déverse : vous saisissez une seule formule, et les valeurs correspondantes remplissent les cellules situées en dessous. FILTRE (Anglais: FILTER) est disponible dans Excel 2021, Excel 2024 et Microsoft 365.
Syntaxe
=FILTER(array, include, [if_empty])
| Argument | Ce que cela signifie |
|---|---|
| array | La plage dont il faut renvoyer les valeurs : une colonne ou plusieurs. |
| include | La condition, écrite sur une plage de même hauteur, par exemple B2:B6="Nord". |
| if_emptyfacultatif | Ce qu'il faut afficher si rien ne correspond, au lieu de #CALC!. |
Exemples
1. Toutes les commandes d'une région
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Commande | Région | Montant | Statut | Commandes du Nord | |
| 2 | 1001 | Nord | 250 | Payé | 1001 | |
| 3 | 1002 | Sud | 90 | Payé | 1003 | |
| 4 | 1003 | Nord | 420 | Ouvert | 1005 | |
| 5 | 1004 | Est | 130 | Payé | ||
| 6 | 1005 | Nord | 75 | Payé |
Une seule formule en F2 ; les deux autres résultats se déversent en F3 et F4.
2. Deux conditions : les multiplier
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Commande | Région | Montant | Statut | Nord, payé | |
| 2 | 1001 | Nord | 250 | Payé | 1001 | |
| 3 | 1002 | Sud | 90 | Payé | 1005 | |
| 4 | 1003 | Nord | 420 | Ouvert | ||
| 5 | 1004 | Est | 130 | Payé | ||
| 6 | 1005 | Nord | 75 | Payé |
Chaque condition donne VRAI ou FAUX pour chaque ligne ; les multiplier revient à dire « les deux ». La commande 1003 est du Nord mais encore ouverte, elle est donc exclue. Pour « l'un ou l'autre », additionnez-les avec + à la place.
3. Quand rien ne correspond
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Commande | Région | Montant | Statut | Commandes de l'Ouest | |
| 2 | 1001 | Nord | 250 | Payé | Aucun | |
| 3 | 1002 | Sud | 90 | Payé | ||
| 4 | 1003 | Nord | 420 | Ouvert | ||
| 5 | 1004 | Est | 130 | Payé | ||
| 6 | 1005 | Nord | 75 | Payé |
Il n'y a aucune commande de l'Ouest. Sans le troisième argument, le résultat serait #CALC!.
Erreurs courantes
Erreur #SPILL!. Quelque chose gêne les cellules que le résultat doit remplir.
Correction : Videz les cellules situées sous la formule et à sa droite.
Utiliser AND() ou OR() dans la condition. Elles combinent des plages entières en une seule valeur VRAI ou FAUX.
Correction : Multipliez les conditions pour « et », et additionnez-les pour « ou ».
Erreur #VALUE!. La plage de la condition n'a pas la même hauteur que la matrice.
Correction : Faites en sorte que les deux couvrent les mêmes lignes, par exemple A2:A6 et B2:B6.
Questions fréquemment posées
FILTER peut-elle renvoyer des lignes entières ?
Oui. Donnez-lui plusieurs colonnes, par exemple =FILTRE(A2:D6;B2:B6="Nord"), et le résultat se déverse vers la droite et vers le bas.
Comment trier la liste filtrée ?
Placez-la dans TRIER (Anglais: SORT) : =TRIER(FILTRE(C2:C6;B2:B6="Nord");1;-1).
Fonctions associées
- SORTSORT renvoie une copie triée d'une plage, qui se met à jour quand les données changent, par ordre croissant ou décroissant, selon n'importe quelle colonne.
- UNIQUEUNIQUE renvoie chaque valeur d'une liste une seule fois, en supprimant les doublons grâce à une formule qui se met à jour toute seule.
- XLOOKUPXLOOKUP recherche dans une colonne ou une ligne et renvoie la valeur correspondante d'une autre, dans n'importe quel sens, avec un message « introuvable » intégré.
- SUMIFSSUMIFS additionne les valeurs qui remplissent plusieurs conditions à la fois, comme les commandes payées d'une région.