Scinder une chaîne de caractères dans Excel : Les méthodes indispensables
L'une des tâches les plus fréquentes lorsqu'on travaille avec des données dans Excel est de devoir séparer une chaîne de caractères en plusieurs parties. Imaginez que vous ayez une colonne contenant des noms et prénoms combinés, et que vous souhaitiez les séparer en deux colonnes distinctes. Ou encore, que vous ayez des codes produits contenant des informations spécifiques que vous devez extraire. Excel propose plusieurs fonctions pour réaliser cette opération, et nous allons les explorer en détail.
1. Utiliser les fonctions GAUCHE, DROITE et STXT
Ces trois fonctions sont les piliers de la manipulation de chaînes de caractères dans Excel. Elles permettent d'extraire une partie d'une chaîne en spécifiant la position de départ et le nombre de caractères à extraire.
- GAUCHE(texte, nombre_de_caractères) : Cette fonction extrait un certain nombre de caractères à partir du début (gauche) d'une chaîne de texte.
- DROITE(texte, nombre_de_caractères) : Cette fonction extrait un certain nombre de caractères à partir de la fin (droite) d'une chaîne de texte.
- STXT(texte, position_de_départ, nombre_de_caractères) : Cette fonction extrait un certain nombre de caractères à partir d'une position spécifiée dans une chaîne de texte.
Exemple pratique : Extraire le prénom et le nom
Supposons que vous ayez une colonne A contenant des noms et prénoms au format "Nom Prénom". Vous pouvez utiliser les fonctions GAUCHE et STXT combinées à la fonction CHERCHE pour séparer le nom et le prénom.
- Trouver la position de l'espace : Utilisez la formule
=CHERCHE(" ",A1)pour trouver la position de l'espace entre le nom et le prénom. Cette formule recherche l'espace dans la cellule A1 et renvoie sa position. - Extraire le nom : Utilisez la formule
=GAUCHE(A1,CHERCHE(" ",A1)-1)pour extraire le nom. Cette formule utilise la fonction GAUCHE pour extraire tous les caractères situés à gauche de l'espace. On soustrait 1 à la position de l'espace pour ne pas inclure l'espace lui-même. - Extraire le prénom : Utilisez la formule
=STXT(A1,CHERCHE(" ",A1)+1,NBCAR(A1)-CHERCHE(" ",A1))pour extraire le prénom. Cette formule utilise la fonction STXT pour extraire les caractères situés après l'espace.NBCAR(A1)renvoie le nombre total de caractères dans la cellule A1. On soustrait la position de l'espace pour obtenir le nombre de caractères du prénom.CHERCHE(" ",A1)+1indique la position de départ du prénom (juste après l'espace).
Capture d'écran (description textuelle): Un tableau Excel avec une colonne "Nom complet" (A) contenant des noms et prénoms, et deux colonnes "Nom" (B) et "Prénom" (C) contenant les résultats des formules expliquées ci-dessus. Les formules sont affichées dans la barre de formule pour les cellules B1 et C1.
Exemple pratique : Extraire des informations d'un code produit
Imaginez un code produit comme "ABC-1234-XYZ". Vous voulez extraire la partie "1234".
- Trouver la position du premier tiret :
=CHERCHE("-",A1) - Trouver la position du deuxième tiret :
=CHERCHE("-",A1,CHERCHE("-",A1)+1)(On utilise le troisième argument de CHERCHE pour commencer la recherche après le premier tiret). - Extraire la partie centrale :
=STXT(A1,CHERCHE("-",A1)+1,CHERCHE("-",A1,CHERCHE("-",A1)+1)-CHERCHE("-",A1)-1)
Cette formule extrait la partie située entre les deux tirets. Elle utilise STXT pour extraire les caractères, et CHERCHE pour déterminer les positions de départ et de fin de la partie à extraire.
2. Utiliser la fonction TEXTE.APRES (Excel 365 et versions ultérieures)
Si vous utilisez Excel 365 ou une version ultérieure, la fonction TEXTE.APRES simplifie grandement la séparation des chaînes de caractères. Elle permet d'extraire le texte après un ou plusieurs délimiteurs spécifiés.
Syntaxe : TEXTE.APRES(texte, délimiteur, [occurrence], [correspondance_casse], [mode_vide])
texte: La chaîne de texte d'origine.délimiteur: Le caractère ou la chaîne de caractères à utiliser comme séparateur.[occurrence]: (Facultatif) Indique quelle occurrence du délimiteur utiliser pour la séparation (par défaut, la première).[correspondance_casse]: (Facultatif) Indique si la recherche doit être sensible à la casse (par défaut, FAUX).[mode_vide]: (Facultatif) Spécifie ce qu'il faut renvoyer si le délimiteur n'est pas trouvé (par défaut, #N/A).
Exemple pratique : Extraire le prénom avec TEXTE.APRES
En reprenant l'exemple du nom et prénom, la formule pour extraire le prénom serait simplement :
=TEXTE.APRES(A1," ")
Beaucoup plus simple et lisible que la combinaison de GAUCHE, STXT et CHERCHE !
Exemple pratique : Extraire la partie après le deuxième tiret
Pour extraire la partie après le deuxième tiret dans le code produit "ABC-1234-XYZ", vous utiliserez :
=TEXTE.APRES(A1,"-",2)
3. Utiliser la fonction TEXTE.AVANT (Excel 365 et versions ultérieures)
De manière similaire à TEXTE.APRES, la fonction TEXTE.AVANT permet d'extraire le texte avant un délimiteur spécifié.
Syntaxe : TEXTE.AVANT(texte, délimiteur, [occurrence], [correspondance_casse], [mode_vide])
Elle prend les mêmes arguments que TEXTE.APRES, ce qui la rend très facile à utiliser.
Exemple pratique : Extraire le nom avec TEXTE.AVANT
Pour extraire le nom de la cellule A1 (contenant "Nom Prénom"), la formule serait :
=TEXTE.AVANT(A1," ")
4. Utiliser l'outil "Convertir" (Données > Convertir)
Excel offre un outil intégré pour convertir des données textuelles en colonnes distinctes. Cet outil est particulièrement utile lorsque vous avez une grande quantité de données à diviser et que les délimiteurs sont constants.
- Sélectionnez la colonne contenant les données à diviser.
- Allez dans l'onglet Données et cliquez sur Convertir.
- L'Assistant Conversion s'ouvre. Choisissez Délimité si vos données sont séparées par des caractères tels que des virgules, des espaces, des points-virgules, etc. Choisissez Largeur fixe si vos données ont une structure où chaque partie a une longueur fixe.
- Dans l'étape suivante, sélectionnez le délimiteur approprié (par exemple, espace, virgule, point-virgule, autre) ou définissez les largeurs de colonnes si vous avez choisi l'option "Largeur fixe".
- Cliquez sur Suivant pour définir le format des données de chaque colonne (texte, date, etc.).
- Cliquez sur Terminer pour effectuer la conversion. Les données seront divisées en colonnes distinctes.
Capture d'écran (description textuelle): Capture d'écran de l'assistant de conversion Excel, montrant l'étape de sélection du délimiteur (espace) et l'aperçu des données divisées en colonnes.
5. Combiner les fonctions avec la gestion des erreurs
Il est important de gérer les erreurs potentielles lorsque vous utilisez des formules pour diviser des chaînes de caractères. Par exemple, si une cellule ne contient pas le délimiteur recherché, la fonction CHERCHE renverra une erreur #VALEUR!. Pour éviter cela, vous pouvez utiliser la fonction SIERREUR.
Exemple :
=SIERREUR(GAUCHE(A1,CHERCHE(" ",A1)-1),A1)
Cette formule essaie d'extraire le nom en utilisant la fonction GAUCHE. Si une erreur se produit (par exemple, si la cellule A1 ne contient pas d'espace), la formule renvoie la valeur de la cellule A1 (c'est-à-dire, la chaîne entière).
Bonnes pratiques et erreurs à éviter
- Soyez précis avec les délimiteurs : Assurez-vous que le délimiteur que vous spécifiez dans vos formules est correct et consistent dans toutes les cellules.
- Gérez les erreurs : Utilisez la fonction
SIERREURpour éviter que les erreurs n'apparaissent dans vos résultats. - Testez vos formules : Avant d'appliquer une formule à une grande plage de données, testez-la sur quelques cellules pour vous assurer qu'elle fonctionne correctement.
- Utilisez l'outil "Convertir" pour les grandes quantités de données : Si vous avez une grande quantité de données à diviser et que les délimiteurs sont constants, l'outil "Convertir" est plus efficace que d'écrire des formules.
- Adaptez les formules à vos besoins : Les exemples de formules présentés dans cet article sont des points de départ. Vous devrez peut-être les adapter en fonction de la structure de vos données.
En conclusion, scinder une chaîne de caractères dans Excel est une tâche courante qui peut être réalisée de plusieurs manières. Les fonctions GAUCHE, DROITE, et STXT sont des outils puissants pour extraire des parties spécifiques d'une chaîne, tandis que les fonctions TEXTE.AVANT et TEXTE.APRES (Excel 365+) simplifient grandement le processus. L'outil "Convertir" est idéal pour les grandes quantités de données. En comprenant ces différentes méthodes et en appliquant les bonnes pratiques, vous serez en mesure de manipuler efficacement vos données textuelles dans Excel.