Formule Excel: Extraire le mot commençant par un caractère spécifique -

Table des matières

Formule générique

=TRIM(LEFT(SUBSTITUTE(MID(txt,FIND("@",txt),LEN(txt))," ",REPT(" ",100)),100))

Sommaire

Pour extraire des mots commençant par un caractère spécifique, vous pouvez utiliser une formule basée sur six fonctions: TRIM, LEFT, SUBSTITUTE, MID, LEN et REPT. Cette approche est utile si vous avez besoin d'extraire des éléments tels qu'un nom d'utilisateur Twitter d'une cellule contenant un autre texte.

Dans l'exemple illustré, la formule en C5 est:

=TRIM(LEFT(SUBSTITUTE(MID(B5,FIND("@",B5),LEN(B5))," ",REPT(" ",100)),100))

Explication

En partant de l'intérieur, la fonction MID est utilisée pour extraire tout le texte après "@":

MID(B5,FIND("@",B5),LEN(B5))

La fonction FIND fournit le point de départ, et pour le nombre total de caractères à extraire, nous utilisons simplement LEN sur le texte d'origine. C'est un peu bâclé, mais cela évite d'avoir à calculer le nombre exact de caractères à extraire. MID ne se soucie pas si ce nombre est plus grand que les caractères restants, il extrait simplement tout le texte suivant "@".

Ensuite, nous «inondons» le texte restant avec des caractères d'espacement, en remplaçant tout espace par 100 espaces en utilisant une combinaison de SUBSTITUTE et REPT:

SUBSTITUTE("@word and remaining text"," ",REPT(" ",100))

Cela semble fou, mais la logique devient claire ci-dessous.

Ensuite, pour extraire uniquement le mot que nous voulons (c'est-à-dire @word), nous utilisons LEFT pour extraire les 100 premiers caractères de la gauche. Cela nous donne "@word", plus de nombreux espaces supplémentaires. Pour visualiser, les tirets ci-dessous représentent des espaces:

@mot---------------------

Il ne nous reste plus qu'à supprimer tous les espaces supplémentaires. Pour cela, nous utilisons la fonction TRIM.

Remarque: 100 représente le mot le plus long que vous vous attendez à trouver et qui commence par le caractère spécial. Augmentez ou diminuez selon vos besoins.

Vous avez une meilleure façon de faire cela? Faites-moi savoir dans les commentaires ci-dessous!

Articles intéressants...