Extraire caractères numériques d'une chaîne alphanumérique
moonbeamtb
-
Mytå Messages postés 2973 Date d'inscription Statut Contributeur Dernière intervention -
Mytå Messages postés 2973 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai un fichier Excel dans lequel j'ai une colonne contenant des chaînes alphanumériques de longueurs et de types variés. Par exemple :
B2
B228
BC2747.8
BL313
CB35
D75.3
DM223
Le nombre de lettres (toujours en début de chaîne) est variable de 1 à 3. Le nombre de chiffres qui suivent est très variable et certains ont des décimales.
Pour ordonner le tout correctement, je dois séparer cette colonne en deux : une pour les lettres et une pour les nombres.
J'ai extrait les lettres facilement avec cette formule (où A2 est ma première cellule):
=GAUCHE(A2;MIN(TROUVE({"0";"1";"2";"3";"4";"5";"6";"7";"8";"9"};A2&"0123456789"))-1)
Je croyais avoir trouvé pour les chiffres avec cette formule :
=RECHERCHE(99^99;--("0"&STXT(A2;MIN(CHERCHE({0;1;2;3;4;5;6;7;8;9};A2&"0123456789"));LIGNE($1:$10000))))
Cependant, cette formule ne tient pas compte des décimales et me renvoie donc 2747 à la place de 2747.8
Je cherche donc une formule (et pas de code VB ou autre) qui ferait l'une ou l'autre des opérations suivantes : 1) extraire les nombres de la chaîne alphanumérique en tenant compte des nombres décimaux ou 2) supprimer les caractères alphabétiques de la chaîne alphanumérique.
Il y a une solution simple ou je suis vouée à aller jouer dans le code?
Merci de votre aide!
J'ai un fichier Excel dans lequel j'ai une colonne contenant des chaînes alphanumériques de longueurs et de types variés. Par exemple :
B2
B228
BC2747.8
BL313
CB35
D75.3
DM223
Le nombre de lettres (toujours en début de chaîne) est variable de 1 à 3. Le nombre de chiffres qui suivent est très variable et certains ont des décimales.
Pour ordonner le tout correctement, je dois séparer cette colonne en deux : une pour les lettres et une pour les nombres.
J'ai extrait les lettres facilement avec cette formule (où A2 est ma première cellule):
=GAUCHE(A2;MIN(TROUVE({"0";"1";"2";"3";"4";"5";"6";"7";"8";"9"};A2&"0123456789"))-1)
Je croyais avoir trouvé pour les chiffres avec cette formule :
=RECHERCHE(99^99;--("0"&STXT(A2;MIN(CHERCHE({0;1;2;3;4;5;6;7;8;9};A2&"0123456789"));LIGNE($1:$10000))))
Cependant, cette formule ne tient pas compte des décimales et me renvoie donc 2747 à la place de 2747.8
Je cherche donc une formule (et pas de code VB ou autre) qui ferait l'une ou l'autre des opérations suivantes : 1) extraire les nombres de la chaîne alphanumérique en tenant compte des nombres décimaux ou 2) supprimer les caractères alphabétiques de la chaîne alphanumérique.
Il y a une solution simple ou je suis vouée à aller jouer dans le code?
Merci de votre aide!
A voir également:
- Extraire nombre chaine de caractère excel
- Caractère ascii - Guide
- Nombre de jours entre deux dates excel - Guide
- Extraire une video youtube - Guide
- Caractère spéciaux - Guide
- Liste déroulante excel - Guide
4 réponses
Bonjour,
Cette formule - je n'en suis pas l'auteur ( Thierry Pourtier, pseudo: Ti)- te donne le nombre de majuscules dans A1
comme elles sont toujours en t^te... , tu fais gauche pour les textes et droite pour les nombres(avec nbcar-cette formule)
Michel
Cette formule - je n'en suis pas l'auteur ( Thierry Pourtier, pseudo: Ti)- te donne le nombre de majuscules dans A1
=SOMMEPROD((ESTNUM(TROUVE(STXT(A1;LIGNE(DECALER($A$1;;;NBCAR(A1);1));1);"ABCDFGHJKLMNPQRSTVWXYZ")))*1)
comme elles sont toujours en t^te... , tu fais gauche pour les textes et droite pour les nombres(avec nbcar-cette formule)
Michel