Comprendre la Fonction EXCEL MID (STXT)
La fonction EXCEL MID (ou STXT, son équivalent français) est conçue pour extraire une portion spécifique d'une chaîne de texte. Elle est particulièrement utile lorsque vous avez besoin d'isoler des caractères en fonction de leur position dans la chaîne.
Syntaxe de la fonction MID :
=MID(texte, start_num, num_chars)
texte: La chaîne de texte contenant les caractères que vous souhaitez extraire. Cela peut être une chaîne de texte directement entrée dans la formule (entre guillemets) ou une référence à une cellule contenant le texte.start_num: La position du premier caractère que vous souhaitez extraire. Le premier caractère de la chaîne est en position 1.num_chars: Le nombre de caractères à extraire, à partir destart_num.
Syntaxe de la fonction STXT (version française) :
=STXT(texte; no_départ; nb_caractères)
texte: Identique à la version anglaise.no_départ: Identique àstart_num.nb_caractères: Identique ànum_chars.
Exemples Simples d'Utilisation de MID/STXT
Exemple 1: Extraire "World" de "Hello World!"
- Dans une cellule, par exemple A1, entrez le texte : "Hello World!"
- Dans une autre cellule, entrez la formule :
=MID(A1, 7, 5)ou=STXT(A1; 7; 5) - Le résultat affiché sera "World".
Explication: On commence à extraire à partir du 7ème caractère (le "W" de "World") et on extrait 5 caractères.
Exemple 2: Extraire les 3 premiers chiffres d'un code produit
- Dans la cellule A1, entrez le code produit : "12345-ABC"
- Dans une autre cellule, entrez la formule :
=MID(A1, 1, 3)ou=STXT(A1; 1; 3) - Le résultat affiché sera "123".
Explication: On commence à extraire à partir du 1er caractère et on extrait 3 caractères.
Applications Pratiques de la Fonction MID/STXT
La fonction MID/STXT est extrêmement polyvalente et peut être utilisée dans de nombreux scénarios réels.
Extraction de Données Structurées
Imaginez que vous ayez une colonne contenant des adresses complètes au format : "Nom, Rue, Code Postal Ville, Pays". Vous pouvez utiliser MID/STXT en combinaison avec d'autres fonctions comme FIND (CHERCHE) et LEN (NBCAR) pour extraire chaque élément de l'adresse dans des colonnes séparées.
Exemple: Extraire le Code Postal d'une Adresse
Supposons que l'adresse complète soit dans la cellule A1 et qu'elle soit au format "Nom, Rue, Code Postal Ville, Pays".
- Trouver la position du premier chiffre du code postal :
=FIND(", ",A1)+2(Cette formule trouve la position de la virgule et de l'espace après la rue, puis ajoute 2 pour obtenir la position du premier chiffre du code postal). - Trouver la position de l'espace après le code postal :
=FIND(" ",A1,FIND(", ",A1)+2)(Cette formule trouve la position du premier espace après le code postal. Le troisième argument de la fonction FIND/CHERCHE indique la position de départ de la recherche). - Extraire le code postal :
=MID(A1,FIND(", ",A1)+2,FIND(" ",A1,FIND(", ",A1)+2)-FIND(", ",A1)-2)ou=STXT(A1;CHERCHE(", ";A1)+2;CHERCHE(" ";A1;CHERCHE(", ";A1)+2)-CHERCHE(", ";A1)-2)
Explication: Cette formule complexe utilise FIND/CHERCHE pour déterminer le point de départ et le nombre de caractères à extraire pour obtenir le code postal.
Manipulation de Chaînes de Caractères
MID/STXT peut être combinée avec d'autres fonctions de texte pour manipuler et transformer des chaînes de caractères.
Exemple: Inverser une Chaîne de Caractères (simplifié pour la démonstration)
Bien qu'Excel ne dispose pas d'une fonction native pour inverser une chaîne de caractères, vous pouvez utiliser MID/STXT en conjonction avec des formules matricielles (plus avancées) ou VBA (Visual Basic for Applications) pour réaliser cette opération. Une méthode simplifiée (mais limitée) pourrait consister à extraire chaque caractère individuellement et à les concaténer manuellement dans l'ordre inverse, si vous connaissez la longueur de la chaîne à l'avance.
Nettoyage de Données
La fonction MID/STXT est très utile pour nettoyer des données importées qui peuvent contenir des caractères indésirables ou des formats incohérents.
Exemple: Supprimer les Caractères Superflus au Début d'une Chaîne
Si vous avez des données avec des espaces ou des caractères indésirables au début de chaque chaîne, vous pouvez utiliser MID/STXT pour les supprimer.
- Déterminer la position du premier caractère significatif : Vous pouvez utiliser les fonctions TRIM (SUPPRESPACE) pour supprimer les espaces superflus au début et à la fin d'une chaîne, ou FIND/CHERCHE pour trouver le premier caractère non vide.
- Extraire la chaîne à partir de ce point : Utilisez MID/STXT pour extraire la chaîne à partir de la position déterminée à l'étape précédente.
Par exemple, si la cellule A1 contient " Hello", la formule =MID(A1,FIND("H",A1),LEN(A1)) ou =STXT(A1;CHERCHE("H";A1);NBCAR(A1)) extraira "Hello".
Combiner MID/STXT avec d'Autres Fonctions Excel
La puissance de MID/STXT réside dans sa capacité à être combinée avec d'autres fonctions Excel pour réaliser des opérations complexes.
MID/STXT et FIND/CHERCHE
Comme illustré précédemment, FIND/CHERCHE est souvent utilisée pour déterminer la position de départ de l'extraction avec MID/STXT. Cela permet d'extraire des données en fonction de motifs spécifiques plutôt que de positions fixes.
MID/STXT et LEN/NBCAR
LEN/NBCAR renvoie la longueur d'une chaîne de texte. Elle peut être utilisée pour déterminer le nombre de caractères à extraire avec MID/STXT, ou pour valider la longueur d'une chaîne après extraction.
MID/STXT et IF/SI
IF/SI permet de créer des conditions logiques. Vous pouvez utiliser IF/SI pour appliquer MID/STXT uniquement si certaines conditions sont remplies.
Exemple: Extraire un code si la chaîne contient un certain mot-clé
=IF(ISNUMBER(SEARCH("Important",A1)),MID(A1,1,5),"") ou =SI(ESTNUM(CHERCHE("Important";A1));STXT(A1;1;5);"")
Cette formule extrait les 5 premiers caractères de la cellule A1 uniquement si elle contient le mot "Important". Sinon, elle renvoie une chaîne vide.
Erreurs Courantes et Comment les Éviter
- Erreur #VALUE! : Cette erreur se produit généralement si
start_numest supérieur à la longueur de la chaîne de texte. - Erreur #NAME? : Cette erreur indique généralement une faute de frappe dans le nom de la fonction (par exemple, "MDI" au lieu de "MID").
- Extrait incorrect : Vérifiez que
start_numetnum_charssont corrects et correspondent à la portion de texte que vous souhaitez extraire. N'oubliez pas que le premier caractère est en position 1, et non 0. - Ne pas tenir compte des espaces : Les espaces sont considérés comme des caractères. Assurez-vous de les prendre en compte lors du calcul de
start_numetnum_chars.
Conseils et Astuces pour Maîtriser MID/STXT
- Utilisez des cellules intermédiaires pour les calculs complexes : Si vos formules deviennent trop longues et complexes, décomposez-les en étapes plus petites et stockez les résultats intermédiaires dans des cellules séparées. Cela rendra votre formule plus facile à comprendre et à déboguer.
- Commentez vos formules : Utilisez des commentaires (en ajoutant un apostrophe (') au début de la ligne) pour expliquer la logique de vos formules. Cela sera particulièrement utile si vous devez revenir sur votre feuille de calcul plus tard ou si d'autres personnes doivent la comprendre.
- Testez vos formules avec des exemples : Avant d'appliquer une formule MID/STXT à un grand ensemble de données, testez-la avec quelques exemples pour vous assurer qu'elle fonctionne correctement.
- Utilisez la fonction IFERROR/SIERREUR : Pour gérer les erreurs potentielles, utilisez la fonction IFERROR/SIERREUR pour renvoyer une valeur par défaut (par exemple, une chaîne vide) si la formule MID/STXT renvoie une erreur.
Alternatives à la Fonction MID/STXT
Bien que MID/STXT soit une fonction puissante, il existe d'autres fonctions Excel qui peuvent être utilisées pour manipuler du texte.
- LEFT/GAUCHE : Extrait les caractères à partir du début d'une chaîne.
- RIGHT/DROITE : Extrait les caractères à partir de la fin d'une chaîne.
- TEXTJOIN/JOINDRE.TEXTE : Combine plusieurs chaînes de texte en une seule.
- REPLACE/REMPLACER : Remplace une partie d'une chaîne de texte par une autre.
- SUBSTITUTE/SUBSTITUE : Remplace une occurrence spécifique d'une chaîne de texte par une autre.
La meilleure fonction à utiliser dépendra de la tâche spécifique que vous essayez d'accomplir. Pour extraire des caractères à partir du milieu d'une chaîne, MID/STXT est généralement la meilleure option. Pour extraire à partir du début ou de la fin, LEFT/GAUCHE et RIGHT/DROITE peuvent être plus simples à utiliser.