Toutes les fonctionsDynamic arrays
FILTRE (FILTER) dans Excel
FILTRE (FILTER) expliquée avec sa syntaxe, trois exemples vérifiés, plusieurs critères, les plages propagées et les erreurs.
Syntaxe
FILTER(array, include, [if_empty])Exemple : =FILTER(A2:C100,B2:B100="Kitchen")
Disponible dans : Excel 2021+, Microsoft 365
FILTRE renvoie uniquement les lignes, ou les colonnes, d’une plage qui satisfont une condition, et les résultats se propagent dans les cellules inférieures : =FILTER(array, include, [if_empty]). Dans Microsoft 365 et Excel 2021 ou version ultérieure, elle remplace le filtrage manuel et de nombreuses formules matricielles INDEX/SMALL.
Quand l’utiliser
- Vous voulez une liste dynamique des lignes qui respectent une règle, par exemple toutes les commandes East ou toutes les factures supérieures à $1,000.
- Vous avez besoin de plusieurs correspondances issues d’une recherche, alors que VLOOKUP ne renvoie que la première.
- Vous transmettez un sous-ensemble propre à une autre fonction, telle que SUM, TEXTJOIN ou SORT.
- Vous créez des tableaux de bord qui se mettent à jour automatiquement lorsque les données changent.
Arguments
- array. La plage ou le tableau dont il faut renvoyer des lignes, ou des colonnes. Le résultat se propage dans les cellules situées en dessous et à droite.
- include. Un tableau de valeurs TRUE/FALSE de même hauteur qu’array, par exemple (B2:B20>100). Combinez les conditions avec * pour AND et + pour OR.
- if_empty. Facultatif. Ce qui doit s’afficher si aucun élément ne satisfait le test, par exemple "No results". Sans cet argument, la formule renvoie #CALC!.
- Zone de propagation. Laissez vides les cellules sous la formule, sinon le résultat est #SPILL!.
Exemples expliqués
Montants d’une région
| A | B | C |
|---|
| 1 | Region | Rep | Amount |
|---|
| 2 | East | Ana | 1200 |
|---|
| 3 | West | Ben | 850 |
|---|
| 4 | East | Cara | 430 |
|---|
| 5 | North | Dan | 970 |
|---|
| 6 | West | Eli | 1500 |
|---|
| 7 | East | Ana | 610 |
|---|
Formule : E2: =FILTER(C2:C7,A2:A7="East")
Résultat : se propage dans 1200, 430, 610
Le test include A2:A7="East" vaut TRUE pour trois lignes : trois montants se propagent donc vers le bas à partir de E2.
Noms associés à un montant élevé
| A | B | C |
|---|
| 1 | Region | Rep | Amount |
|---|
| 2 | East | Ana | 1200 |
|---|
| 3 | West | Ben | 850 |
|---|
| 4 | East | Cara | 430 |
|---|
| 5 | North | Dan | 970 |
|---|
| 6 | West | Eli | 1500 |
|---|
| 7 | East | Ana | 610 |
|---|
Formule : E2: =FILTER(B2:B7,C2:C7>900)
Résultat : se propage dans Ana, Dan, Eli
Renvoie le Rep de chaque ligne dont Amount dépasse 900.
Message clair en l’absence de correspondance
| A | B | C |
|---|
| 1 | Region | Rep | Amount |
|---|
| 2 | East | Ana | 1200 |
|---|
| 3 | West | Ben | 850 |
|---|
| 4 | East | Cara | 430 |
|---|
| 5 | North | Dan | 970 |
|---|
| 6 | West | Eli | 1500 |
|---|
| 7 | East | Ana | 610 |
|---|
Formule : E2: =FILTER(A2:A7,C2:C7>5000,"None")
Résultat : None
Le troisième argument remplace l’erreur #CALC! par votre texte.
À vous de jouer
Modifiez une formule ou une valeur dans la feuille d’exemple et observez le résultat.
Formule en F2 : =FILTER(B2:D7,A2:A7="East")
Résultat en F2 : Pen
Erreurs et vérifications
- #SPILL!. Un élément bloque la plage de résultats. Effacez les cellules situées sous la formule et à sa droite.
- #CALC!. Aucune ligne ne satisfait la condition et vous n’avez fourni aucun texte if_empty. Ajoutez le troisième argument.
- #VALUE!. Le tableau include n’a pas la même hauteur que le tableau filtré.
- #NAME?. Excel 2019 et les versions antérieures ne proposent pas FILTRE.
Fonctions associées
Questions fréquentes
- Comment filtrer selon plusieurs conditions ?
- Multipliez les conditions pour AND : (A2:A7="East")*(C2:C7>500). Additionnez-les pour OR.
- FILTRE peut-elle renvoyer plusieurs colonnes ?
- Oui. Fournissez un tableau à plusieurs colonnes tel que A2:C7 : le résultat se propage dans toutes les colonnes.
- FILTRE se met-elle à jour automatiquement ?
- Oui. Elle est recalculée lorsque les données sources changent.
- Quelle différence existe-t-il entre FILTRE et le bouton Filtrer ?
- Le bouton masque des lignes sur place. FILTRE crée une liste distincte pilotée par une formule et laisse la source intacte.
Autres fonctions de la catégorie Dynamic arrays