Comprendre la Fonction STXT Excel
La fonction STXT (ou MID en anglais) est une fonction de texte qui extrait un certain nombre de caractères d'une chaîne de texte, à partir d'une position spécifiée.
Syntaxe de la Fonction STXT
La syntaxe de la fonction STXT est la suivante :
=STXT(texte, position_départ, nombre_caractères)
- texte : La chaîne de texte contenant les caractères à extraire. Il peut s'agir d'une chaîne de texte directement saisie (entre guillemets) ou d'une référence à une cellule contenant le texte.
- position_départ : La position du premier caractère à extraire. Le premier caractère du texte a la position 1.
- nombre_caractères : Le nombre de caractères à extraire à partir de la position de départ.
Explication Détaillée des Arguments
- Texte : C'est l'argument principal. Il spécifie d'où Excel doit extraire les caractères. Il peut s'agir d'une référence à une cellule (par exemple, A1, B2) ou d'une chaîne de texte littérale (par exemple, "Bonjour le monde").
- Position_départ : Indique à partir de quel caractère Excel doit commencer l'extraction. Il est crucial de bien compter les caractères, en incluant les espaces, pour obtenir le résultat souhaité. Si la
position_départest supérieure à la longueur dutexte, STXT renvoie une chaîne vide (" "). - Nombre_caractères : Définit combien de caractères Excel doit extraire à partir de la
position_départ. Si la somme deposition_départetnombre_caractèresest supérieure à la longueur dutexte, STXT extrait tous les caractères restants à partir de laposition_départ.
Exemples Pratiques d'Utilisation de la Fonction STXT
Voici quelques exemples concrets pour illustrer l'utilisation de la fonction STXT.
Exemple 1 : Extraire le Nom de Famille d'un Nom Complet
Supposons que vous ayez une liste de noms complets dans la colonne A et que vous souhaitiez extraire uniquement le nom de famille. Si le nom de famille est toujours après le premier espace, vous pouvez utiliser STXT combinée à d'autres fonctions comme CHERCHE et NBCAR.
- Identifier la position de l'espace : Utilisez la fonction
CHERCHE(" ",A1)pour trouver la position du premier espace dans la cellule A1. - Calculer la position de départ du nom de famille : Ajoutez 1 à la position de l'espace pour commencer l'extraction après l'espace.
- Calculer le nombre de caractères à extraire : Utilisez
NBCAR(A1) - CHERCHE(" ",A1)pour obtenir le nombre total de caractères moins la position de l'espace, ce qui donne la longueur du nom de famille. -
Appliquer la fonction STXT : La formule complète sera :
=STXT(A1,CHERCHE(" ",A1)+1,NBCAR(A1)-CHERCHE(" ",A1))
Image : (Description textuelle : Capture d'écran d'une feuille Excel montrant une colonne A avec des noms complets et une colonne B avec les noms de famille extraits en utilisant la formule STXT, CHERCHE et NBCAR.)
Exemple 2 : Extraire un Code Produit d'une Référence
Imaginons que vous ayez des références de produits au format "ABCD-1234-EFG" et que vous souhaitiez extraire uniquement la partie numérique "1234".
- Identifier la position du premier tiret : Utilisez
CHERCHE("-",A1)pour trouver la position du premier tiret. - Identifier la position du deuxième tiret : Utilisez
CHERCHE("-",A1,CHERCHE("-",A1)+1)pour trouver la position du deuxième tiret (en commençant la recherche après le premier tiret). - Calculer la position de départ : La position de départ sera la position du premier tiret + 1.
- Calculer le nombre de caractères à extraire : Le nombre de caractères sera la position du deuxième tiret moins la position du premier tiret moins 1.
-
Appliquer la fonction STXT : La formule complète sera :
=STXT(A1,CHERCHE("-",A1)+1,CHERCHE("-",A1,CHERCHE("-",A1)+1)-CHERCHE("-",A1)-1)
Image : (Description textuelle : Capture d'écran d'une feuille Excel montrant une colonne A avec des références de produits et une colonne B avec les codes produits extraits en utilisant la formule STXT et CHERCHE.)
Exemple 3 : Extraire les N Premiers Caractères
Si vous souhaitez extraire les 3 premiers caractères d'une cellule, par exemple, utilisez :
=STXT(A1,1,3)
Cela extraira les 3 premiers caractères de la cellule A1.
Image : (Description textuelle : Capture d'écran d'une feuille Excel montrant l'extraction des 3 premiers caractères d'une colonne.)
STXT Combinée à d'Autres Fonctions Excel
La puissance de STXT réside dans sa capacité à être combinée avec d'autres fonctions pour réaliser des extractions plus complexes.
Utilisation avec CHERCHE et TROUVE
Comme vu dans les exemples précédents, CHERCHE (insensible à la casse) et TROUVE (sensible à la casse) sont souvent utilisées pour déterminer la position de départ et le nombre de caractères à extraire. TROUVE peut être utile si la casse est importante dans votre recherche.
Utilisation avec NBCAR et LEN
NBCAR (en français) ou LEN (en anglais) renvoie le nombre de caractères d'une chaîne de texte. Elle est utile pour calculer le nombre de caractères à extraire lorsqu'il est variable.
Utilisation avec SI et ESTERREUR
Pour gérer les erreurs potentielles (par exemple, si la chaîne de texte ne contient pas le caractère recherché), vous pouvez utiliser les fonctions SI et ESTERREUR pour renvoyer une valeur par défaut ou un message d'erreur personnalisé.
Bonnes Pratiques et Astuces pour Utiliser STXT
- Vérifiez vos données : Assurez-vous que le format de vos données est cohérent pour éviter les erreurs d'extraction.
- Testez vos formules : Avant d'appliquer une formule STXT à une grande plage de données, testez-la sur quelques exemples pour vous assurer qu'elle fonctionne correctement.
- Utilisez des noms de plages : Si vous utilisez la même plage de données à plusieurs reprises, définissez un nom de plage pour faciliter la lecture et la maintenance de vos formules.
- Gérez les erreurs : Utilisez les fonctions SI et ESTERREUR pour gérer les erreurs potentielles et rendre vos feuilles de calcul plus robustes.
- Comprendre les différences entre CHERCHE et TROUVE: CHERCHE est insensible à la casse, tandis que TROUVE est sensible à la casse. Choisissez la fonction appropriée en fonction de vos besoins.
Erreurs Courantes à Éviter avec la Fonction STXT
- Erreur #VALEUR! : Cette erreur se produit généralement si vous utilisez une valeur non numérique comme
position_départounombre_caractères. - Erreur #NOM? : Cette erreur indique qu'Excel ne reconnaît pas le nom de la fonction. Vérifiez que vous avez correctement orthographié STXT.
- Extrait une chaîne vide : Si la
position_départest supérieure à la longueur dutexte, STXT renvoie une chaîne vide. - Mauvais calcul de la position de départ : Une erreur courante est de ne pas prendre en compte les espaces ou d'oublier d'ajouter ou de soustraire 1 lors du calcul de la position de départ.
- Dépasser la longueur de la chaîne : Si la somme de
position_départetnombre_caractèresest supérieure à la longueur dutexte, STXT extrait tous les caractères restants à partir de laposition_départ, ce qui peut ne pas être le résultat souhaité.
Alternatives à la Fonction STXT
Bien que STXT soit très utile, il existe d'autres fonctions Excel qui peuvent être utilisées pour manipuler le texte.
- GAUCHE (LEFT) : Extrait un certain nombre de caractères à partir du début d'une chaîne de texte.
- DROITE (RIGHT) : Extrait un certain nombre de caractères à partir de la fin d'une chaîne de texte.
- REMPLACER (REPLACE) : Remplace une partie d'une chaîne de texte par une autre chaîne de texte.
- SUBSTITUE (SUBSTITUTE) : Remplace une occurrence spécifique d'une chaîne de texte par une autre chaîne de texte.
- TEXTE.AVANT (TEXTBEFORE), TEXTE.APRES (TEXTAFTER), TEXTE.DIVISER (TEXTSPLIT) : Fonctions plus récentes (Excel 365) qui offrent une plus grande flexibilité pour extraire du texte en fonction de délimiteurs.
Conclusion
La fonction STXT Excel est un outil indispensable pour l'extraction et la manipulation de texte. En comprenant sa syntaxe et en l'associant à d'autres fonctions, vous pouvez automatiser de nombreuses tâches et simplifier l'analyse de vos données. N'hésitez pas à expérimenter avec les exemples fournis et à adapter les formules à vos besoins spécifiques. Avec un peu de pratique, vous maîtriserez rapidement la fonction STXT et exploiterez pleinement son potentiel.