Extraire les derniers mots d’une cellule

Dernière mise à jour le 05/02/2024
Temps de lecture : 3 minutes

Cet article va vous expliquer comment extraire les derniers mots d'une cellule à partir d'un caractère précis.

MISE A JOUR pour Excel 365

Si vous travaillez avec Excel 365, il est plus simple d'utiliser les fonctions TEXTE.AVANT et TEXTE.APRES

Si vous n'avez pas ces fonctions sur votre version d'Excel, la technique suivante vous permet de le réaliser.

Les fonctions Textes élémentaires dans Excel

Excel possède un grand nombre de fonctions pour travailler les chaînes de caractères, comme GAUCHE, DROITE, STXT.

Il existe également les fonctions CHERCHE ou TROUVE qui retournent la position d'un caractère depuis le début d'une chaîne de caractères. La différence entre ces 2 fonctions c'est que l'un respecte la casse (majuscule / minuscule) et pas l'autre.

En combinant ces fonctions les unes avec les autres, il est possible d'extraire une partie d'une chaîne de caractères sans trop de difficultés comme nous l'avons vu dans cet exemple.

La fonction STXT vous permet d'extraire une partie à l'intérieur d'un texte

Mais il n'y a pas de fonction pour extraire les derniers mots depuis une chaîne de caractères

Trouver la dernière position d'un caractère spécifique

Nous avons détaillé dans cet article comment trouver la dernière position d'un caractère spécifique. avec la formule suivante.

=CHERCHE("µ";SUBSTITUE(A2;"\";"µ";NBCAR(A2)-NBCAR(SUBSTITUE(A2;"\";""))))

Nous allons repartir de l'étape qui nous a permis de remplacer uniquement le dernier "\" et nous allons voir comment utiliser ce résultat pour extraire les derniers caractères

Remplacement du dernier caractere de rupture

Nombre de caractères entre le caractère de rupture et la fin de chaîne

Cette étape peut sembler complexe mais en fait il n'en est rien. En fait, il suffit de retrancher de la longueur totale de la chaîne, la position trouvée à l'étape précédente.

=NBCAR(B2)-CHERCHE("µ";B2)

Nb de caracteres apres le symbole µ

Extraire les derniers mots de chaîne de caractères

Il ne reste plus qu'à utiliser cette valeur dans la fonction DROITE pour obtenir les derniers caractères avec la formule suivante

=DROITE(B2;NBCAR(B2)-CHERCHE("µ";B2))

Extraire les derniers mots dune chaine de caracteres

Ecriture de toutes les étapes dans une seule formule

Pour éviter de découper votre extraction sur plusieurs colonnes, vous pouvez utiliser la formule suivante qui regroupe toutes les étapes précédentes

=DROITE(A2;NBCAR(A2)-CHERCHE("µ";SUBSTITUE(A2;"\";"µ";NBCAR(A2)-NBCAR(SUBSTITUE(A2;"\";"")))))

Si vous utilisez Microsoft 365, vous pouvez écrire votre formule dans une fonction personnalisée pour sécuriser l'écriture de votre formule. Ici, nous avons construits la formule qui a besoin de 2 paramètres ; le texte et le séparateur.

=LAMBDA(text;separateur;LET(lngtext;NBCAR(text);DROITE(text;lngtext-CHERCHE("µ";SUBSTITUE(text;separateur;"µ";lngtext-NBCAR(SUBSTITUE(text;separateur;"")))))))

Fonction personnalisee pour extraire les derniers mots

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Microsoft MVP 2024

Extraire les derniers mots d’une cellule

Reading time: 3 minutes
Dernière mise à jour le 05/02/2024

Cet article va vous expliquer comment extraire les derniers mots d'une cellule à partir d'un caractère précis.

MISE A JOUR pour Excel 365

Si vous travaillez avec Excel 365, il est plus simple d'utiliser les fonctions TEXTE.AVANT et TEXTE.APRES

Si vous n'avez pas ces fonctions sur votre version d'Excel, la technique suivante vous permet de le réaliser.

Les fonctions Textes élémentaires dans Excel

Excel possède un grand nombre de fonctions pour travailler les chaînes de caractères, comme GAUCHE, DROITE, STXT.

Il existe également les fonctions CHERCHE ou TROUVE qui retournent la position d'un caractère depuis le début d'une chaîne de caractères. La différence entre ces 2 fonctions c'est que l'un respecte la casse (majuscule / minuscule) et pas l'autre.

En combinant ces fonctions les unes avec les autres, il est possible d'extraire une partie d'une chaîne de caractères sans trop de difficultés comme nous l'avons vu dans cet exemple.

La fonction STXT vous permet d'extraire une partie à l'intérieur d'un texte

Mais il n'y a pas de fonction pour extraire les derniers mots depuis une chaîne de caractères

Trouver la dernière position d'un caractère spécifique

Nous avons détaillé dans cet article comment trouver la dernière position d'un caractère spécifique. avec la formule suivante.

=CHERCHE("µ";SUBSTITUE(A2;"\";"µ";NBCAR(A2)-NBCAR(SUBSTITUE(A2;"\";""))))

Nous allons repartir de l'étape qui nous a permis de remplacer uniquement le dernier "\" et nous allons voir comment utiliser ce résultat pour extraire les derniers caractères

Remplacement du dernier caractere de rupture

Nombre de caractères entre le caractère de rupture et la fin de chaîne

Cette étape peut sembler complexe mais en fait il n'en est rien. En fait, il suffit de retrancher de la longueur totale de la chaîne, la position trouvée à l'étape précédente.

=NBCAR(B2)-CHERCHE("µ";B2)

Nb de caracteres apres le symbole µ

Extraire les derniers mots de chaîne de caractères

Il ne reste plus qu'à utiliser cette valeur dans la fonction DROITE pour obtenir les derniers caractères avec la formule suivante

=DROITE(B2;NBCAR(B2)-CHERCHE("µ";B2))

Extraire les derniers mots dune chaine de caracteres

Ecriture de toutes les étapes dans une seule formule

Pour éviter de découper votre extraction sur plusieurs colonnes, vous pouvez utiliser la formule suivante qui regroupe toutes les étapes précédentes

=DROITE(A2;NBCAR(A2)-CHERCHE("µ";SUBSTITUE(A2;"\";"µ";NBCAR(A2)-NBCAR(SUBSTITUE(A2;"\";"")))))

Si vous utilisez Microsoft 365, vous pouvez écrire votre formule dans une fonction personnalisée pour sécuriser l'écriture de votre formule. Ici, nous avons construits la formule qui a besoin de 2 paramètres ; le texte et le séparateur.

=LAMBDA(text;separateur;LET(lngtext;NBCAR(text);DROITE(text;lngtext-CHERCHE("µ";SUBSTITUE(text;separateur;"µ";lngtext-NBCAR(SUBSTITUE(text;separateur;"")))))))

Fonction personnalisee pour extraire les derniers mots

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.