0
votes

Extraire une partie de la chaîne en fonction de la valeur d'un autre

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: xxx pré>

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> xxx pré>

J'ai essayé une combinaison de fonction = gauche et trouvez mais je saisis obtenez une erreur. P>

=LEFT(V1, FIND( " (", V2))


2 commentaires

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 ne va pas être en faveur de la fourrure


3 Réponses :


1
votes

Une formule laidée en une étape (pourrait être une belle solution) est la suivante: xxx

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. xxx

formule à utiliser régulièrement express est: xxx

 Entrez la description de l'image ici


0 commentaires

1
votes

in c2 formule copiée vers le bas: xxx

Entrez la description de l'image ici


0 commentaires

0
votes

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.

= bordure (à gauche (remplaçant (Garniture (substitut (substitut (V2, V1 & "(", repique ("", 99)), 99,99), ")", report ("", 99)), 99))

Changer V1 et V2 selon la mise en page réelle.


0 commentaires