Passer au contenu principal

Supprimer ou supprimer les caractères non numériques des chaînes de texte

Parfois, vous devrez peut-être supprimer tous les caractères non numériques des chaînes de texte et ne conserver que les nombres comme illustré ci-dessous. Cet article présentera quelques formules pour résoudre cette tâche dans Excel.


Supprimer ou supprimer tous les caractères non numériques des chaînes de texte avec des formules

Dans Excel 2019 et Office 365, une nouvelle fonction TEXTJOIN combinée aux fonctions IFERROR, MID, ROW et INDIRECT peut vous aider à extraire uniquement des nombres d'une chaîne de texte, la syntaxe générique est:

=TEXTJOIN("",TRUE,IFERROR(MID(text,ROW(INDIRECT("1:100")),1)+0,""))
  • text: la chaîne de texte ou la valeur de cellule dont vous souhaitez supprimer tous les caractères non numériques.

1. Veuillez copier ou entrer la formule ci-dessous dans une cellule vide où vous souhaitez afficher le résultat:

=TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,""))

2. Et puis, appuyez sur Ctrl + Maj + Entrée clés ensemble pour obtenir le premier résultat, voir capture d'écran:

3. Ensuite, sélectionnez la cellule de formule, puis faites glisser la poignée de remplissage vers les cellules auxquelles vous souhaitez appliquer cette formule, seuls les nombres ont été extraits et tous les autres caractères non numériques ont été supprimés, voir capture d'écran:


Explication de la formule:

RANG (INDIRECT ("1: 100"): Le nombre 1: 100 dans la formule INDIRECT signifie que la fonction MID évalue 100 caractères de la chaîne de texte. Ce tableau contiendra 100 nombres comme celui-ci: {1; 2; 3; 4; 5; 6; 7; 8 .... 98; 99; 100}.
Notes: Si votre chaîne de texte est beaucoup plus longue, vous pouvez changer le nombre 100 en un nombre plus grand selon vos besoins.

MID (A2, ROW (INDIRECT ("1: 100")), 1: Cette fonction MID est utilisée pour extraire du texte dans la cellule A2 pour obtenir un caractère, et ce sera un tableau comme celui-ci:
{"5"; "0"; "0"; ""; "K"; "u"; "t"; "o"; "o"; "l"; "s"; ""; "f" ; "o"; "r"; ""; "E"; "x"; "c"; "e"; "l"; ""; ""; ""; ""; ""; "". ..}

MID(A2,ROW(INDIRECT("1:100")),1)+0: L'ajout de la valeur 0 après que ce tableau est utilisé pour forcer le texte à un nombre, la valeur de texte numérique sera convertie en nombre et les valeurs non numériques seront affichées comme valeur d'erreur #VALUE comme ceci:
{"5"; "0"; "0"; # VALEUR!; # VALEUR!; # VALEUR!; # VALEUR!; # VALEUR!; # VALEUR! !;#VALEUR! !;#VALEUR!...}

IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0: Cette fonction IFERROR est utilisée pour remplacer toutes les valeurs d'erreur par une chaîne vide comme celle-ci:
{"5"; "0"; "0"; ""; ""; ""; ""; ""; ""; ""; ""; …}

TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,"")): Enfin, cette fonction TEXTJION combinera toutes les valeurs non vides du tableau renvoyé par la fonction IFFERROR et retournera le résultat.


Notes:

1. Avec la formule ci-dessus, les nombres seront renvoyés au format texte, si vous avez besoin d'une valeur numérique réelle, veuillez appliquer cette formule, n'oubliez pas d'appuyer sur Ctrl + Maj + Entrée clés ensemble pour obtenir le résultat correct.

=TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,""))+0

2. Dans les premières versions d'Excel, cette formule ne fonctionnera pas, dans ce cas, la formule suivante peut vous aider, veuillez copier ou saisir cette formule dans une cellule vide:

=SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1)) * ROW(INDIRECT("1:"&LEN(A2))), 0), ROW(INDIRECT("1:"&LEN(A2))))+1, 1) * 10^ROW(INDIRECT("1:"&LEN(A2)))/10)


Supprimez ou supprimez tous les caractères non numériques des chaînes de texte avec une fonctionnalité simple

Peut-être qu'il est trop long de se souvenir des formules ci-dessus, ici, je vais vous présenter les Kutools for Excel pour vous, avec son Supprimer les caractères , vous pouvez supprimer des caractères numériques, alphabétiques, non imprimables ou alphanumériques des chaînes de texte en quelques clics seulement. Cliquez pour télécharger Kutools for Excel pour un essai gratuit!


