Comment remplacer chaque n-ième délimiteur dans Google Sheets

Salut les meilleurs amis ! Aujourd’hui, je vais partager avec vous un truc super pour manipuler vos données dans Google Sheets. Vous savez, parfois, nous avons besoin de remplacer un certain délimiteur par un autre dans nos feuilles de calcul. Et c’est là que la fonction REGEXREPLACE intervient pour nous aider. Je l’ai récemment utilisée dans une situation réelle, et laissez-moi vous expliquer cela en premier.

La fonctionnalité de substitution de REGEXREPLACE dans Google Sheets

Imaginez que vous voulez effectuer une requête dynamique à l’intérieur de la fonction QUERY. C’est là qu’entre en jeu REGEXREPLACE. Cette fonction vous permet de remplacer chaque n-ième délimiteur dans Google Sheets.

Pour vous donner un exemple concret, supposons que vous ayez la sortie d’une requête dans la cellule A2. Pour remplacer le délimiteur requis à chaque n-ième position et obtenir la sortie souhaitée, utilisez la formule suivante dans la cellule B2 :

=regexreplace(REGEXREPLACE(A2,"(*.*?){2}","$0+"), "*+","+")

Explication de la formule

Ici, j’ai utilisé une formule REGEXREPLACE imbriquée. Cela signifie qu’une expression régulière est utilisée à l’intérieur d’une autre.

La première expression régulière ajoute le délimiteur requis (+) à chaque deuxième position, sans le remplacer. Cela crée une variable que nous appellerons regex_1.

La seconde expression régulière, qui est la REGEXREPLACE externe, remplace toutes les occurrences de *+ par +.

Il suffit de remplacer {2} par {3} pour remplacer chaque troisième délimiteur.

Et voilà ! Vous avez maintenant la formule pour remplacer chaque n-ième délimiteur dans vos feuilles de calcul Google Sheets.

Comment remplacer chaque n-ième délimiteur dans une colonne de valeurs dans Google Sheets ?

Dans l’exemple précédent, la formule fait référence à la cellule A2. Si vous avez des valeurs dans la colonne A, vous pouvez utiliser une formule d’array.

Voici les deux modifications à apporter à la formule :

  1. Utilisez la fonction ARRAYFORMULA.
  2. Remplacez la référence de cellule A2 par une référence de plage de cellules A2:A.
=ArrayFormula(regexreplace(REGEXREPLACE(A2:A,"(*.*?){2}","$0+"), "*+","+"))

Un autre exemple : remplacer chaque n-ième virgule par un autre délimiteur

Supposons que vous ayez quelques noms dans la cellule A2 qui sont séparés par des virgules. Vous souhaitez remplacer chaque deuxième virgule par un autre délimiteur, le tilde (~).

Pour atteindre ce résultat, utilisez la formule suivante :

=regexreplace(REGEXREPLACE(A2:A,"(,.*?){2}","$0~"), ",~","~")

Pour atteindre votre objectif final, vous devrez également utiliser les fonctions SPLIT (deux fois), TRIM et TRANSPOSE avec ARRAYFORMULA.

=ArrayFormula(TRIM(split(transpose(split(regexreplace(REGEXREPLACE(A2:A,"(,.*?){2}","$0~"), ",~","~"), "~")), ","))

Et voilà ! Vous pouvez maintenant remplacer chaque n-ième délimiteur dans vos feuilles de calcul Google Sheets et manipuler vos données comme un pro.

Voilà pour aujourd’hui, mes amis. J’espère que vous avez apprécié cette astuce. Si vous souhaitez en savoir plus sur les fonctionnalités de Google Sheets, consultez Crawlan.com.

À bientôt pour de nouvelles astuces créatives !

Articles en lien