Aidez-moi s'il vous plaît avec extraire des valeurs entre crochets et former une chaîne de sortie. P>
échantillon: aspirine (150 mg) + atorvastatine (10 mg) + capsule de clopidogrel (75 mg) p>
sortie souhaitée: 150 mg + 10 mg + 75 mg p>
merci p>
3 Réponses :
Vous pouvez essayer en dessous de la formule, mais il est basé sur votre exemple. Besoin de régler Vous pouvez utiliser ci-dessous formule si la longueur des données est toujours num_chars code> Si la longueur des données dans
parenthèses code> est différente.
4 ou 5 caractères code> entre parenthèses. p>
= substitut (MID (A1, recherche ("(", A1) +1,5) & "+" & Mid (A1, recherche ("(", A1, recherche ("(", A1 ) +1) +1,5) & "+" & moyenne (A1, recherche ("(", A1, recherche ("(", A1, recherche ("(", A1) +1) +1, 5), ")", "") code> p>
blockQuote> p>
Merci Harun pour votre précieuse réponse. Dans mes données, la longueur des parenthèses varie et le nombre de parenthèses de chaque cellule peut également varier. Aidez-moi s'il vous plaît avec ces exemples également. Épinephrine (1 mg) Injection | Glimépiride (1 mg) + metformine (500 mg) + comprimé Voglibose (0,2 mg) | Méthylcobalamin (1 mg) + injection de vitamine-B6 (100 mg)
Avez-vous essayé ma deuxième formule?
Voici une alternative si vous avez accès à textjoin code> formule. Vous devez entrer en utilisant
Ctrl + Maj + Entrée code> (Convertissez-le en une matrice):
=TEXTJOIN("mg + ",TRUE,IFERROR(TRIM(MID(SUBSTITUTE(SUBSTITUTE(A1,"(",REPT(" ",255)),"mg)",REPT(" ",255)),1+255*ROW($A$1:INDEX($A:$A,LEN(A1))),255))*1,""))&"mg"
Merci Justyna pour votre précieuse réponse. Dans mes données, la longueur des parenthèses varie et le nombre de parenthèses de chaque cellule peut également varier. Aidez-moi s'il vous plaît avec ces exemples également. Épinephrine (1 mg) Injection | Glimépiride (1 mg) + metformine (500 mg) + comprimé Voglibose (0,2 mg) | Méthylcobalamin (1 mg) + injection de vitamine-B6 (100 mg)
Merci pour les commentaires. Ma formule devrait déjà faire exactement cela :) Voir le Capture d'écran
Une autre option d'utilisation de la fonction TextJoin et avec l'index + filtrexml pour forcer la formule de matrice dans une formule de formule plus courte et normale,
et la fonction FilterXML renvoient une matrice sans erreur / cellules vides, donc l'IFError () n'est pas nécessaire p>
puis dans B2 code>, formule copiée en baisse: p>
Joli. Utilisation très intelligente de index code> et
filtrexml code> :-)
@Bosco_yip Cette solution a fonctionné parfaitement ... merci Bosco_yip ...
Qu'en est-il des autres données. Toutes les données sont la même motif?
Selon vos données, il peut être relativement simple de créer un UDF utilisant
regex code>, avec motif:
\ d + mg code>
ou incluez le signe plus\ d + mg | \ + code>