Fonctions relatives utilisées:

  • TEXTJOIN:
  • La fonction TEXTJOIN joint plusieurs valeurs d'une ligne, d'une colonne ou d'une plage de cellules avec un délimiteur spécifique.
  • MID:
  • La fonction MID est utilisée pour rechercher et renvoyer un nombre spécifique de caractères à partir du milieu d'une chaîne de texte donnée.
  • ROW:
  • La fonction Excel ROW renvoie le numéro de ligne d'une référence.
  • INDIRECT:
  • La fonction Excel INDIRECT convertit une chaîne de texte en une référence valide.
  • IFERROR:
  • La fonction IFERROR est utilisée pour renvoyer un résultat personnalisé lorsqu'une formule évalue une erreur et pour renvoyer un résultat normal lorsqu'aucune erreur ne s'est produite.

Plus d'articles:


Les meilleurs outils de productivité de bureau

Kutools for Excel - vous aide à vous démarquer de la foule

🤖 Aide à l'IA Kutools: Révolutionner l'analyse des données en s'appuyant sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les fonctions Kutools...
Caractéristiques populaires: Rechercher, mettre en évidence ou identifier les doublons  |  Supprimer les lignes vides  |  Combinez des colonnes ou des cellules sans perdre de données  |  Tour sans formule 
Super VRecherche: Plusieurs critères  |  Valeur multiple  |  Sur plusieurs feuilles  |  Recherche floue
Av. La liste déroulante: Liste déroulante facile  |  Liste déroulante dépendante  |  Liste déroulante à sélection multiple
Gestionnaire de colonnes: Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  Comparer les colonnes à Sélectionnez des cellules identiques et différentes 
Caractéristiques en vedette: Mise au point de la grille  |  Voir Design  |  Grande barre de formule  |  Gestionnaire de classeurs et de feuilles | Centre de ressources (Texte automatique)  |  Sélecteur de date  |  Combiner des feuilles de travail  |  Crypter/déchiffrer les cellules  |  Envoyer des e-mails par liste  |  Super filtre  |  Filtre spécial (filtre gras/italique/barré...) ...
Les 15 meilleurs ensembles d'outils12 Texte Outils (Ajouter du texte, Supprimer les caractères ...)  |  50+ Graphique Types (Diagramme de Gantt ...)  |  40+ Pratique Formules (Calculer l'âge en fonction de l'anniversaire ...)  |  19 Insertion Outils (Insérer le code QR, Insérer une image à partir du chemin ...)  |  12 Conversion Outils (Nombres en mots, Conversion des devises ...)  |  7 Fusionner et fractionner Outils (Lignes de combinaison avancées, Diviser les cellules Excel ...)  |  ... et plus

Kutools pour Excel possède plus de 300 fonctionnalités, Assurez-vous que ce dont vous avez besoin est à portée de clic...

Description


Onglet Office - Activer la lecture et l'édition par onglets dans Microsoft Office (y compris Excel)

  • Une seconde pour basculer entre des dizaines de documents ouverts!
  • Réduisez chaque jour des centaines de clics de souris, dites adieu à la souris.
  • Augmente votre productivité de 50% lors de l'affichage et de l'édition de plusieurs documents.
  • Apporte des onglets efficaces à Office (y compris Excel), tout comme Chrome, Edge et Firefox.
Comments (4)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
What is this formula for french settings?
This comment was minimized by the moderator on the site
Thanks for this. Nice formula.How would I alter it so that if the cell contains only letters the formula enters a 0 the results cell (rather than just blank as it is at the moment)?Thought I might be able to do it by wrapping the formula in another IF statement but I’m not getting very far.
This comment was minimized by the moderator on the site
Hello, Glenn,To display the results as blanks rather than zeros, please apply the following formula:=IF(SUM(LEN(A2)-LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"}, "")))>0, SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2,ROW(INDIRECT("$1:$"&LEN(A2))),1))* ROW(INDIRECT("$1:$"&LEN(A2))),0), ROW(INDIRECT("$1:$"&LEN(A2))))+1,1) * 10^ROW(INDIRECT("$1:$"&LEN(A2)))/10),"")

Please try, hope it can help you!
This comment was minimized by the moderator on the site
Wow that’ll take some digesting 😋 Thanks for taking the time to reply 👍
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations