SUBSTITUE() - Remplacer une chaîne de texte par une autre
Cette fonction est différente de la fonction REMPLACER() qui remplace n'importe quel texte dont on indique simplement la position et la longueur, tandis que SUBSTITUE() remplace un texte spécifique à l'intérieur d'une chaîne de texte.
Selon le paramétrage du dernier argument, cette fonction est capable de remplacer soit une occurrence spécifique soit toutes les occurrences d'un texte, tandis que la fonction REMPLACER() ne remplace qu'une seule occurrence.
Syntaxe
SUBSTITUE(texte; ancien texte; nouveau texte; position)
- texte représente le texte ou la référence à une cellule cellule dont on veut remplacer certains caractères,
- ancien texte est le texte à remplacer,
- nouveau texte est le texte qui doit remplacer l'ancien,
- position est un argument facultatif, il indique quelle occurrence de l'ancien texte on souhaite remplacer par le nouveau texte. Si cet argument n'est pas indiqué, toutes les occurrences de l'ancien texte sont remplacées par le nouveau texte, sinon seule l'occurrence indiquée est remplacée.
A noter
- Les arguments de la fonction peuvent être des références à des cellules, des formules, ou du texte saisi. En cas de saisie, chiffres ou textes, les arguments doivent être notés entre guillemets.
- La fonction SUBSTITUE() est sensible à la casse :
- SUSTITUE() renvoie des résultats au format texte, (les suites de chiffres sont alignées à gauche); pour obtenir un format numérique vous pouvez encadrer la fonction SUBSTITUE() par la fonction CNUM() :
Exemples
Dans le tableau ci-dessous nous souhaitons inscrire en colonne B les codes de la colonne A sans les caractères *
La fonction SUBSTITUE() permet de ne remplacer qu'une seule occurrence de texte en précisant sa position dans le dernier argument. Par exemple dans le tableau ci-dessous nous souhaitons conserver le premier caractère * et remplacer le second par un espace:
La formule ne remplace que la deuxième occurrence du caractère *.
SUBSTITUE() peut-être associée à d'autres fonctions pour effectuer des calculs ou manipuler des chaînes de caractères.
Imaginons que la cellule A1 contienne le texte Bonjour, nous voulons calculer le nombre de o contenus en cellule A1:
=NBCAR(A1)-NBCAR(SUBSTITUE(A1;"o";""))
Cette formule renvoie 2.
Explications: NBCAR(A1) compte le nombre de caractères contenus en cellule A1, =NBCAR(A1) renvoie ici 7
Extrait du fichier d'exercices :