Syntaxe
La fonction STXT s’écrit de la façon suivante :
= STXT( texte ; no_départ ; no_car )
Cette fonction possède 3 arguments :
texte
– Texte dont on souhaite récupérer une partie.no_départ
– Le numéro du premier caractère à extraire.no_car
– Le nombre de caractères à extraire.
La fonction STXT permet de récupérer un certain nombre de caractères dans une valeur donnée. À la différence de la fonction GAUCHE ou de la fonction DROITE, on n’est pas obligé d’extraire à partir d’une extrémité du texte. La fonction nous laisse la possibilité de préciser à partir de quel caractère nous souhaitons extraire du texte ainsi que la taille du texte souhaitée.
Dans l’exemple ci-dessous, nous voulons les 3 caractères situés à partir du 11e caractère du texte donné.
= STXT( "Bienvenue sur Cleex" ; 11 ; 3 )
--> Résultat : "sur"
Si nous indiquons un nombre de caractères plus grand que ceux disponibles, la fonction renverra uniquement le texte disponible.
= STXT( "Bienvenue sur Cleex" ; 11 ; 30 )
--> Résultat : "sur Cleex"
La fonction STXT fonctionne également avec des nombres mais elle renverra alors du texte. On pourra se servir de la fonction CNUM pour forcer Excel à convertir la valeur en nombre.
= STXT( "1234,56" ; 2 ; 2 )
--> Résultat : "23"
= CNUM( STXT( "1234,56" ; 2 ; 2 ) )
--> Résultat : 23
Quelques utilisations de la fonction STXT
Extraire le texte après un caractère spécifique
Pour récupérer l’ensemble du texte après un caractère spécifique, il faudra se servir de la fonction STXT ainsi que de la fonction CHERCHE. Cette dernière renvoie la position du caractère recherché. Voici la formule.
= STXT( "123-456-789" ;
CHERCHE( "-" ; "123-456-789" ; 1 ) + 1 ;
30 )
--> Résulat : "456-789"
ou
= STXT( A1 ;
CHERCHE( "-" ; A1 ; 1 ) + 1 ;
30 )
--> si A1 contient "123-456-789"
Extraire le texte entre deux caractères spécifiques
De la même façon il est possible de récupérer l’extrait du texte compris entre deux caractères. La formule est plus complexe puisqu’elle demande de faire à plusieurs reprises des fonctions CHERCHE. En effet, pour déterminer le nombre de caractères à extraire, il faut calculer la position du second caractère spécifique et la soustraire à la position du premier.
= STXT(
A1 ;
CHERCHE( "-" ; A1 ; 1 ) + 1 ;
CHERCHE( "-" ; A1 ;
CHERCHE( "-" ; A1 ; 1 ) + 1 )
- ( CHERCHE( "-" ; A1 ; 1 ) + 1 )
)
--> Résultat : "456" puis
A1 = "123-456-789"
Formules en lien
- Remplacer un caractère par un autre (yc spéciaux)
- Compter le nombre de cellules contenant du texte
- Compter le nombre de cellules contenant une partie du texte (mot, caractère)
- Compter le nombre de cellules égales à un texte
- Si cellule contient un texte
- Si cellule contient un texte (sensible à la casse)
- Si cellule contient texte alors 1
- Si cellule ne contient pas un mot ou une partie du texte
- Compter le nombre de cellules commençant par
- Compter le nombre de cellules se terminant par
- Convertir date en texte
- Extraire le texte après un caractère
Fonctions en lien
- CONCATENER
- CONCAT
- JOINDRE.TEXTE
- TROUVE
- CTXT
- GAUCHE
- DROITE
- NBCAR
- MINUSCULE
- MAJUSCULE
- NOMPROPRE
- CHERCHE
- SUBSTITUE
- REMPLACER
- CNUM
- TEXTE
- EXACT
- TEXTE.AVANT
- TEXTE.APRES
- SUPPRESPACE