2 votes

Divisez une colonne dans Numbers en extrayant le texte entre parenthèses

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:

1voto

mistero Points 899

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,)),""),"")

Table

Table with formulas animation

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X