Utilisation des expressions régulières dans Google Sheets

Bienvenue dans ce tutoriel sur l’utilisation des expressions régulières dans Google Sheets ! Nous allons explorer comment effectuer des recherches exactes de chaînes de caractères individuelles et multiples en utilisant les expressions régulières.

Deux Fonctions pour les Recherches Exactes avec les Expressions Régulières dans Google Sheets

Dans Google Sheets, nous avons deux fonctions qui nous permettent de réaliser des recherches exactes avec les expressions régulières : REGEXMATCH et QUERY. La première fonction, REGEXMATCH, nous permet de comparer une chaîne de caractères à un modèle d’expression régulière et de renvoyer un résultat VRAI ou FAUX. La seconde fonction, QUERY, nous permet de filtrer des données sur la base d’une correspondance exacte avec un modèle d’expression régulière.

Recherche Exacte avec REGEXMATCH dans Google Sheets

Un critère unique

Supposons que nous voulions vérifier si la cellule A2 contient la chaîne de caractères « Produit 1 ». Nous pouvons utiliser la formule REGEXMATCH suivante :

=REGEXMATCH(A2,"^Produit 1$")

Cette formule renverra VRAI si la cellule A2 contient exactement la chaîne de caractères « Produit 1 ». Elle ne correspondra pas aux chaînes « Produit » ou « Produit 11 ».

Pour effectuer une recherche exacte sur une colonne entière, nous pouvons utiliser la fonction ARRAYFORMULA avec REGEXMATCH :

=ArrayFormula(REGEXMATCH(A2:A,"^Produit 1$"))

Avant d’utiliser cette formule, assurez-vous d’inclure une expression logique pour limiter l’expansion des résultats aux cellules non vides. Par exemple :

=ArrayFormula(if(len(A2:A)=0,,REGEXMATCH(A2:A,"^Produit 1$")))

Plusieurs critères

Pour effectuer une recherche exacte avec plusieurs critères en utilisant des expressions régulières dans Google Sheets, séparez chaque critère par le symbole |. Les symboles de début et de fin de ligne doivent être répétés pour chaque critère.

=ArrayFormula(if(len(A2:A)=0,,REGEXMATCH(A2:A,"^Produit 1$|^Produit 22$|^Produit 2$")))

Il est également possible d’utiliser des cellules de référence pour les critères, afin de faciliter les modifications futures de la formule :

=ArrayFormula(if(len(A2:A)=0,,REGEXMATCH(A2:A,"^"&D1&"$|^"&D2&"$|^"&D3&"$")))

Filtrage avec REGEXMATCH et FILTER dans Google Sheets

Maintenant que nous avons compris comment effectuer une recherche exacte avec les expressions régulières dans Google Sheets, le filtrage des données devient un jeu d’enfant.

La syntaxe de la fonction FILTER est la suivante : FILTER(plage, condition1). Vous pouvez simplement utiliser la formule REGEXMATCH comme condition dans le filtre.

Par exemple :

=Filter(A2:B,ArrayFormula(if(len(A2:A)=0,,REGEXMATCH(A2:A,"^"&textjoin("$|^",true,D1:D)&"$"))))

Recherche avec QUERY

Si vous souhaitez simplement filtrer ou filtrer et agréger des données en utilisant une recherche exacte avec des expressions régulières dans Google Sheets, la fonction QUERY est la meilleure option.

En utilisant la clause MATCHES dans QUERY, nous pouvons effectuer une recherche exacte avec un seul critère ou avec plusieurs critères.

Voici un exemple pour un critère unique :

=query(A2:B,"Select A,B where A matches 'Produit 1'")

Si le critère est dans la cellule D1, vous pouvez l’utiliser dans la formule comme ceci :

=query(A2:B,"Select A,B where A matches '"&D1&"'")

Pour plusieurs critères, utilisez le séparateur | dans QUERY. Notez cependant que les symboles de début et de fin de ligne ne sont pas nécessaires ici :

=query(A1:B,"Select A,B where A matches 'Produit 1|Produit 22|Produit 2'")

Vous pouvez également utiliser des références de cellules pour les critères, afin de rendre la formule plus flexible :

=query(A1:B,"Select A,B where A matches '"&TEXTJOIN("|",true,D1:D)&"'")

Conclusion

Voilà tout ce que vous devez savoir sur l’utilisation des expressions régulières pour les recherches exactes dans Google Sheets. Amusez-vous bien avec ces nouvelles fonctionnalités ! Pour en savoir plus sur les expressions régulières dans Google Sheets, rendez-vous sur Crawlan.com.

Articles en lien