Désolé, je suis un noob dans Excel et j'ai besoin d'aide pour cela. Disons que j'ai le texte suivant dans mon fichier Excel.
J'aime supprimer tout le texte de la droite après la première occurrence "/" en comptant à partir de la droite.
J'obtiendrais donc les éléments suivants.
3 Réponses :
Utilisez LEFT () avec FIND et SUBSTITUTE pour trouver le dernier /
=LEFT(A1,FIND("}}}",SUBSTITUTE(A1,"/","}}}",LEN(A1)-LEN(SUBSTITUTE(A1,"/","")))-1)
Si cela ne vous dérange pas un peu de vba a>, puis InStrRev
a été presque fait sur mesure pour des cas comme ceux-ci: Public Function Remove_After(ByVal what As String, ByVal where As Range) As String
Remove_After = Left(where, InStrRev(where, what) - 1)
End Function
p>
Remarque, si vous souhaitez conserver la barre oblique /
, supprimez simplement -1
du code
Si vous avez Excel 2016+ avec la fonction TEXTJOIN
, vous pouvez utiliser cette formule matricielle:
=TEXTJOIN("/",TRUE,FILTERXML("<t><s>" & SUBSTITUTE(A1,"/","</s><s>")& "</s></t>","//s[position()<last()]"))
Puisqu'il s'agit d'une formule matricielle, vous devez " confirmez-le en maintenant ctrl + shift tout en appuyant sur entrée . Si vous faites cela correctement, Excel placera des accolades {...}
autour de la formule comme observé dans la barre de formule