Excel : substituer ou supprimer des caractères

En amont de l’analyse de données, les données doivent être préparées, nettoyées, harmonisées. Lors de cette phase de préparation, il est fréquent de devoir supprimer ou substituer des caractères. Le nettoyage des données consiste en règle général à supprimer des caractères “parasites” comme des tirets, points, espaces… dans les numéros de téléphone ou les dates… ou à les remplacer par un seul et même séparateur (harmonisation).

Excel dispose de nombreuses fonctions assurant ces tâches ; parmi celles-ci les fonctions SUPPRESPACE et SUBSTITUE font merveilleusement office.

Logo Excel

La fonction SUPPRESPACE supprime les espaces situés en début et fin d’une chaîne de caractères ainsi que ceux en excédent entre les mots ; cette fonction ne fait finalement subsister qu’un seul espace entre les mots composant cette chaîne.

Cette fonction ne réclame qu’un seul paramètre, la chaîne de caractères à traiter.

Ainsi :

=SUPPRESPACE(” Il        pleut aujourd’hui”)

Renvoie (l’espace en début de chaîne ainsi que ceux superflus dans le corps de la chaîne ont disparu) :

“Il pleut aujourd’hui”

A noter, cette fonction supprime l’espace (codifié 32 dans la table de caractères au standard ASCII). L’espace insécable (code 160) n’est pas concerné par cette fonction.

La fonction SUBSTITUE, quant à elle, comme son nom l’indique, substitue un caractère (ou un chaîne de caractères) par un autre.

Cette fonction requiert les paramètres suivants :

  • Chaîne de caractères à traiter ;
  • Chaîne ou caractère à remplacer ;
  • Chaîne ou caractère de substitution.

Exemple :

=SUBSTITUE(“Il pleut aujourd’hui”;”aujourd’hui”;”demain”)

Substitue le mot aujourd’hui par demain et renvoie la chaîne :

“Il pleut demain”

Cette substitution est opérée autant de fois que la chaîne à substituer est découverte par Excel dans la chaîne à traiter.

Par exemple :

=SUBSTITUE(“Il pleut aujourd’hui et peut-être aujourd’hui”;”aujourd’hui”;”demain”)

Renvoie :

“Il pleut demain et peut-être demain”

Cette phrase n’a en soi pas grand sens… Mais cette fonction supporte également un paramètre facultatif. Ce paramètre est le numéro d’occurrence.

Ainsi :

=SUBSTITUE(“Il pleut aujourd’hui et peut-être aujourd’hui”;”aujourd’hui”;”demain”;2)

Ne va substituer le mot aujourd’hui par demain que s’il figure une deuxième fois dans la chaîne et renvoie :

“Il pleut aujourd’hui et peut-être demain”

Cette affirmation devient de fait plus sensée.

Il est également possible, avec cette même fonction, de supprimer des caractères purement et simplement (en les remplaçant par… rien).

Par exemple :

=SUBSTITUE(“Il pleut aujourd’hui”;”aujourd’hui”;””)

Renvoie :

“Il pleut “

Plus technique, la fonction EPURAGE permet de supprimer tous les caractères de contrôle (non imprimables) codifiés de 1 à 31 dans la table de caractères ASCII, à l’image du retour charriot (13).

Ces fonctions peuvent être imbriquées successivement dans une même formule de calcul pour substituer ou éliminer en une passe plusieurs chaînes de caractères.

Ainsi pour compléter l’exemple précédent :

=SUPPRESPACE(SUBSTITUE(“Il pleut aujourd’hui”;”aujourd’hui”;””))

Renvoie (l’espace final a été supprimé) :

“Il pleut”

Ou encore :

=SUBSTITUE(SUBSTITUE(“12-44-32.128-12″;”-;” “);”.”;”/”)

Renvoie :

“12 44 32/128 12”

___

Approfondir le sujet : Tout savoir sur Excel / Découvrir la série d’articles Maîtriser Excel / En savoir plus sur l’analyse de données

Share Button
The following two tabs change content below.
Benoît RIVIERE
Après seize années passées en cabinet d’expertise-comptable et de commissariat aux comptes (où j’ai exercé comme expert-comptable et chef de mission audit), j’ai pris le poste de directeur comptable d’un groupe de distribution automobile en novembre 2014. Au cours de ma carrière, j’ai acquis une expérience significative en audit et en exploitation des systèmes d’information (analyse de données, automatisation des tâches, programmation informatique) au service de la production des comptes annuels et consolidés. C’est cette expérience personnelle et ma passion pour l’informatique que je partage sur ce blog. Mon CV / Réalisations personnelles et projets informatiques / Ma collection / Me contacter

2 commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.