Extraire le texte après la dernière occurrence d'un caractère spécifique
Si vous avez une liste de chaînes de texte complexes contenant plusieurs délimiteurs (prenez l'exemple de la capture d'écran ci-dessous, qui contient des tirets, des virgules et des espaces dans une cellule), et que vous souhaitez trouver la position de la dernière occurrence du tiret, puis extraire la sous-chaîne après celui-ci. Dans cet article, je vais vous présenter quelques formules pour accomplir cette tâche.
- Formule 1 : Extraire la sous-chaîne après la dernière occurrence d'un délimiteur spécifique
- Formule 2 : Extraire la sous-chaîne après la dernière occurrence d'un délimiteur spécifique
Formule 1 : Extraire la sous-chaîne après la dernière occurrence d'un délimiteur spécifique
Dans Excel, la fonction DROITE combinée avec les fonctions NBCAR, CHERCHE et SUBSTITUE peut vous aider à créer une formule pour résoudre ce problème.
1. Pour extraire la sous-chaîne après la dernière occurrence du caractère tiret, veuillez entrer ou copier la formule suivante dans une cellule vide :
2. Ensuite, faites glisser la poignée de recopie vers le bas jusqu'aux cellules où vous souhaitez appliquer cette formule, et vous obtiendrez le résultat comme indiqué dans la capture d'écran ci-dessous :
Explication de la formule :
1. NBCAR(A2)-NBCAR(SUBSTITUE(A2;"-";"")) : Cette partie permet d'obtenir le nombre de caractères tirets dans la cellule A2.
- NBCAR(A2) : Cette fonction NBCAR renvoie le nombre total de caractères dans la cellule A2. Elle retournera : 44.
- SUBSTITUE(A2;"-";"") : Cette fonction SUBSTITUE est utilisée pour remplacer tous les tirets par rien. Vous obtiendrez alors le résultat suivant : “InsertSupprimerlignes, feuilles, images, formules”.
- NBCAR(SUBSTITUE(A2;"-";"")) : Obtenez la longueur totale de la chaîne de texte dans la cellule A2 sans les tirets.
- NBCAR(A2)-NBCAR(SUBSTITUE(A2;"-";"")) : Soustrayez la longueur de la chaîne de texte sans tirets de la longueur totale de la chaîne pour obtenir le nombre de tirets, ce qui donnera 2.
2. SUBSTITUE(A2;"-";"#";NBCAR(A2)-NBCAR(SUBSTITUE(A2;"-";""))) : Cette fonction SUBSTITUE est utilisée pour remplacer la dernière occurrence du tiret, retournée par la première partie de la formule, par un caractère #. Vous obtiendrez alors ce résultat : “Insert-Supprimer#lignes, feuilles, images, formules”.
3. CHERCHE("#";SUBSTITUE(A2;"-";"#";NBCAR(A2)-NBCAR(SUBSTITUE(A2;"-";""))))= CHERCHE("#"; "Insert-Supprimer#lignes, feuilles, images, formules") : Cette fonction CHERCHE retournera la position du caractère # dans la chaîne de texte retournée par la fonction SUBSTITUE. Elle obtiendra le nombre 14.
4. NBCAR(A2)-CHERCHE("#";SUBSTITUE(A2;"-";"#";NBCAR(A2)-NBCAR(SUBSTITUE(A2;"-";"")))) : Cette partie de la formule permet de savoir combien de caractères se trouvent après le dernier tiret. Cela donnera le nombre 30.
5. DROITE(A2;NBCAR(A2)-CHERCHE("#";SUBSTITUE(A2;"-";"#";NBCAR(A2)-NBCAR(SUBSTITUE(A2;"-";"")))))= DROITE(A2; 30) : Enfin, la fonction DROITE est utilisée pour extraire 30 caractères, retournés par la formule à l'étape 4, depuis la droite de la chaîne de texte dans la cellule A2.
Remarques :
1. Si vous devez extraire le texte après la dernière occurrence d'autres délimiteurs, il vous suffit de remplacer le caractère tiret par un autre délimiteur selon vos besoins.
2. S'il n'y a pas le délimiteur spécifique dans la chaîne de texte, la formule ci-dessus générera une valeur d'erreur, voir la capture d'écran :
Pour corriger cette erreur, vous pouvez inclure la formule ci-dessus dans la fonction SIERREUR, veuillez appliquer la formule suivante :
Formule 2 : Extraire la sous-chaîne après la dernière occurrence d'un délimiteur spécifique
Voici une autre formule simple créée avec les fonctions SUPPRESPACE, DROITE, SUBSTITUE, REPT et NBCAR qui peuvent également vous aider à résoudre cette tâche dans Excel.
1. Veuillez copier ou entrer la formule ci-dessous dans une cellule vide où vous souhaitez obtenir le résultat :
2. Ensuite, faites glisser la poignée de recopie vers le bas jusqu'aux cellules où vous souhaitez appliquer cette formule, et toutes les sous-chaînes après les derniers tirets auront été extraites comme indiqué dans la capture d'écran ci-dessous :
Explication de la formule :
1. NBCAR(A2) : Cette fonction NBCAR renvoie le nombre total de caractères dans la cellule A2. Ce nombre sera reconnu comme l'argument num_chars dans la fonction DROITE. Elle retournera : 44.
2. SUBSTITUE(A2;"-";REPT(" ";NBCAR(A2))) :
- REPT(" ";NBCAR(A2)) : Cette fonction REPT est utilisée pour obtenir un certain nombre de chaînes d'espaces en fonction de la longueur de la cellule A2.
- SUBSTITUE(A2;"-";REPT(" ";NBCAR(A2))) : Cette fonction SUBSTITUE remplacera les caractères tirets dans la cellule A2 par les chaînes d'espaces retournées par la fonction REPT.
Cette partie de la formule sera reconnue comme l'argument text dans la fonction DROITE.
3. DROITE(SUBSTITUE(A2;"-";REPT(" ";NBCAR(A2)));NBCAR(A2)) : Cette fonction DROITE récupérera le texte à partir de la droite de la chaîne de texte retournée par la fonction SUBSTITUE.
4. SUPPRESPACE() : Cette fonction SUPPRESPACE est utilisée pour supprimer tous les espaces supplémentaires et ne laisser qu'un seul espace entre les mots.
Fonctions connexes utilisées :
- DROITE :
- La fonction DROITE extrait un nombre spécifique de caractères à partir de la droite de la chaîne de texte.
- CHERCHE :
- La fonction CHERCHE peut vous aider à trouver la position d'un caractère ou d'une sous-chaîne spécifique dans le texte donné.
- NBCAR :
- La fonction NBCAR renvoie le nombre de caractères dans une chaîne de texte.
- SUBSTITUE :
- La fonction SUBSTITUE de Microsoft Excel remplace du texte ou des caractères dans une chaîne de texte par un autre texte ou des caractères.
- SUPPRESPACE :
- La fonction SUPPRESPACE supprime tous les espaces supplémentaires d'une chaîne de texte et ne conserve qu'un seul espace entre les mots.
- REPT :
- La fonction REPT est utilisée pour répéter les caractères un nombre spécifié de fois.
Articles connexes :
- Extraire plusieurs lignes d'une cellule
- Si vous avez une liste de chaînes de texte séparées par des sauts de ligne (qui surviennent en appuyant sur les touches Alt + Entrée lors de la saisie du texte), et que vous souhaitez extraire ces lignes de texte dans plusieurs cellules comme indiqué dans la capture d'écran ci-dessous. Comment pourriez-vous résoudre cela avec une formule dans Excel ?
- Extraire le Nième mot d'une chaîne de texte dans Excel
- Si vous avez une liste de chaînes de texte ou de phrases, et que vous souhaitez extraire un mot spécifique (le Nième mot) de la liste comme indiqué dans la capture d'écran ci-dessous. Cet article vous présentera quelques méthodes pour résoudre ce problème dans Excel.
- Extraire le texte entre parenthèses d'une chaîne de texte
- S'il y a une partie du texte entourée de parenthèses dans la chaîne de texte, et que vous devez extraire toutes les chaînes de texte situées entre les parenthèses comme indiqué dans la capture d'écran ci-dessous. Comment pourriez-vous résoudre cette tâche rapidement et facilement dans Excel ?
- Extraire une sous-chaîne d'une chaîne de texte dans Excel
- Il peut être courant pour vous d'avoir besoin d'extraire des sous-chaînes de chaînes de texte. Dans Excel, il n'y a pas de fonction directe pour faire cela, mais avec l'aide des fonctions GAUCHE, DROITE, STXT et CHERCHE, vous pouvez extraire différents types de sous-chaînes selon vos besoins.
Les meilleurs outils de productivité pour Office
Kutools pour Excel - Vous aide à vous démarquer de la foule
Kutools pour Excel compte plus de 300 fonctionnalités, garantissant que ce dont vous avez besoin n'est qu'à un clic...
Office Tab - Active la lecture et l'édition par onglets dans Microsoft Office (y compris Excel)
- Une seconde pour basculer entre des dizaines de documents ouverts !
- Réduit des centaines de clics de souris pour vous chaque jour, dites adieu à la main de la souris.
- Augmente votre productivité de 50 % lors de la consultation et de l'édition de plusieurs documents.
- Apporte des onglets efficaces à Office (y compris Excel), tout comme Chrome, Edge et Firefox.