Je veux extraire une partie d'une chaîne en fonction de la condition d'une autre chaîne d'une autre cellule dans un grand datet.
J'ai: et j'ai besoin de créer un nouveau champ basé sur V1 et qui signalera le texte entre la parenthèse à côté du nom de V1. L'ensemble de données résultant devrait avoir: p> J'ai essayé une combinaison de fonction = gauche et trouvez mais je saisis obtenez une erreur. P> =LEFT(V1, FIND( " (", V2))
3 Réponses :
Une formule laidée en une étape (pourrait être une belle solution) est la suivante: mais généralement pour un cas comme celui-ci, il est préférable d'utiliser une expression régulière pour vous aider ... < / P> Premièrement, vous devez préparer la fonction d'expression régulière VBA. Dans VBA Référence, ajoutez «Microsoft VBScript Expression régulière 5.5». Ajoutez ensuite ceci à un fichier .xlam que vous continuerez à utiliser comme plug-in Excel ou placez localement dans le classeur .xlsm. P> formule à utiliser régulièrement express est: p>
Il s'agit d'une approche légèrement plus robuste en termes d'évité de la problématique de correspondance des sous-chaînes qui suppose que vos données sont aussi cohérentes que vous l'avez montrée. P>
Changer V1 et V2 selon la mise en page réelle. P> = bordure (à gauche (remplaçant (Garniture (substitut (substitut (V2, V1 & "(", repique ("", 99)), 99,99), ")", report ("", 99)), 99)) code> p>
Votre deuxième échantillon est le même que le premier.
Méfiez-vous que vous pouvez, en fonction de votre ensemble de données, obtenez des résultats indésirables lorsqu'un certain nom peut être une sous-chaîne d'un nom plus long. Juste
trouver code> ne va pas être en faveur de la fourrure