La fonction FILTRE d’Excel permet d’extraire automatiquement les lignes ou les colonnes qui respectent un ou plusieurs critères. Contrairement au filtre disponible dans l’onglet Données, elle ne masque pas les autres lignes du tableau : elle crée une nouvelle plage contenant uniquement les résultats recherchés.

Cette formule est particulièrement utile pour construire des extractions dynamiques, des tableaux de synthèse ou des listes qui s’actualisent lorsque les données sources évoluent. Elle peut également être associée à d’autres fonctions matricielles comme TRIER, TRIERPAR ou UNIQUE.

À quoi sert la fonction FILTRE dans Excel ?

La fonction FILTRE analyse une plage de données et renvoie toutes les lignes pour lesquelles une condition est vraie. Elle se distingue ainsi des fonctions de recherche classiques : RECHERCHEX renvoie généralement une valeur correspondant à un élément recherché, tandis que FILTRE peut restituer plusieurs lignes et plusieurs colonnes.

Le résultat est une matrice dynamique. La formule est saisie dans une seule cellule, puis Excel réserve automatiquement le nombre de cellules nécessaire pour afficher les résultats. Il n’est donc pas nécessaire de recopier la formule ou de la valider avec Ctrl + Maj + Entrée.

Lorsque de nouvelles données sont ajoutées à la source, le résultat peut également s’agrandir automatiquement si la formule s’appuie sur un tableau Excel et des références structurées.

Quelle est la syntaxe de la formule FILTRE ?

La syntaxe de la fonction est la suivante :

Syntaxe de la fonction FILTRE

=FILTRE(matrice;inclure;[si_vide])

Argument Obligatoire Rôle
matrice Oui Plage contenant les données à renvoyer.
inclure Oui Condition produisant une série de valeurs VRAI ou FAUX.
si_vide Non Valeur à afficher lorsque aucune donnée ne respecte la condition.

L’argument inclure doit avoir une dimension compatible avec la matrice. Pour filtrer les lignes d’une plage contenant huit lignes, la condition doit elle aussi produire huit résultats VRAI ou FAUX.

Exemple de données utilisé avec la fonction FILTRE

Les exemples suivants utilisent un tableau de ventes placé dans la plage A1:F9. Les en-têtes sont situés sur la ligne 1 et les données dans la plage A2:F9.

A B C D E F
1 Référence Commercial Région Produit Date Montant
2 V-001 Alice Est Classeur 05/01/2026 1 250 €
3 V-002 Karim Ouest Écran 09/01/2026 2 100 €
4 V-003 Sophie Est Clavier 14/01/2026 780 €
5 V-004 Alice Nord Écran 03/02/2026 1 650 €
6 V-005 Karim Est Écran 11/02/2026 2 450 €
7 V-006 Sophie Ouest Classeur 18/02/2026 920 €
8 V-007 Alice Est Clavier 08/03/2026 1 380 €
9 V-008 Karim Sud Écran 19/03/2026 1 980 €

Utiliser la fonction FILTRE avec un seul critère

Pour extraire toutes les ventes de la région Est, la formule peut être écrite directement avec le texte recherché :

Filtrer les ventes de la région Est

=FILTRE(A2:F9;C2:C9="Est";"Aucun résultat")

La plage A2:F9 correspond aux données à renvoyer. L’expression C2:C9="Est" compare chaque cellule de la colonne C avec le texte « Est ».

Cette comparaison renvoie VRAI pour les lignes 2, 4, 6 et 8, car la colonne C contient « Est », et FAUX pour les autres lignes. La fonction FILTRE conserve donc uniquement les quatre lignes correspondantes.

La fonction conserve les lignes 2, 4, 6 et 8, pour lesquelles la valeur de la colonne C est égale à « Est ».

Utiliser une cellule comme critère

Il est généralement préférable de placer le critère dans une cellule. Si la cellule H2 contient le nom de la région, la formule devient :

Utiliser un critère modifiable

=FILTRE(A2:F9;C2:C9=H2;"Aucun résultat")

Le résultat est immédiatement recalculé lorsque la valeur de H2 change. Pour sécuriser la saisie, il est possible de créer une liste déroulante dans Excel et de l’utiliser comme critère de la formule.

Utiliser la formule FILTRE avec plusieurs critères

La fonction FILTRE n’utilise pas directement les fonctions ET et OU pour combiner des plages de conditions. Elle s’appuie sur des opérations matricielles :

  • la multiplication * correspond à une condition ET
  • l’addition + correspond à une condition OU

Appliquer plusieurs conditions ET

Supposons que la cellule H2 contienne la région « Est » et que la cellule H3 contienne le montant minimal de 1 000 €. La formule suivante conserve uniquement les ventes qui respectent simultanément les deux conditions :

Filtrer sur une région et un montant minimal

=FILTRE(A2:F9;(C2:C9=H2)*(F2:F9>=H3);"Aucun résultat")

