Je dois extraire tout ce qui se trouve entre parenthèses dans "ORIGINAL COMBINED" et le placer dans la colonne SPLIT A, et placer le reste dans la colonne SPLIT B. Par exemple:
Réponse
Trop de publicités?Afin d'accomplir cette tâche, nous devons utiliser une combinaison de fonctions Text
dans nos formules. Voir la documentation d'Apple pour plus de détails sur l'utilisation de ces fonctions.
TL;DR les formules se trouvent sous l'explication.
Nous devons donc identifier les (XX)
dans chaque chaîne de texte. Dans une colonne, affichez uniquement les parenthèses et les chiffres entre elles, et dans l'autre colonne, omettez-les. Cela nécessitera de combiner plusieurs fonctions de texte dans une seule formule.
Colonne 'Split A'
Dans la 'chaîne' d'origine, chaque caractère a une position commençant à 1. Par exemple, dans la chaîne suivante, le (
a une position de 3.
1 (23) Grand Balai
Nous devons donc déterminer à quelle position se trouvent (
et )
dans chaque chaîne. Nous pouvons utiliser la fonction Find()
pour cela.FIND(chaine-recherche, chaine-source, position-debut)
En utilisant l'exemple de chaîne ci-dessus :=FIND("(", "1 (23) Grand Balai")
retourne : 3
Ensuite, nous pouvons utiliser FIND()
pour obtenir la position de )
également. Dans ce cas, cela renvoie la position de 6
. Nous pouvons maintenant utiliser cela avec la fonction MID()
pour récupérer le nombre avec les parenthèses.
MID(A2,FIND("(",A2),FIND(")",A2,)
// Où A2 contient notre texte d'origine
résultat : (23)
Maintenant, s'il n'y a pas de ()
, nous obtiendrons une erreur, nous devons donc envelopper toute la formule dans la fonction IFERROR()
. S'il y a une erreur, renvoyer une chaîne vide. (ou autre chose que vous souhaitez)
IFERROR(MID(A2,FIND("(",A2),FIND(")",A2,),"")
Collez cette formule dans votre colonne 'Split A'.
Colonne 'Split B'
Nous pouvons utiliser la fonction REPLACE()
pour substituer une chaîne vide par notre nombre entre parenthèses. Ainsi, ceci : (23)
devient ceci : ""
. (Les guillemets ne s'afficheront pas.)REPLACE(chaine-source, position-debut, longueur-remplacer, nouvelle-chaine)
Pour supprimer le (23)
, nous devons ajouter 1
à la position de )
puis soustraire la position de (
. Donc dans ce cas, 7 - 3
pour obtenir 4
, la longueur de notre chaîne de nombre/parenthèses.
REPLACE(A2,FIND("(",A2,),(FIND(")",A2,)+1FIND("(",A2,)),"")
Explication :
REPLACE(
A2, la référence de la cellule de la chaîne source
FIND("(",A2,),
(FIND(")",A2,)+1FIND("(",A2,)), résultant en 4
"") remplacer par une chaîne vide
Enveloppez également ceci dans un IFERROR()
et maintenant le résultat est 1 Grand Balai
(Remarquez l'espace supplémentaire. Il peut être éliminé si nous ajoutons 2 au lieu de 1)
TL;DR - Donc nous y voilà. Ouf! les formules avec nos fonctions imbriquées pour résoudre ceci :
Colonne 'Split A'
IFERROR(MID(A2,FIND("(",A2),FIND(")",A2,),"")
Colonne 'Split B'
IFERROR(REPLACE(A2,FIND("(",A2,),(FIND(")",A2,)+1FIND("(",A2,)),""),"")