Extraire du Texte d’une Cellule – Excel et Google Sheets
Télécharger le Classeur Exemple
Ce tutoriel montre comment extraire du texte d’une cellule dans Excel et Google Sheets.
Extraire du Texte à Partir de la Gauche
Vous pouvez extraire du texte du côté gauche d’une cellule dans Excel en utilisant la fonction GAUCHE. Il suffit de fournir le texte, et d’entrer le nombre de caractères à retourner.
Toutefois, cette fonction ne permet d’extraire qu’un nombre fixe de caractères. Vous pouvez voir ci-dessus que certaines températures de cuisson sont correctement extraites (ex. 300); mais d’autres non (ex. 95F). Pour créer une formule dynamique qui fonctionnera dans tous les scénarios, nous pouvons utiliser la fonction NBCAR, combinée à la fonction GAUCHE.
Fonction NBCAR – Compter des Caractères dans une Cellule
Utilisez la fonction NBCAR pour compter le nombre de caractères dans une cellule :
=NBCAR(C3)
Fonction GAUCHE – Obtenir des Caractères à Partir de la Gauche
Ensuite, créez une nouvelle fonction GAUCHE qui extrait un nombre de caractères déterminé par la fonction NBCAR créée ci-dessus.
=GAUCHE(C3; E3-1)
La combinaison de ces fonctions ressemble à ceci :
=GAUCHE(C3;NBCAR(C3)-1)
Fonctions DROITE et NBCAR
Nous pouvons également extraire les caractères à partir de la droite d’une cellule en utilisant la fonction DROITE pour renvoyer un certain nombre de caractères spécifié.
=DROITE(C3;NBCAR(C3)-n)
Fonctions STXT et CHERCHE
Dans la section suivante, nous allons utiliser les fonctions CHERCHE et STXT pour extraire les caractères du milieu d’une chaîne de texte.
=STXT(B3;CHERCHE(" ";B3)+1;999)
Fonction CHERCHE
Tout d’abord, nous utilisons la fonction CHERCHE pour trouver la position de l’espace ( » « ) entre le prénom et le nom.
=CHERCHE(" "; B3)
Fonction STXT
Ensuite, nous utilisons la fonction STXT pour retourner tous les caractères après l’espace.
- Nous devons ajouter 1 au résultat de la formule précédente afin de retourner le premier caractère après l’espace.
- Nous utilisons le grand nombre 999 pour retourner tous les caractères.
=STXT(B3; C3+1; 999)
En combinant ces 2 fonctions, on obtient la formule originale du nom de famille.
=STXT(B3; CHERCHE(B3; " ")+1; 999)
Extraire le Texte Avant ou Après un Caractère Spécifique
Vous pouvez également utiliser les fonctions GAUCHE, DROITE, NBCAR et CHERCHE pour extraire le texte avant ou après un caractère spécifique. Dans ce cas, nous allons séparer les noms et les prénoms.
Extraire le Texte Avant un Caractère
Tout d’abord, nous pouvons utiliser la fonction CHERCHE pour trouver la position de la virgule dans la chaîne de texte.
=CHERCHE(";"; B3)
Ensuite, nous pouvons utiliser la fonction GAUCHE pour extraire le texte situé avant la position de la virgule.
- Nous devons soustraire 1 de la position de la virgule pour ne pas inclure la virgule dans notre résultat.
=GAUCHE(B3; CHERCHE(";";B3)-1)
En combinant ces 2 fonctions, on obtient la formule originale pour le nom de famille.
Extraire le Texte Après le Caractère
=DROITE(B3;NBCAR(B3)-CHERCHE(";";B3)-1)
En plus d’utiliser une fois de plus la fonction CHERCHE, nous utilisons également la fonction NBCAR en conjonction avec la fonction DROITE pour extraire le texte après un caractère spécifique.
La fonction NBCAR permet d’obtenir la longueur du texte en B3; tandis que la fonction CHERCHE est à nouveau utilisée pour trouver la position de la virgule. Nous utilisons ensuite la fonction DROITE pour extraire les caractères après la virgule dans la chaîne de texte.
Extraction de Texte au Milieu d’une Chaîne de Texte
Ensuite, nous allons voir comment extraire du texte du milieu d’une chaîne de caractères
Pour extraire le texte du milieu d’une chaîne de texte, nous pouvons utiliser les fonctions DROITE, CHERCHE et NBCAR pour obtenir le texte du côté droit de la chaîne, puis utiliser les fonctions STXT et NBCAR pour obtenir le texte du milieu. Nous intégrerons également la fonction SUPPRESPACE pour couper les espaces éventuels de part et d’autre de la chaîne de texte.
=DROITE(B3;NBCAR(B3)-CHERCHE(" ";B3)-NBCAR(SUPPRESPACE(STXT(B3;CHERCHE(" ";B3;1)+1;
Cette formule ne fonctionnera que s’il y a plus d’un espace dans la chaîne de texte. S’il n’y a qu’un seul espace, une erreur #VALEUR sera renvoyée.
Pour résoudre ce problème, pour les noms sans second prénom ou initiales, nous pouvons utiliser la formule originale en utilisant les fonctions STXT et CHERCHE.
= STXT(B3;CHERCHE(" ";B3)+1;999))
Nous pouvons créer une formule unique qui utilise les deux techniques pour traiter toutes les situations avec la fonction SIERREUR. (La fonction SIERREUR effectue un calcul. Si ce calcul aboutit à une erreur, un autre calcul est effectué)
=SIERREUR(DROITE(B3;NBCAR(B3)-CHERCHE(" ";B3)-NBCAR(SUPPRESPACE(STXT(B3;CHERCHE(" ";B3;1)+1;
CHERCHE(" ";B3;CHERCHE(" ";B3;1)+1)-CHERCHE(" ";B3;1))))-1);STXT(B3;CHERCHE(" ";B3)+1;999))
Nous pouvons alors utiliser les fonctions STXT et NBCAR pour obtenir le deuxième prénom ou l’initiale.
=STXT(B3;NBCAR(C3)+1;NBCAR(B3)-NBCAR(C3&D3))
Extraire du Texte d’une Cellule dans Google Sheets
Tous les exemples ci-dessus fonctionnent de la même manière dans Google Sheets.