Chaque comparaison renvoie une série de VRAI et de FAUX. Lors de la multiplication, Excel convertit VRAI en 1 et FAUX en 0. Une ligne est conservée uniquement lorsque les deux conditions produisent 1.

Dans notre exemple, les lignes 2, 6 et 8 sont conservées. La ligne 4 appartient bien à la région Est, mais son montant de 780 € est inférieur au seuil défini.

Appliquer plusieurs conditions OU

Pour conserver les ventes de la région Est ou celles portant sur le produit Écran, avec la région placée en H2 et le produit en H3, la formule devient :

Filtrer sur une région ou un produit

=FILTRE(A2:F9;((C2:C9=H2)+(D2:D9=H3))>0;"Aucun résultat")

L’addition renvoie 0 lorsqu’aucune condition n’est respectée, 1 lorsqu’une seule est vraie et 2 lorsque les deux le sont. Le test >0 transforme ce résultat en une matrice logique directement exploitable par FILTRE.

Combiner des groupes de conditions

Les opérateurs peuvent être combinés. Pour extraire les ventes réalisées par Alice ou Karim dans la seule région Est, la formule est :

Combiner les opérateurs ET et OU

=FILTRE(A2:F9;((B2:B9="Alice")+(B2:B9="Karim"))*(C2:C9="Est");"Aucun résultat")

Les parenthèses sont importantes : elles permettent d’évaluer d’abord les deux commerciaux, puis d’appliquer la condition portant sur la région.

Filtrer des dates avec la fonction FILTRE

Les dates Excel étant enregistrées sous forme de nombres, elles peuvent être comparées avec les opérateurs classiques. Si H2 contient la date de début et H3 la date de fin, la formule suivante extrait les ventes comprises dans la période :

Extraire les ventes comprises entre deux dates

=FILTRE(A2:F9;(E2:E9>=H2)*(E2:E9<=H3);"Aucune vente sur cette période")

Les cellules H2 et H3 doivent contenir de véritables dates Excel. Une date enregistrée comme texte peut provoquer un résultat incorrect, même si son affichage semble identique.

Filtrer les cellules contenant un texte

Une comparaison comme D2:D9=H2 recherche une correspondance exacte. Pour filtrer les produits dont le nom contient seulement une partie du texte recherché, il faut combiner FILTRE, CHERCHE et ESTNUM :

Rechercher un texte contenu dans une cellule

=FILTRE(A2:F9;ESTNUM(CHERCHE(H2;D2:D9));"Aucun produit trouvé")

CHERCHE renvoie la position du texte lorsqu’il est trouvé et une erreur dans le cas contraire. ESTNUM transforme ces résultats en valeurs VRAI ou FAUX utilisables par FILTRE.

La fonction CHERCHE ne distingue pas les majuscules des minuscules. Pour une recherche sensible à la casse, elle peut être remplacée par TROUVE.

Utiliser FILTRE avec un tableau Excel

Les plages fixes comme A2:F9 conviennent à un exemple, mais elles deviennent insuffisantes lorsque de nouvelles lignes sont ajoutées régulièrement. La solution consiste à convertir la source en tableau Excel, puis à utiliser des références structurées.

Si le tableau est nommé Ventes, la formule devient :

Filtrer un tableau avec une référence structurée

=FILTRE(Ventes;Ventes[Région]=H2;"Aucun résultat")

La référence Ventes s’agrandit automatiquement lorsque des lignes sont ajoutées au tableau source. La plage filtrée reste ainsi à jour sans modifier la formule.

La formule FILTRE doit toutefois être placée en dehors du tableau Excel. Une formule matricielle dynamique ne peut pas se propager à l’intérieur d’un tableau structuré.

Associer FILTRE aux autres fonctions dynamiques d’Excel

FILTRE peut être imbriquée dans d’autres fonctions pour préparer directement le résultat final.

Trier les résultats de la fonction FILTRE

La formule suivante extrait les ventes de la région indiquée en H2, puis les trie selon la sixième colonne, du montant le plus élevé au plus faible :

Filtrer puis trier les résultats

=TRIER(FILTRE(A2:F9;C2:C9=H2;"Aucun résultat");6;-1)

Le fonctionnement détaillé du tri dynamique sera présenté dans le tutoriel consacré à la fonction TRIER dans Excel. Lorsque le tri doit reposer sur une plage différente de celle renvoyée, il est également possible d’utiliser la fonction TRIERPAR.

Extraire une liste sans doublons

Pour obtenir la liste des produits vendus dans la région indiquée en H2, sans afficher plusieurs fois le même produit, FILTRE peut être placée dans UNIQUE :

Filtrer puis supprimer les doublons

=UNIQUE(FILTRE(D2:D9;C2:C9=H2;""))

La fonction UNIQUE Excel reçoit uniquement les produits correspondant à la région et élimine les doublons de la matrice obtenue.

Rendre une formule complexe plus lisible

Lorsque les mêmes plages ou conditions sont utilisées plusieurs fois, LET permet de leur attribuer un nom à l’intérieur de la formule :

