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.
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
Derniers articles parBenoît RIVIERE (voir tous)
- Open Data : quoi de neuf ? - lundi 2 septembre 2024
- Auditsi cité dans le podcast Marketing du cabinet comptable - mercredi 21 août 2024
- IA générative : aide à la rédaction de prompts efficaces - samedi 17 août 2024
- S’initier à l’analyse de données et l’automatisation des tâches - dimanche 11 août 2024
- Créez votre plateforme de collecte d’informations juridiques et financières personnalisée ! - lundi 5 août 2024
Merci encore pour un article très pratique.
Pour nettoyer les données Excel (et autres), Power Query est juste incroyable aussi =)
Maxime
C’est vrai Maxime, Power Query est un superbe outil. Moi, je prépare mes données essentiellement avec Access et le VBA pour automatiser cette étape.
Bon week-end,
Benoît