Astuces pour ne pas utiliser REGEXMATCH et alternatives dans Google Sheets

Introduction:

Salut les amis ! Aujourd’hui, je vais partager avec vous quelques astuces pour ne pas utiliser la fonction REGEXMATCH dans Google Sheets. Parfois, nous pouvons utiliser des alternatives, telles que Trouver (case-sensitive), Chercher (case-insensitive) et Correspondre avec des caractères génériques, pour remplacer REGEXMATCH dans Google Sheets. Soyons créatifs et découvrons ensemble ces alternatives intéressantes !

Comment utiliser la fonction NOT dans REGEXMATCH dans Google Sheets

Nous ne pouvons pas nier un morceau de texte en utilisant l’expression (?!) dans REGEX dans Google Sheets car elle n’est pas prise en charge. La méthode alternative consiste à utiliser l’opérateur logique NOT dans REGEXMATCH dans Google Sheets.

Supposons que je veuille vérifier si la cellule D25 ne contient pas le mot « inspiration ». La formule ci-dessous, dans n’importe quelle autre cellule, effectuera le test et renverra les valeurs logiques VRAI ou FAUX.

Formule 1:
=not(regexmatch(D25,"(?i)inspiration"))

Si cela renvoie VRAI, cela signifie simplement que le texte « inspiration » n’est pas présent dans la cellule D25. La formule ci-dessus est insensible à la casse. Pour que la recherche soit sensible à la casse, utilisez la formule suivante :

Formule 2:
=not(regexmatch(D25,"inspiration"))

Alternatives en utilisant NOT Trouver et NOT Chercher

Les deux formules ci-dessus montrent comment utiliser NOT dans REGEXMATCH dans Google Sheets en utilisant des expressions régulières RE2 et une fonction logique. Voici ma tentative de remplacer l’expression régulière par les fonctions Trouver et Chercher.

Pour remplacer la formule 1, nous devrions utiliser Chercher avec NOT de la manière suivante. Cela signifie que la formule suivante est insensible à la casse :

=not(len(iferror(search("inspiration",D25))))

Pour remplacer la formule 2 par son alternative, il suffit de substituer « chercher » par « trouver » :

=not(len(iferror(find("inspiration",D25))))

Pouvez-vous expliquer les deux formules ci-dessus ? Bien sûr ! Trouver (ou Chercher) renvoie la position à laquelle une chaîne est trouvée pour la première fois dans D25. Elle renverra « #VALUE! » lorsque la chaîne « inspiration » n’est pas présente dans D25. Vous connaissez déjà l’utilisation de la fonction SIERREUR. Ici, elle convertit une erreur en une chaîne vide. LEN renvoie la longueur des caractères qui sont retournés par SIERREUR(TROUVER/CHERCHER). LEN(SIERREUR(TROUVER/CHERCHER)) renverra FAUX si la longueur est vide. Ce que nous voulons, c’est VRAI lorsqu’il n’y a pas de correspondance, ou nous pouvons dire que la longueur est vide. C’est là qu’intervient NOT, c’est-à-dire NOT(LEN(SIERREUR(TROUVER/CHERCHER))). J’espère que tout cela a du sens pour vous.

Formules en tableau avec NOT dans REGEXMATCH dans Google Sheets

Nous pouvons utiliser toutes les formules ci-dessus, ainsi que les alternatives, dans une plage/tableau à l’aide de la fonction ARRAYFORMULA. Jetez un coup d’œil à la capture d’écran suivante. Il y a quatre formules de tableau dans la plage de cellules E25:H25, et voici les formules correspondantes :

E25:
=ArrayFormula(not(regexmatch(D25:D28,"(?i)inspiration")))

F25:
=ArrayFormula(not(regexmatch(D25:D28,"inspiration")))

G25:
=ArrayFormula(not(len(iferror(search("inspiration",D25:D28)))))

H25:
=ArrayFormula(not(len(iferror(find("inspiration",D25:D28)))))

Veuillez également vérifier les titres dans la plage de cellules E24:H24.

Correspondance et absence de correspondance dans une seule formule REGEXMATCH

Je veux tester une cellule de la manière suivante : Vérifier que l’élément « pomme » est présent et que « mangue » n’est pas présent dans la cellule D3. Comment puis-je le tester ? C’est très simple. Nous pouvons utiliser les quatre formules ci-dessus, c’est-à-dire deux formules NOT dans REGEXMATCH et deux de leurs alternatives.

Comment ? Voici la syntaxe (en utilisant REGEXMATCH) :

=regexmatch_formula*not(regexmatch_formula)

Formule 1:
=regexmatch(D3,"(?i)apple")*not(regexmatch(D3,"(?i)mango"))

Formule 2:
=regexmatch(D3,"apple")*not(regexmatch(D3,"mango"))

Syntaxe (alternatives) :

=len(iferror(search_or_find))*not(len(iferror(search_or_find)))

Formule 1:
=len(iferror(search("apple",D3)))*not(len(iferror(search("mango",D3))))

Formule 2:
=len(iferror(find("apple",D3)))*not(len(iferror(find("mango",D3))))

Remarque : Les formules ci-dessus renvoient 1 ou 0 au lieu de VRAI ou FAUX. J’espère que vous pourrez facilement les convertir en valeurs logiques.

Pouvons-nous les utiliser dans des formules tableau ? Bien sûr ! Voici les formules correspondantes :

E3:
=ArrayFormula(regexmatch(D3:D5,"(?i)apple")*not(regexmatch(D3:D5,"(?i)mango")))

F3:
=ArrayFormula(regexmatch(D3:D5,"apple")*not(regexmatch(D3:D5,"mango")))

G3:
=ArrayFormula(len(iferror(search("apple",D3:D5)))*not(len(iferror(search("mango",D3:D5)))))

H3:
=ArrayFormula(len(iferror(find("apple",D3:D5)))*not(len(iferror(find("mango",D3:D5)))))

C’est ainsi que nous pouvons utiliser NOT dans REGEXMATCH dans Google Sheets. Voilà, c’est tout pour aujourd’hui. Merci de votre attention et profitez bien de ces astuces ! Ne manquez pas de me rendre visite sur Crawlan.com pour plus d’articles passionnants. À bientôt !

Articles en lien