Table des matières
Si la seule façon que vous connaissez de créer un filtre dans Google Sheets est l'outil standard, j'ai une surprise pour vous :) Venez explorer la fonction FILTER avec moi. Il y a beaucoup de formules toutes faites que vous pouvez emprunter, ainsi qu'un nouvel outil puissant qui complète énormément la panoplie d'outils de filtrage.
Il y a quelque temps, nous avons expliqué comment filtrer dans Google Sheets à l'aide de l'outil standard. Nous avons mentionné comment filtrer par valeur et par condition. Cependant, les feuilles de calcul contiennent toujours plus que ce que nous savons. Et cette fois, je vais explorer avec vous la fonction FILTRE de Google Sheets.
Vous ne le trouverez pas dans Excel, il vaut donc la peine de le vérifier.
Syntaxe de la fonction FILTER de Google Sheets
FILTER dans Google Sheets analyse vos données et renvoie les informations requises qui répondent à vos critères.
Contrairement au filtre standard de Google Sheets, la fonction ne fait rien avec vos données d'origine. Elle copie les lignes trouvées et les place là où vous construisez la formule.
La syntaxe est assez simple puisque chaque argument parle de lui-même :
=FILTRE(plage, condition1, [condition2, ...])- gamme est la donnée que vous voulez filtrer. Requis.
- condition1 est une colonne ou une ligne ainsi que les critères VRAI/FAUX auxquels elle doit répondre. Requis.
- condition2,... etc., représentent d'autres colonnes/lignes et/ou d'autres critères. Facultatif.
Note. Chaque condition doit être de la même taille que le gamme .
Remarque : si vous utilisez plusieurs conditions, elles doivent toutes concerner des colonnes ou des lignes. La fonction FILTRE de Google Sheets n'autorise pas les conditions mixtes.
Maintenant, avec ces notes à l'esprit, voyons comment les arguments prennent forme de différentes formules.
Comment utiliser la fonction FILTRE dans Google Sheets
Je vais vous montrer tous les exemples en filtrant un petit tableau où je suis quelques commandes :
Le tableau contient 20 lignes avec différents types de données, ce qui est parfait pour apprendre la fonction.
Comment filtrer par texte dans Google Sheets
Exemple 1 : Le texte est exactement
Tout d'abord, je vais demander à la fonction de ne montrer que les commandes qui sont en retard. J'entre la plage à filtrer - A1:E20 - et ensuite définir la condition - colonne E devrait être égal à Late :
=FILTER(A1:E20,E1:E20="Late")
Exemple 2 : Le texte n'est pas exactement
Je peux demander à la fonction de m'obtenir toutes les commandes sauf celles qui sont en retard. Pour cela, j'ai besoin d'un opérateur de comparaison spécial () qui signifie non égal à :
=FILTER(A1:E20,E1:E20"Late")
Exemple 3 : Le texte contient
J'aimerais maintenant vous montrer comment construire la fonction FILTRE de Google Sheets sur la base d'une correspondance partielle, ou en d'autres termes - si Le texte contient .
Avez-vous remarqué que les identifiants de commande de la colonne A contiennent des abréviations de pays à la fin ? Créons une formule pour récupérer uniquement les commandes qui ont été expédiées du Canada ( CA ).
Normalement, vous utiliseriez des caractères génériques pour cette tâche, mais lorsqu'il s'agit de la formule FILTER, ce sont les fonctions FIND et SEARCH qui fonctionnent de cette manière.
Conseil : si vous préférez éviter d'imbriquer d'autres fonctions lors du filtrage par simple occurrence de mots, n'hésitez pas à essayer le module complémentaire décrit à la fin.
Remarque : si la casse du texte est importante, utilisez FIND, sinon, choisissez SEARCH.
La fonction RECHERCHE fera parfaitement l'affaire dans mon exemple, puisque la casse du texte n'a aucune importance :
=SEARCH(search_for, text_to_search, [starting_at])- chercher est le texte que je veux trouver. Il est très important de l'entourer de guillemets : "ca" Requis.
- texte_à_rechercher est la plage à scanner pour le texte nécessaire. Requis. C'est A1:A20 pour moi.
- starting_at indique la position de départ de la recherche, c'est-à-dire le numéro du caractère à partir duquel il faut commencer la recherche. C'est complètement facultatif, mais je dois l'utiliser. En effet, tous les ID de commande sont composés de lettres et de chiffres, ce qui signifie qu'une paire de caractères CA peut se situer quelque part entre les deux. Le modèle identique de tous les ID me permet de rechercher CA à partir du 8ème caractère.
Après avoir rassemblé toutes ces pièces, j'obtiens le résultat souhaité :
=FILTER(A1:E20,SEARCH("ca",A1:A20,8))
Comment filtrer par date et heure dans Google Sheets
Le filtrage par date et heure nécessite également l'utilisation de fonctions supplémentaires. En fonction de vos critères, vous devrez peut-être intégrer le JOUR, le MOIS, l'ANNÉE, voire la DATE et l'HEURE dans la fonction principale FILTRE de Google Sheets.
Conseil : si vous n'êtes pas familier avec ces fonctions ou si vous vous trompez toujours dans les dates, ne vous inquiétez pas, l'outil décrit à la fin ne nécessite aucune fonction.
Exemple 1 : La date est
Pour obtenir les commandes qui sont dues le 9 janvier 2020, je vais inviter la fonction DATE :
=FILTER(A1:E20,C1:C20=DATE(2020,1,9))
Remarque : cela ne fonctionne que si vos cellules ne contiennent pas d'unités de temps avec la date (votre tableur peut les ajouter par défaut). Pour vous en assurer, sélectionnez une cellule et vérifiez ce qui apparaît dans la barre de formule :
Si l'heure est présente et qu'il n'est pas possible de la supprimer, vous devez utiliser soit QUERY, soit une condition plus complexe dans votre fonction FILTER de Google Sheets, comme ceci :
=FILTER(A1:E20,C1:C20>=DATE(2020,1,9),C1:C20
Conseil. Je parle des conditions multiples plus en détail ci-dessous.
Exemple 2 : La date contient
Si vous vous intéressez uniquement à un mois ou à une année en particulier, vous pouvez vous en sortir avec les fonctions MONTH et YEAR, en y plaçant directement la plage de dates ( C1:C20 ) et spécifiez le numéro du mois (ou de l'année) auquel il doit être égal ( =1 ) :
=FILTER(A1:E20,MONTH(C1:C20)=1)
Exemple 3 : La date est avant/après
Pour obtenir les données antérieures ou postérieures à la date spécifiée, vous aurez besoin de la fonction DATE et d'opérateurs de comparaison tels que supérieur à (> ;), supérieur ou égal à (>=), inférieur à (<;), inférieur ou égal à (<=).
Voici les commandes qui ont été reçues à partir du 1er janvier 2020 :
=FILTER(A1:E20,D1:D20>=DATE(2020,1,1))
Bien sûr, vous pouvez facilement remplacer DATE par MONTH ou YEAR ici. Le résultat ne sera pas différent de celui ci-dessus :
=FILTER(A1:E20,YEAR(D1:D20)>=2020)
Exemple 4. temps
Pour filtrer sur Google Sheets en fonction du temps, la procédure est exactement la même que pour les dates : vous utilisez la fonction supplémentaire TIME.
Par exemple, pour obtenir uniquement les jours dont l'horodatage est postérieur à 14 heures, la formule sera la suivante :
=FILTER(A1:B10,A1:A10>TIME(14,0,0))
Toutefois, lorsqu'il s'agit d'utiliser la fonction HEURE (tout comme la fonction MOIS pour les dates), la donne change un peu. Le temps est déjà assez délicat dans les feuilles de calcul, et quelques ajustements sont donc nécessaires.
Pour retourner toutes les lignes dont l'horodatage se situe entre 2:00 PM et 12:00 PM faites ça :
- Encadrez l'intervalle avec des horodateurs ( A1:A10 ) dans une fonction HOUR distincte, ce qui vous indiquera où chercher.
- Ajoutez ensuite une autre fonction HOUR pour régler l'heure elle-même.
=FILTER(A1:B10,HOUR(A1:A10)>=HOUR("2:00:00 PM"))
Conseil : vérifiez que le résultat ne comprend pas 12:41 PM C'est parce que la feuille de calcul le traite comme 00:41 qui est inférieur à 2:00 .
Si vous trouvez une solution plus élégante, veuillez la partager dans la section des commentaires ci-dessous.
Comment filtrer dans Google Sheets à l'aide de références de cellule
Chaque fois que vous créez une formule de filtre Google Sheets, vous devez saisir la condition telle quelle : un mot ou sa partie, la date, etc. À moins que vous ne soyez familier avec les références de cellule.
Elles facilitent de nombreux aspects des formules, car au lieu de tout taper, vous pouvez simplement faire référence aux cellules avec des conditions.
Vous vous souvenez que j'ai cherché tous les ordres qui sont en retard ? Je peux rapidement me référer à E4 avec le texte suivant Late de faire de même :
=FILTER(A1:E20,E1:E20=E4)
Le résultat ne sera pas du tout différent :
Vous pouvez répéter cette opération avec toutes les formules susmentionnées. Par exemple, évitez d'ajouter d'autres fonctions comme DATE et faites simplement référence à la cellule contenant une date intéressante :
=FILTER(A1:E20,C1:C20=C15)
Astuce. Les références de cellules vous permettent également de filtrer à partir d'une autre feuille, il suffit d'apporter le nom de la feuille :
=FILTER(Ordres!A1:E20,Ordres!C1:C20=Ordres!C15)
Formules Google Sheets FILTER avec plusieurs critères
Bien que j'aie principalement utilisé une seule condition dans toutes les formules de filtrage de Google Sheets auparavant, il est plus probable que vous ayez besoin de filtrer un tableau par plusieurs conditions à la fois.
Exemple 1 : logique IS BETWEEN
Pour trouver toutes les lignes comprises entre deux nombres/dates/heures, les arguments optionnels de la fonction seront utiles - condition2 , condition3 Vous ne faites que dupliquer la même gamme à chaque fois, mais avec une nouvelle condition.
Ecoutez, je vais retourner uniquement les commandes qui m'ont coûté plus de 250 $ mais moins de 350 $ :
=FILTER(A1:E20,B1:B20>=250,B1:B20<350)
Exemple 2 : logique OR dans la fonction FILTER de Google Sheets
Malheureusement, pour obtenir toutes les lignes qui contiennent des enregistrements différents dans une colonne d'intérêt, la méthode précédente ne convient pas. Alors comment puis-je vérifier toutes les commandes qui sont à la fois en route et en retard ?
Si j'essaie la méthode précédente et que je saisis chaque état de commande dans une condition distincte, j'obtiendrai l'erreur #N/A :
Ainsi, pour définir correctement la logique OU dans la fonction FILTER, je dois additionner ces deux critères dans une même condition :
=FILTER(A1:E20,(E1:E20="Late")+(E1:E20="On the way"))
Ajouter un filtre à Google Sheets pour plusieurs colonnes
Ce qui est encore plus probable que d'appliquer quelques conditions à une colonne est de créer un filtre dans Google Sheets pour plusieurs colonnes.
Les arguments sont tous les mêmes, mais chaque nouvelle partie de la formule nécessite une nouvelle gamme avec ses propres critères.
Essayons de faire en sorte que la fonction FILTER de Google Sheets renvoie les commandes qui répondent à toutes les règles suivantes :
- Ils devraient valoir 200 à 400 dollars :
A1:E20,B1:B20>=200,B1:B20<=400
- Sont attendus en janvier 2020 :
MOIS(C1:C20)=1
- Et sont toujours en chemin :
E1:E20="sur le chemin"
Rassemblez tous ces éléments et votre formule de filtre Google Sheets pour plusieurs colonnes est prête :
=FILTER(A1:E20,B1:B20>=200,B1:B20<=400,MONTH(C1:C20)=1,E1:E20="on the way")
Une méthode sans formule pour les filtres avancés de Google Sheets
Garder la trace de tous les arguments, délimiteurs, fonctions imbriquées et autres peut être extrêmement déroutant et faire perdre du temps.
Heureusement, nous disposons d'une meilleure solution qui transcende à la fois la fonction FILTRE de Google Sheets et son outil standard : les correspondances multiples de type VLOOKUP.
Ne vous laissez pas déconcerter par son nom. Elle ressemble à la fonction VLOOKUP de Google Sheets car elle recherche des correspondances. Tout comme la fonction FILTER, comme je l'ai fait ci-dessus.
Voici 5 avantages principaux de l'outil sur la fonction FILTRE de Google Sheets :
- Vous n'aurez pas à penser à opérateurs pour différentes conditions - choisissez juste celui qui vous convient de la liste :
Je vous encourage vivement à installer Multiple VLOOKUP Matches et à l'essayer. Pour examiner ses options de plus près, visitez sa page de didacticiels ou regardez une vidéo d'instruction spéciale :