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 ROWS, plus de quinze exemples concrets, un cas pratique de tableau de bord et les erreurs courantes à éviter.
Les formules de cette page sont écrites avec des paramètres régionaux anglophones : virgule entre les arguments, FALSE et TRUE, point décimal (1.2) et noms de fonctions en anglais. Dans une feuille réglée sur la France (Fichier > Paramètres), le séparateur devient le point-virgule, la décimale une virgule et les booléens FAUX et VRAI : par exemple =FILTER(A2:D100; B2:B100 = "France"). Dans les tableaux entre accolades, le séparateur de colonnes change aussi selon ces paramètres.
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,ROWSouARRAYFORMULApour 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.
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
Les conditions passées en arguments distincts se cumulent toujours en ET. 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 | =IFNA(ROWS(FILTER(A2:A, B2:B="France")), 0) | Nombre de lignes correspondant au filtre, 0 si aucune ligne (FILTER renvoie alors #N/A, que COUNTA compterait comme une valeur) |
| 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 à trier et filtrer vos données, la fonction QUERY et IMPORTRANGE, à votre rythme sur la plateforme, avec de la visio individuelle ou du présentiel selon la formule choisie.
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 les ventes du pays sélectionné entre deux dates renseignées en cellules G1 et H1. Les deux indicateurs reprennent exactement les mêmes conditions, pour compter le nombre de ventes et totaliser le chiffre d'affaires :
=FILTER(Ventes!A2:D, Ventes!B2:B = F1, Ventes!A2:A >= G1, Ventes!A2:A <= H1)
=IFERROR(ROWS(FILTER(Ventes!A2:A, Ventes!B2:B = F1, Ventes!A2:A >= G1, Ventes!A2:A <= H1)), 0)
=IFERROR(SUM(FILTER(Ventes!D2:D, Ventes!B2:B = F1, Ventes!A2:A >= G1, Ventes!A2:A <= H1)), 0)
Quand aucune vente ne correspond, FILTER renvoie une erreur : sans IFERROR, COUNTA la compterait comme une vente, d'où l'emploi de ROWS et de 0 par défaut. Dès que vous changez le pays ou les dates, les trois résultats se recalculent ensemble.
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. TRIM retire les espaces ordinaires en trop, mais pas l'espace insécable : remplacez-le d'abord, par exemple avec
=FILTER(A2:D, TRIM(SUBSTITUTE(B2:B, CHAR(160), " ")) = "France"). - Casse des lettres : pour exiger une correspondance exacte, majuscules comprises, utilisez
EXACT, qui compare les caractères, la casse et les espaces :=FILTER(A2:D, EXACT(B2:B, "France")). À l'inverse,REGEXMATCHtient compte de la casse : ajoutez(?i)pour l'ignorer.
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 | 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 agréger les données. 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 prépare la certification ICDL Tableur, inscrite au Répertoire Spécifique, dont le passage est inclus dans les quatre formules. Vous la suivez à votre rythme sur la plateforme, avec de la visio individuelle ou du présentiel selon la formule choisie, à partir de 299 € en formule Autonomie. Paiement en plusieurs fois possible, sous réserve d'éligibilité et d'acceptation du prestataire (3 fois sans frais avec Klarna, 4 fois sans frais avec PayPal). 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.




