La fonction FILTER est l'un des outils les plus utiles de Google Sheets. Elle permet d'extraire dynamiquement les lignes d'un tableau qui répondent à vos critères, sans jamais toucher aux données d'origine et sans manipuler manuellement les filtres du menu. Ce tutoriel complet vous explique la syntaxe, les conditions multiples ET et OU, la sélection de colonnes, les combinaisons avec SORT, UNIQUE et COUNTA, plus de quinze exemples concrets, un cas pratique de tableau de bord et les erreurs courantes à éviter.
Pourquoi utiliser la fonction FILTER
Trois raisons principales justifient d'adopter FILTER plutôt que le filtre manuel du menu Données :
- Résultat dynamique : la plage filtrée se recalcule automatiquement à chaque modification des données sources.
- Aucun effet sur les autres utilisateurs : vous ne masquez pas de lignes pour le reste de votre équipe, l'affichage du classeur partagé reste intact.
- Composable : la formule s'imbrique dans
SORT,UNIQUE,COUNTAouARRAYFORMULApour créer des traitements complets.
Les cas d'usage typiques sont les tableaux de bord filtrés par date ou par pays, les listes déroulantes filtrées et les rapports automatiques qui se mettent à jour sans intervention manuelle.
Syntaxe de base et règle d'alignement
La syntaxe de la fonction est la suivante :
=FILTER(plage, condition1, [condition2], ...)
- plage : la zone source à filtrer, par exemple
A2:D1000. - condition1 : une expression booléenne de même hauteur que la plage source.
- condition2… : des conditions additionnelles cumulées par un ET logique.
L'exemple le plus simple extrait toutes les lignes de A2:D100 où la colonne B vaut « France » :
=FILTER(A2:D100, B2:B100 = "France")
La règle critique à retenir : la plage source et chaque condition doivent avoir la même hauteur, c'est-à-dire le même nombre de lignes. Sinon, la formule renvoie une erreur #N/A ou #REF!.
Conseil : pour éviter tout bug d'alignement, utilisez des plages identiques sur la source et la condition, ou des colonnes entières comme A:D et B:B.
Les conditions de filtrage
FILTER accepte plusieurs types de conditions selon la nature de vos données.
Filtre numérique et texte exact
Pour les nombres, utilisez les opérateurs >, <, >=, <=, = et <> (différent de). Pour le texte, placez la valeur entre guillemets doubles :
=FILTER(A2:D, D2:D > 1000)
=FILTER(A2:D, B2:B = "France")
Filtre texte partiel
FILTER ne gère pas l'opérateur LIKE. Pour rechercher une valeur partielle, combinez avec REGEXMATCH ou SEARCH :
=FILTER(A2:D, REGEXMATCH(C2:C, "(?i)saas"))
=FILTER(A2:D, ISNUMBER(SEARCH("saas", C2:C)))
Le préfixe (?i) rend l'expression régulière insensible à la casse.
Filtre par date et cellules vides
Pour les dates, employez la fonction DATE(année, mois, jour) afin de garantir une compatibilité totale :
=FILTER(A2:D, A2:A >= DATE(2026,1,1), A2:A <= DATE(2026,12,31))
Pour ne garder que les lignes non vides d'une colonne, testez l'inégalité avec une chaîne vide :
=FILTER(A2:D, A2:A <> "")
Conditions multiples : ET et OU
La combinaison de plusieurs critères est l'un des points les plus mal compris de FILTER. Voici la méthode correcte.
L'opérateur ET
Pour cumuler des conditions, ajoutez-les simplement en arguments successifs. Les deux conditions doivent alors être vraies, c'est une logique ET implicite :
=FILTER(A2:D, B2:B = "France", D2:D > 1000)
L'opérateur OU
FILTER n'accepte qu'un seul argument condition par ligne logique. Pour un OU, utilisez l'addition booléenne entre parenthèses. Le signe plus joue le rôle de OU, car VRAI + FAUX donne 1, ce qui conserve la ligne :
=FILTER(A2:D, (B2:B = "France") + (B2:B = "Espagne"))
Combiner ET et OU
Pour mélanger les deux logiques, le signe plus correspond au OU et l'astérisque au ET. Encadrez toujours chaque sous-condition de parenthèses :
=FILTER(A2:D, ((B2:B = "France") + (B2:B = "Espagne")) * (D2:D > 1000))
Sélectionner des colonnes et combiner FILTER
Par défaut, FILTER ramène toutes les colonnes de la plage source. Pour limiter le résultat aux colonnes voulues, construisez une plage virtuelle avec des accolades, où la virgule place les colonnes côte à côte :
=FILTER({A2:A, C2:C}, B2:B = "France")
=CHOOSECOLS(FILTER(A2:D, B2:B="France"), 1, 3)
La véritable puissance de FILTER vient de sa capacité à s'imbriquer dans d'autres fonctions. Voici les combinaisons les plus utiles :
| Combinaison | Formule | Résultat |
|---|---|---|
| Tri du résultat | =SORT(FILTER(A2:D, B2:B="France"), 4, FALSE) | Filtre puis trie par la 4ᵉ colonne, en décroissant |
| Déduplication | =UNIQUE(FILTER(B2:B, D2:D>1000)) | Liste unique des valeurs où le chiffre d'affaires dépasse 1000 |
| Comptage | =COUNTA(FILTER(A2:A, B2:B="France")) | Nombre de lignes correspondant au filtre |
| Somme filtrée | =SUM(FILTER(D2:D, B2:B="France")) | Total du chiffre d'affaires pour le filtre |
Quinze exemples concrets de FILTER
Voici une série d'exemples progressifs, du plus simple au plus avancé, à adapter directement à vos propres tableaux.
- Filtre simple :
=FILTER(A2:D, B2:B = "France") - Filtre numérique :
=FILTER(A2:D, D2:D > 5000) - Filtre ET :
=FILTER(A2:D, B2:B = "France", D2:D > 1000) - Filtre OU à deux valeurs :
=FILTER(A2:D, (B2:B="France") + (B2:B="Italie")) - Filtre OU à trois valeurs :
=FILTER(A2:D, (B2:B="France")+(B2:B="Espagne")+(B2:B="Italie")) - Filtre par plage de dates :
=FILTER(A2:D, A2:A >= DATE(2026,1,1), A2:A <= DATE(2026,3,31)) - Filtre texte partiel :
=FILTER(A2:D, REGEXMATCH(C2:C, "(?i)saas")) - Filtre piloté par une cellule :
=FILTER(A2:D, B2:B = F1) - Filtre puis tri :
=SORT(FILTER(A2:D, B2:B = "France"), 4, FALSE) - Filtre puis top 10 :
=ARRAY_CONSTRAIN(SORT(FILTER(A2:D, B2:B="France"), 4, FALSE), 10, 4) - Filtre puis valeurs uniques :
=UNIQUE(FILTER(B2:B, D2:D > 1000)) - Filtre puis somme :
=SUM(FILTER(D2:D, B2:B = "France")) - Filtre puis moyenne :
=AVERAGE(FILTER(D2:D, B2:B = "France")) - Filtre des lignes non vides :
=FILTER(A2:D, A2:A <> "") - Filtre avec colonne calculée :
=FILTER({A2:A, D2:D, ARRAYFORMULA(D2:D * 1.2)}, B2:B = "France")
Passez de la formule à la maîtrise du tableur
Notre formation vous apprend FILTER, QUERY, ARRAYFORMULA et tout Google Sheets avec un formateur dédié, à distance ou en présentiel. Démarrage immédiat, paiement en 3× sans frais.
Cas pratique : un tableau de bord des ventes filtré
Imaginons une feuille Ventes de 8 000 lignes, avec les colonnes Date, Pays, Catégorie et Chiffre d'affaires. L'objectif est un tableau de bord qui se met à jour selon un pays choisi dans une liste déroulante en cellule F1.
Le filtre principal récupère toutes les ventes du pays sélectionné, et deux indicateurs calculent le nombre de ventes et le chiffre d'affaires total :
=FILTER(Ventes!A:D, Ventes!B:B = F1)
=COUNTA(FILTER(Ventes!A:A, Ventes!B:B = F1))
=SUM(FILTER(Ventes!D:D, Ventes!B:B = F1))
Pour aller plus loin, un filtre avancé croise le pays avec une plage de dates renseignée en cellules G1 et H1 :
=FILTER(Ventes!A:D, Ventes!B:B = F1, Ventes!A:A >= G1, Ventes!A:A <= H1)
Dès que vous changez le pays ou les dates, l'ensemble du tableau de bord se recalcule en temps réel, sans aucune manipulation supplémentaire.
Les cinq erreurs courantes à éviter
La plupart des problèmes rencontrés avec FILTER se rangent dans cinq catégories bien identifiées.
- Plages de tailles différentes :
=FILTER(A2:D100, B2:B200="France")renvoie#N/A. Alignez les hauteurs, par exempleA2:D100avecB2:B100. - OU mal écrit : le mot-clé
ORne fonctionne pas, car il retourne un seul booléen et non une matrice. Utilisez l'addition(B2:B="France") + (B2:B="Italie"). - Aucune correspondance : si aucune ligne ne satisfait la condition, FILTER renvoie
#N/A. Encapsulez la formule dans=IFERROR(FILTER(...), "Aucun résultat"). - Espaces invisibles : un espace insécable ou un espace de fin peut empêcher une correspondance. Nettoyez les valeurs avec
=FILTER(A2:D, TRIM(B2:B) = "France"). - Casse sensible :
"FRANCE"ne capture pas"France". Forcez l'insensibilité avecUPPER(B2:B)ou un regex(?i).
FILTER ou QUERY : quel choix ?
FILTER n'est pas la seule façon de filtrer dans Google Sheets. Voici comment situer chaque approche :
| Méthode | Avantage | Limite |
|---|---|---|
| FILTER (formule) | Dynamique, sans effet sur les autres utilisateurs | Plus complexe pour les conditions multiples |
| Filtre du menu Données | Rapide à appliquer | Modifie l'affichage pour tous |
| Vue filtrée (slicer) | Personnel, sans impact sur l'équipe | Manuel, non formulé |
| QUERY | Plus puissant avec GROUP BY et PIVOT | Syntaxe pseudo-SQL à apprendre |
La règle est simple : préférez FILTER pour un filtrage dynamique sans agrégation, et basculez sur QUERY dès que vous voulez regrouper ou trier sur plusieurs critères. Pour approfondir, consultez notre tutoriel sur la fonction QUERY, qui complète parfaitement FILTER pour l'analyse de données.
Se former pour maîtriser Google Sheets
FILTER est la porte d'entrée vers le filtrage formulé dynamique, mais en tirer toute la valeur, conditions booléennes, imbrications avec SORT et UNIQUE, interaction avec IMPORTRANGE, demande une montée en compétences structurée. C'est l'objet de notre formation Google Sheets certifiante, qui vous rend autonome sur le tableur, des fondamentaux jusqu'aux formules avancées.
Cette formation débouche sur une certification ICDL (Tableur) reconnue. Au tarif de 299 €, vous pouvez la suivre à distance ou en présentiel, avec un démarrage immédiat et un paiement en 3 fois sans frais. Pour poursuivre votre apprentissage, consultez aussi nos tutoriels sur la fonction IMPORTRANGE et sur la RECHERCHEV dans Sheets, qui prolongent ce panorama avec des cas concrets.



