Ma colonne Excel est remplie de mots comme celui-ci:
1.) ABC:DCF
2.) DCF:FED
Je souhaite diviser chaque mot en fonction de ":" et placer le résultat dans des colonnes adjacentes telles que "ABC: DCF" dans la cellule "A: 1" devienne "ABC" dans la cellule "B: 1" et "DCF "dans la cellule" C: 1 "ainsi que les valeurs correspondantes dans chaque colonne. Comment faire ça?
Allez dans l'onglet Données, puis dans l'option Texte en colonnes. Plus tard, choisissez l'option "Délimité" puis sélectionnez "autre" et mettez le délimiteur de votre choix.
Le texte en colonnes fonctionnera. Une autre option, si vous souhaitez conserver la valeur d'origine, consiste à utiliser des formules:
en B1
=left(a1,find(":",a1)-1)
en C1
=mid(a1,find(":",a1)+1,len(a1))
Si vous pouvez utiliser VBA, vous pouvez utiliser la fonction Split()
. Voici une fonction définie par l'utilisateur (UDF) que vous pouvez utiliser dans une cellule. Il divise votre choix de personnage et renvoie le ne élément de la liste scindée.
Voir Comment ajouter VBA dans MS Office? pour plus d'informations sur la définition d'un fichier UDF.
Function STR_SPLIT(str, sep, n) As String
Dim V() As String
V = Split(str, sep)
STR_SPLIT = V(n - 1)
End Function
Donc, vous devez entrer:
=STR_SPLIT(A1, ":", 1) // for the first half
=STR_SPLIT(A1, ":", 2) // for the second half
Collez-le dans B1 et remplissez-le dans les colonnes de droite et les lignes du bas:
=TRIM(MID(SUBSTITUTE($A1,":",REPT(" ",999)),COLUMNS($A:A)*999-998,999))
Edit: J'ai déjà posté la version localisée de la formule, où «,» a été remplacé par «; Cela ne fonctionne pas dans la version US d'Excel:
=TRIM(MID(SUBSTITUTE($A1;":";REPT(" ";999));COLUMNS($A:A)*999-998;999))