La fonctionFILTRE permet de filtrer une plage de données en fonction de critères que vous définissez.
Dans l’exemple suivant, nous avons utilisé la formule =FILTRE(A5:D20;C5:C20=H2;"") pour renvoyer tous les enregistrements pour Pomme, tel que sélectionné dans la cellule H2 et s’il n’y a pas de pommes, renvoyer une chaîne vide (« »).
Syntaxe
La fonction FILTRE filtre une matrice basée sur un tableau de valeur booléenne (vrai/faux).
=FILTRE(tableau; inclure; [si_vide])
| Argument | Description |
|---|---|
| matrice Obligatoire |
La matrice ou plage à trier |
| inclure Obligatoire |
Une matrice booléenne dont la hauteur ou largeur est identique à la matrice |
| [if_empty] Facultatif |
La valeur à renvoyer si toutes les valeurs dans la matrice incluse sont vides (filtre ne renvoie rien) |
Remarque
- Une matrice peut être considérée comme une ligne de valeurs, une colonne de valeurs ou une combinaison de lignes et colonnes de valeurs. Dans l’exemple ci-dessus, le tableau source pour notre formule FILTRE est la plage A5:D20.
- La fonction FILTRE renvoie une matrice qui débordera si c’est le résultat final d’une formule. Cela signifie qu’Excel crée dynamiquement la plage de tableau de dimension appropriée lorsque vous appuyez sur entrée. Si vos données de prise en charge se trouvent dans un tableau Excel, la matrice est automatiquement redimensionnée quand vous ajoutez ou supprimez des données dans votre plage de tableau si vous utilisez lesréférences structurées. Pour plus d’informations, consultez cet article sur comportement de matrice renversé.
- Si votre ensemble de données comporte le potentiel de renvoyer une valeur vide, utilisez le 3ème argument ([if_empty]). Sinon, une erreur #CALC ! se produit, car Excel ne prend actuellement pas en charge les tableaux vides.
- Si une valeur de l’argument include est une erreur (#N/A, #VALUE, etc.) ou ne peut pas être convertie en booléen, la fonction FILTER renvoie une erreur.
- La prise en charge par Excel des tableaux dynamiques entre des classeurs est limitée. Si vous fermez le classeur source, toutes les formules de tableau dynamique liées retournent une erreur #REF ! lorsqu’elles sont actualisées.
Exemples
FILTRE pour renvoyer plusieurs critères
Dans ce cas, nous utilisons l’opérateur de multiplication (*) pour retourner toutes les valeurs de notre plage matricielle (A5 :D20) qui ont des pommes ET se trouvent dans la région Est : =FILTER(A5 :D20,(C5 :C20=H1)*(A5 :A20=H2)," »).
FILTRE pour renvoyer plusieurs critères et trier
Dans ce cas, nous utilisons la fonction FILTER précédente avec la fonction SORT pour renvoyer toutes les valeurs de notre plage de tableaux (A5 :D20) qui ont des pommes ET se trouvent dans la région Est, puis trier les unités dans l’ordre décroissant : =SORT(FILTER(A5 :D20,(C5 :C20=H1)*(A5 :A20=H2)," »),4,-1)
Dans ce cas, nous utilisons la fonction FILTER avec l’opérateur d’addition (+) pour renvoyer toutes les valeurs de notre plage de tableaux (A5 :D20) qui ont des pommes OU se trouvent dans la région Est, puis trions les unités dans l’ordre décroissant : =SORT(FILTER(A5 :D20,(C5 :C20=H1)+(A5 :A20=H2)," »),4,-1).
Vous pouvez remarquer qu’aucune de ces fonctions n’a besoin de références absolues, car elles n’existent que dans une cellule, et étendent leurs résultats aux cellules adjacentes.
Vous avez besoin d’une aide supplémentaire ?
Vous pouvez toujours demander à un expert de la communauté technique Excel ou obtenir de l’aide dans les communautés.