Nommer les éléments de la formule

=LET(donnees;A2:F9;condition;C2:C9=H2;FILTRE(donnees;condition;"Aucun résultat"))

Cette écriture ne change pas le résultat, mais elle facilite la lecture et la maintenance d’une formule plus longue. Le principe sera détaillé dans le tutoriel sur la fonction LET d’Excel.

Aller plus loin avec les fonctions Excel
La fonction FILTRE permet de construire des extractions dynamiques adaptées à de nombreux fichiers professionnels. Pour apprendre à combiner ces fonctions et à structurer des tableaux plus fiables, DOPHIS propose une formation Excel sur les fonctions avancées.

Pourquoi la fonction FILTRE renvoie-t-elle une erreur ?

Erreur #PROPAGATION!

La fonction FILTRE doit disposer d’un espace suffisant pour afficher tous ses résultats. L’erreur #PROPAGATION! apparaît notamment lorsqu’une cellule non vide, une cellule fusionnée ou un autre tableau occupe la future zone de résultat.

Sélectionner la cellule contenant l’erreur permet d’identifier la plage que la formule cherche à utiliser. Il faut ensuite supprimer ou déplacer les éléments qui bloquent cette zone.

Erreur #CALC!

Lorsque aucune ligne ne respecte la condition et que l’argument si_vide a été omis, Excel peut renvoyer #CALC!. Pour éviter cette erreur, renseignez toujours le troisième argument :

=FILTRE(A2:F9;C2:C9=H2;"Aucun résultat")

Une chaîne vide peut également être utilisée :

=FILTRE(A2:F9;C2:C9=H2;"")

Erreur #VALEUR!

L’argument inclure doit posséder la même hauteur que la matrice lorsque les lignes sont filtrées. La formule suivante est incorrecte, car la matrice contient huit lignes alors que la condition n’en contient que sept :

=FILTRE(A2:F9;C2:C8="Est";"Aucun résultat")

Une erreur présente dans la plage utilisée comme condition peut également être transmise au résultat. Il faut alors corriger l’erreur source ou la traiter avant d’exécuter FILTRE.

Erreur #REF! avec un autre classeur

Les tableaux dynamiques liés à un autre classeur ne sont pas entièrement pris en charge lorsque le fichier source est fermé. Une formule FILTRE utilisant une plage située dans un autre classeur peut alors renvoyer #REF! lors de son actualisation.

Pour conserver ce type de liaison, le classeur source doit rester ouvert. Pour un traitement récurrent entre plusieurs fichiers, une autre méthode d’importation peut être plus adaptée.

Erreur #NOM?

L’erreur #NOM? peut indiquer que la version d’Excel utilisée ne reconnaît pas la fonction. FILTRE est notamment disponible dans Microsoft 365, Excel 2021 et Excel 2024. Elle n’est pas disponible nativement dans Excel 2016 ou Excel 2019.

Comment exploiter la plage de résultats de FILTRE ?

Si la formule est saisie en J2, l’expression J2# désigne l’ensemble de la plage propagée. Cette référence s’adapte au nombre de lignes et de colonnes actuellement renvoyées.

Il est ainsi possible de compter le nombre de lignes obtenues avec :

=LIGNES(J2#)

La référence propagée peut également alimenter une autre formule, une validation de données ou un graphique dynamique. Elle évite de définir manuellement une plage suffisamment grande pour accueillir tous les résultats possibles.

Questions fréquentes sur la fonction FILTRE

Pourquoi la fonction FILTRE n’est-elle pas disponible dans mon Excel ?

FILTRE appartient aux fonctions de tableaux dynamiques. Elle est disponible dans Microsoft 365, Excel 2021 et Excel 2024, mais pas dans les versions perpétuelles plus anciennes comme Excel 2016 et Excel 2019.

Comment utiliser FILTRE avec plusieurs critères ?

Il faut multiplier les conditions pour appliquer un ET et les additionner pour appliquer un OU. Les parenthèses permettent de contrôler précisément l’ordre des opérations lorsque plusieurs groupes de critères sont combinés.

Comment afficher une cellule vide au lieu de #CALC! ?

Utilisez une chaîne vide dans le troisième argument de FILTRE :

=FILTRE(A2:F9;C2:C9=H2;"")

Quelle différence entre la fonction FILTRE et le filtre avancé ?

FILTRE est une formule matricielle dynamique qui crée une nouvelle plage de résultats et se recalcule automatiquement. Le filtre avancé est une commande de l’onglet Données qui utilise une zone de critères pour filtrer une liste ou copier ponctuellement les résultats vers un autre emplacement.

Peut-on combiner FILTRE avec TRIER ou UNIQUE ?

Oui. FILTRE peut être imbriquée dans TRIER pour classer les résultats ou dans UNIQUE pour supprimer les doublons. Ces associations permettent de construire des listes de synthèse entièrement dynamiques à partir des données sources.

Articles liés