Suppression des espaces et autres caractères ou chaînes de texte dans Google Sheets à partir de plusieurs cellules à la fois

  • Partage Ça
Michael Brown

Découvrez des formules et des méthodes sans formule pour supprimer les espaces, les symboles spéciaux (même les N premiers et derniers caractères) et les mêmes chaînes de texte avant/après certains caractères dans plusieurs cellules à la fois.

Supprimer la même partie de texte de plusieurs cellules à la fois peut être aussi important et délicat que de l'ajouter. Même si vous connaissez certaines méthodes, vous en trouverez certainement de nouvelles dans l'article d'aujourd'hui. Je partage de nombreuses fonctions et leurs formules toutes prêtes et, comme toujours, je garde le plus facile - sans formule - pour la fin ;)

    Formules pour Google Sheets permettant de supprimer le texte des cellules

    Je vais commencer par les fonctions standard de Google Sheets qui supprimeront vos chaînes de texte et vos caractères des cellules. Il n'y a pas de fonction universelle pour cela, je vais donc fournir différentes formules et leurs combinaisons pour divers cas.

    Google Sheets : suppression des espaces blancs

    Les espaces blancs peuvent facilement se glisser dans les cellules après l'importation ou si plusieurs utilisateurs modifient la feuille en même temps. En fait, les espaces supplémentaires sont si fréquents que Google Sheets dispose d'un outil spécial Trim pour supprimer tous les espaces blancs.

    Il suffit de sélectionner toutes les cellules de Google Sheets dans lesquelles vous souhaitez supprimer les espaces blancs et de choisir Data> ; Coupez les espaces blancs dans le menu de la feuille de calcul :

    Lorsque vous cliquez sur l'option, tous les espaces avant et arrière de la sélection sont complètement supprimés, tandis que tous les espaces supplémentaires entre les données sont réduits à un seul :

    Suppression d'autres caractères spéciaux des chaînes de texte dans Google Sheets

    Hélas, Google Sheets n'offre pas d'outil permettant de "découper" les caractères autres que les espaces. Vous devez donc utiliser des formules.

    Ou bien utilisez notre outil à la place - Power Tools libérera votre plage de tous les caractères que vous spécifiez en un clic, y compris les espaces blancs.

    Ici, je me suis adressé avec des hashtags avant les numéros d'appartement et les numéros de téléphone avec des tirets et des parenthèses entre les deux :

    Je vais utiliser des formules pour supprimer ces caractères spéciaux.

    La fonction SUBSTITUTE m'y aidera. Elle est normalement utilisée pour remplacer un caractère par un autre, mais vous pouvez tourner cela à votre avantage et remplacer les caractères indésirables par... eh bien, rien :) En d'autres termes, supprimez-les.

    Voyons quel argument la fonction requiert :

    SUBSTITUTE(texte_to_search, search_for, replace_with, [occurrence_number])
    • texte_à_rechercher est soit le texte à traiter, soit une cellule qui contient ce texte. Requis.
    • chercher est ce personnage que vous voulez trouver et supprimer. Requis.
    • remplacer_avec - un caractère que vous insérerez à la place du symbole indésirable. Requis.
    • numéro de l'événement - s'il y a plusieurs instances du caractère que vous recherchez, vous pouvez spécifier ici laquelle remplacer. C'est complètement facultatif, et si vous omettez cet argument, toutes les instances seront remplacées par quelque chose de nouveau ( remplacer_pour ).

    Alors jouons. Je dois trouver un hashtag ( # ) en A1 et le remplacer par "rien" qui est marqué dans les feuilles de calcul par des guillemets doubles ( "" ). Avec tout cela en tête, je peux construire la formule suivante :

    =SUBSTITUER(A1, "#","")

    Conseil : le hashtag est également placé entre guillemets, car c'est ainsi que vous devez mentionner les chaînes de texte dans les formules de Google Sheets.

    Copiez ensuite cette formule dans la colonne si Google Sheets ne propose pas de le faire automatiquement, et vous obtiendrez vos adresses sans les hashtags :

    Mais qu'en est-il de ces tirets et parenthèses ? Devez-vous créer des formules supplémentaires ? Pas du tout ! Si vous imbriquez plusieurs fonctions SUBSTITUTE dans une formule Google Sheets, vous supprimerez tous ces caractères de chaque cellule :

    =SUBSTITUER(SUBSTITUER(SUBSTITUER(SUBSTITUER(A1, "#", ""), "(", ""), ")", ""), "-", "")

    Cette formule supprime les caractères un par un et chaque SUBSTITUTE, en commençant par le milieu, devient la plage à examiner pour le SUBSTITUTE suivant :

    Astuce : vous pouvez également utiliser la formule ArrayFormula pour couvrir toute la colonne en une seule fois. Dans ce cas, modifiez la référence de la cellule ( A1 ) à vos données dans la colonne ( A1:A7 ) également :

    =ArrayFormula(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1:A7, "#",""), "(",""),")",""), "-","")))

    Supprimer un texte spécifique des cellules dans Google Sheets

    Bien que vous puissiez utiliser la fonction SUBSTITUTE susmentionnée pour Google Sheets afin de supprimer du texte des cellules, j'aimerais vous présenter une autre fonction : REGEXREPLACE.

    Son nom est un acronyme de "regular expression replace". Je vais utiliser les expressions régulières pour rechercher les chaînes de caractères à supprimer et les remplacer par ' rien" ( "" ).

    Conseil : si l'utilisation des expressions régulières ne vous intéresse pas, je décris une méthode beaucoup plus simple à la fin de cet article.

    Conseil : si vous cherchez des moyens de trouver et de supprimer les doublons dans Google Sheets, consultez plutôt cet article de blog. REGEXREPLACE(texte, expression_régulière, remplacement)

    Comme vous pouvez le voir, il y a trois arguments à la fonction :

    • texte - Il peut s'agir du texte lui-même entre guillemets ou d'une référence à une cellule/plage contenant du texte.
    • expression_régulière - votre modèle de recherche qui consiste en diverses combinaisons de caractères. Vous rechercherez toutes les chaînes de caractères qui correspondent à ce modèle. Cet argument est l'endroit où tout le plaisir se passe, si je puis dire.
    • remplacement - une nouvelle chaîne de texte souhaitée.

    Supposons que mes cellules contenant des données contiennent également le nom du pays ( US ) à différents endroits dans les cellules :

    Comment REGEXREPLACE m'aidera-t-il à le supprimer ?

    =REGEXREPLACE(A1, "(.*)US(.*)", "$1 $2")

    Voici comment la formule fonctionne exactement :

    • il analyse le contenu de la cellule A1
    • pour les correspondances avec ce masque : "(.*)US(.*)"

      Ce masque indique à la fonction de rechercher le US quel que soit le nombre d'autres caractères qui peuvent précéder (.*) ou suivre (.*) le nom du pays.

      Et le masque entier est mis entre guillemets selon les exigences de la fonction :)

    • le dernier argument - "$1 $2" - est ce que je veux obtenir à la place. $1 et $2 représentent chacun un de ces 2 groupes de personnages - (.*) - Vous devez mentionner ces groupes dans le troisième argument de cette façon, afin que la formule puisse retourner tout ce qui se trouve avant et après l'argument US

      Quant à la US lui-même, je ne le mentionne simplement pas dans le 3ème argument - c'est-à-dire que je veux retourner tout ce qui provient de A1 sans le site US .

    Conseil : il existe une page spéciale à laquelle vous pouvez vous référer pour construire diverses expressions régulières et rechercher le texte dans différentes positions des cellules.

    Astuce : pour ce qui est des virgules restantes, la fonction SUBSTITUTE décrite ci-dessus vous aidera à vous en débarrasser ;) Vous pouvez même inclure REGEXREPLACE avec la fonction SUBSTITUTE et tout résoudre avec une seule formule :

    =SUBSTITUER(REGEXREPLACE(A1, "(.*)US(.*)", "$1 $2"), ",","")

    Suppression du texte avant/après certains caractères dans toutes les cellules sélectionnées

    Exemple 1 : Fonction REGEXREPLACE pour Google Sheets

    Lorsqu'il s'agit de se débarrasser de tout ce qui se trouve avant et après certains caractères, REGEXREPLACE est également utile. N'oubliez pas que la fonction requiert 3 arguments :

    REGEXREPLACE(texte, expression régulière, remplacement)

    Et, comme je l'ai mentionné plus haut lorsque j'ai présenté la fonction, c'est la deuxième que vous devez utiliser correctement pour que la fonction sache ce qu'elle doit trouver et supprimer.

    Alors comment supprimer les adresses et ne garder que les numéros de téléphone dans les cellules ?

    Voici la formule que je vais utiliser :

    =REGEXREPLACE(A1,".*\n.*(\+.*)","$1")

    • Voici l'expression régulière que j'utilise dans ce cas : ".*\n.*(\+.*)"

      Dans la première partie - .*\n.* - J'utilise backslash+n Je veux donc que la fonction supprime tout ce qui se trouve avant et après le saut de ligne (y compris celui-ci).

      La deuxième partie qui est entre parenthèses (\+.*) indique que je veux garder intact le signe plus et tout ce qui le suit. Je mets cette partie entre parenthèses pour la regrouper et la garder en tête pour plus tard.

      Astuce : la barre oblique inverse est utilisée avant le plus pour le transformer en un caractère que vous recherchez. Sans elle, le plus serait juste une partie de l'expression qui représente d'autres caractères (comme l'astérisque, par exemple).

    • Quant au dernier argument - $1 - il fait en sorte que la fonction renvoie le seul groupe du deuxième argument : le signe plus et tout ce qui suit (\+.*) .

    De la même manière, vous pouvez supprimer tous les numéros de téléphone mais conserver les adresses :

    =REGEXREPLACE(A1,"(.*\n).*","$1")

    Mais cette fois, vous demandez à la fonction de regrouper (et de renvoyer) tout ce qui se trouve avant le saut de ligne et de supprimer le reste :

    Exemple 2. DROITE+LEN+FIND

    Il existe quelques autres fonctions de Google Sheets qui vous permettent de supprimer le texte avant un certain caractère : RIGHT, LEN et FIND.

    Remarque : ces fonctions ne sont utiles que si les enregistrements à conserver sont de la même longueur, comme les numéros de téléphone dans mon cas. Si ce n'est pas le cas, il suffit d'utiliser REGEXREPLACE à la place ou, encore mieux, l'outil plus facile décrit à la fin.

    En utilisant ce trio dans un ordre particulier, j'obtiens le même résultat et je supprime tout le texte avant un caractère - un signe plus :

    =RIGHT(A1,(LEN(A1)-(FIND("+",A1)-1)))

    Laissez-moi vous expliquer comment fonctionne cette formule :

    • FIND("+",A1)-1 localise le numéro de position du signe plus dans A1 ( 24 ) et soustrait 1 pour que le total n'inclue pas le plus lui-même : 23 .
    • LEN(A1)-(FIND("+",A1)-1) vérifie le nombre total de caractères dans A1 ( 40 ) et en soustrait 23 (comptés par FIND) : 17 .
    • Et ensuite RIGHT renvoie 17 caractères à partir de la fin (droite) de A1.

    Malheureusement, cette méthode n'aidera pas beaucoup à supprimer le texte après le saut de ligne dans mon cas (effacer les numéros de téléphone et conserver les adresses), car les adresses sont de longueur différente.

    Ce n'est pas grave. L'outil à la fin fait mieux ce travail de toute façon ;)

    Suppression des N premiers/derniers caractères des chaînes de caractères dans Google Sheets

    Lorsque vous devez supprimer un certain nombre de caractères différents du début ou de la fin d'une cellule, REGEXREPLACE et RIGHT/LEFT+LEN vous seront également utiles.

    Remarque : comme j'ai déjà présenté ces fonctions ci-dessus, je vais rester bref et fournir quelques formules toutes prêtes. Vous pouvez aussi opter pour la solution la plus simple décrite à la toute fin.

    Alors, comment puis-je effacer les codes de ces numéros de téléphone ? Ou, en d'autres termes, supprimer les 9 premiers caractères des cellules :

    • Utilisez REGEXREPLACE pour créer une expression régulière qui trouvera et supprimera tout jusqu'au 9ème caractère (y compris ce 9ème caractère) :

      =REGEXREPLACE(A1,"(.{9})(.*)","$2")

      .

      Conseil : pour supprimer les N derniers caractères, il suffit de permuter les groupes dans l'expression régulière :

      =REGEXREPLACE(A1,"(.*)(.{9})","$1")

    • Les fonctions DROITE/GAUCHE+LEN permettent également de compter le nombre de caractères à supprimer et de retourner la partie restante à partir de la fin ou du début d'une cellule respectivement :

      =DROIT(A1,LEN(A1)-9)

      Conseil : pour supprimer les 9 derniers caractères des cellules, remplacez DROITE par GAUCHE :

      =GAUCHE(A1,LEN(A1)-9)

    • La dernière fonction, mais non la moindre, est la fonction REPLACE. Vous lui demandez de prendre les 9 caractères en partant de la gauche et de les remplacer par rien ( "" ) :

      =REPLACE(A1,1,9,"")

      Remarque : comme REPLACE nécessite une position de départ pour traiter le texte, il ne fonctionnera pas si vous devez supprimer N caractères à la fin d'une cellule.

    Une méthode sans formule pour supprimer un texte spécifique dans Google Sheets - Complément Power Tools

    Les fonctions et tout le reste, c'est bien quand on a du temps à tuer. Mais savez-vous qu'il existe un outil spécial qui englobe tous les moyens susmentionnés et qu'il vous suffit de sélectionner le bouton radio requis ? :) Pas de formules, pas de colonnes supplémentaires - vous ne pourriez pas souhaiter un meilleur acolyte ;D

    Vous n'avez pas à me croire sur parole, installez simplement Power Tools et voyez par vous-même :

    1. Le premier groupe vous permet supprimer plusieurs sous-chaînes ou caractères individuels à partir de n'importe quelle position dans toutes les cellules sélectionnées à la fois :

  • Le prochain supprime non seulement les espaces, mais aussi les sauts de ligne, les entités HTML et les balises, ainsi que d'autres délimiteurs et caractères non imprimables. Il suffit de cocher toutes les cases nécessaires et de cliquer sur Retirer :
  • Et enfin, il existe des paramètres permettant de supprimer du texte dans Google Sheets par une certaine position, les N premiers/derniers caractères, ou les caractères avant/après :
  • Un autre outil de Power Tools permet de supprimer les unités de date et d'heure des horodatages, il s'agit de Split Date & ; Time :

    Quel est le rapport entre l'outil de division et la suppression des unités de date et d'heure ? Pour supprimer l'heure des horodatages, sélectionnez Date puisqu'il s'agit d'une partie que vous voulez garder et aussi cocher. Remplacer les données sources comme sur la capture d'écran ci-dessus.

    L'outil extrait l'unité de date et remplace l'intégralité de l'horodatage par celle-ci. En d'autres termes, ce module complémentaire pour Google Sheets supprime l'unité de temps de l'horodatage :

    Vous pouvez bénéficier de tous ces avantages et de plus de 30 autres gains de temps pour les feuilles de calcul en installant le module complémentaire à partir de la boutique Google. Les 30 premiers jours sont totalement gratuits et entièrement fonctionnels, ce qui vous laisse le temps de décider si l'investissement en vaut la peine.

    Si vous avez des questions relatives à une partie de cet article de blog, je vous verrai dans la section des commentaires ci-dessous !

    Michael Brown est un passionné de technologie passionné par la simplification de processus complexes à l'aide d'outils logiciels. Avec plus d'une décennie d'expérience dans l'industrie de la technologie, il a perfectionné ses compétences dans Microsoft Excel et Outlook, ainsi que dans Google Sheets et Docs. Le blog de Michael est dédié au partage de ses connaissances et de son expertise avec les autres, en fournissant des conseils et des tutoriels faciles à suivre pour améliorer la productivité et l'efficacité. Que vous soyez un professionnel chevronné ou un débutant, le blog de Michael offre des informations précieuses et des conseils pratiques pour tirer le meilleur parti de ces outils logiciels essentiels.