Dans cet article, je vais vous présenter quelques options de filtrage avancées supplémentaires, telles que le travail avec des dates et l’utilisation de la logique OU.
Si vous avez lu mon article de démarrage sur la fonction de filtrage dans Google Sheets, vous savez à quel point c’est une fonction puissante lorsqu’il s’agit de travailler avec des données dans Google Sheets. Dans cet article, nous allons aller encore plus loin et explorer une logique plus avancée avec une condition OU.
Cliquez ici pour faire une copie de la feuille de travail de filtrage avancée.
Exemples de filtrage avancé dans Google Sheets
Exemple 1: Utilisation de cellules de référence et d’agrégation
Voici un exemple utilisant la fonction FILTER pour aggréger (compter et additionner) combien de valeurs se situent entre deux dates. J’utilise des données fictives dans la feuille de modèle avec une date et une valeur associée pour cette journée.
Dans ce scénario, nous voulons compter combien de valeurs se produisent en décembre 2017 et ensuite additionner leur valeur en utilisant la fonction FILTER:
Pour compter les valeurs, placez d’abord 01/12/17 et 31/12/17 dans deux cellules adjacentes, puis essayez cette formule dans la cellule suivante, comme suit:
=SUM(FILTER(C2:C, A2:A >= DATE(2017,12,1), A2:A <= DATE(2017,12,31)))
Exemple 2: Utiliser des fonctions imbriquées à l’intérieur de la fonction Filter
Nous pouvons rendre la formule ci-dessus plus concise en imbriquant la fonction MONTH à l’intérieur de la fonction Filter:
=SUM(FILTER(C2:C, MONTH(A2:A) = 12))
et cela vous donnera la même réponse de 31:
Comment puis-je additionner des cellules filtrées dans Google Sheets?
Utilisez cette formule:
=SUM(FILTER(B2:B, MONTH(A2:A) = 12))
Nous avons fait deux choses:
i) nous avons changé la plage de filtrage en colonne B (mais pas les conditions de test!) pour obtenir les valeurs, et
ii) nous avons enveloppé la fonction de filtrage dans une formule SUM au lieu d’un count.
Le résultat est maintenant:
Comment puis-je utiliser la logique OU à l’intérieur d’un filtrage avancé?
Si vous connaissez l’astuce pour ce filtrage avancé, c’est assez facile à faire, mais si vous ne la connaissez pas…
…alors il est facile de se perdre dans des fonctions OR imbriquées à l’intérieur de fonctions FILTER et de se retrouver coincé dans le pays des erreurs.
Dans cet exemple, j’ai 10 lignes de données dans les colonnes A et B, comme suit, et je veux récupérer toutes les valeurs « alpha » et « gamma ».
Plutôt que d’exécuter deux formules de filtrage distinctes, puis de combiner les résultats, nous pouvons utiliser une seule formule qui nous donne le résultat souhaité:
=FILTER(A2:B, (A2:A = "alpha") + (A2:A = "gamma"))
Nous utilisons un « + » au lieu d’une virgule pour gérer la logique OU.
Comment fonctionne cette formule de filtrage avancée?
Considérez une fonction de filtrage de base comme celle-ci, par exemple, qui ne retourne que des données avec « alpha » dans la colonne A:
=FILTER(A2:B, A2:A = "alpha")
Maintenant, voyons comment fonctionne le filtrage avancé.
L’étape suivante consiste à retourner toutes les données correspondant à « alpha » ou correspondant à « gamma ».
Nous le faisons en utilisant un « + » comme opérateur booléen OR à l’intérieur du deuxième argument de la fonction FILTER, comme suit:
=FILTER(A2:B, (A2:A = "alpha") + (A2:A = "gamma"))
Maintenant, chaque fois que l’une ou l’autre des conditions du filtre est satisfaite, autrement dit, lorsqu’un « alpha » ou un « gamma » dans la colonne A est présent, cette ligne de données est renvoyée dans notre jeu de données filtrées en sortie.
Autres ressources
Discussion sur Stack Exchange sur l’utilisation des conditions AND et OR dans la fonction FILTER.
Consultez mon article de démarrage sur la façon d’utiliser la fonction de filtrage Google Sheets pour travailler avec des données.
Avez-vous trouvé une utilité pour cette formule avancée de FILTRAGE + OR? Des questions? Faites-le moi savoir dans les commentaires ci-dessous!