J'ai une feuille Excel avec des valeurs de texte, par exemple dans A1: "Ceci est le texte". Je dois trouver la position du dernier caractère de l'espace. Existe-t-il une formule Excel qui me donnera le résultat souhaité? J'ai essayé de rechercher et de rechercher, cependant ceux-ci commencent de gauche, ce dont j'ai besoin est de partir de droite.
Si, par valeur vide, vous voulez dire "espace" et par XLS, vous voulez dire Excel, vous pouvez utiliser cette formule (en supposant que le test dans lequel vous voulez trouver le dernier espace est dans A1
):
=FIND("☃",SUBSTITUTE(A1," ","☃",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))
Vous pouvez le diviser en 3 parties:
LEN(A1)-LEN(SUBSTITUTE(A1," ",""))
vous donne le nombre d'espaces, appelons-le x
,SUBSTITUTE(A1," ","☃",[x])
remplacera le x
th espace (donc le dernier) par un bonhomme de neige,FIND("☃",[...])
vous donnera la position du bonhomme de neige. Quelle est la position du dernier espace.Voici une autre façon, tous les personnages sont autorisés dans A1 (même les bonhommes de neige!)
=LOOKUP(2^15,FIND(" ",A1,ROW(INDIRECT("1:"&LEN(A1)))))
FIND
a un troisième argument qui définit la position de départ de la recherche. Si vous appliquez un tableau de valeurs entières de 1 à n (où n est la longueur de A1) à ce paramètre, vous obtenez un tableau avec le dernier nombre représentant la position de le dernier espace.
LOOKUP
extrait ensuite ce nombre en recherchant une valeur supérieure à toute valeur pouvant figurer dans ce tableau, auquel cas le nombre dernier est trouvé.
Dans Excel 2010
ou version ultérieure, vous pouvez également utiliser la fonction AGGREGATE
comme ceci
=AGGREGATE(14,6,FIND(" ",A1,ROW(INDIRECT("1:"&LEN(A1)))),1)
FIND
retourne le même tableau qu'auparavant et en utilisant 14 comme premier argument de AGGREGATE
et 1 comme dernier, vous obtenez la plus grande valeur du tableau, tout en ignorant les erreurs [6]