Exceller

Supprimer les caractères non numériques

Strip Non Numeric Characters

Formule Excel : Supprimer les caractères non numériquesFormule générique |_+_| Sommaire

Pour supprimer les caractères non numériques d'une chaîne de texte, vous pouvez essayer cette formule expérimentale basée sur la fonction TEXTJOIN, une nouvelle fonction d'Excel 2019. Dans l'exemple illustré, la formule en C5 est :





{= TEXTJOIN ('',TRUE, IFERROR ( MID (A1, ROW ( INDIRECT ('1:100')),1)+0,''))}

Remarque : il s'agit d'un formule matricielle et doit être saisi avec control + shift + enter.

Explication

Travaillant de l'intérieur vers l'extérieur, la formule MID est utilisée pour extraire le texte en B5, un caractère à la fois.La clé est la pièce ROW/INDIRECT :





 
{= TEXTJOIN ('',TRUE, IFERROR ( MID (B5, ROW ( INDIRECT ('1:100')),1)+0,''))}

qui fait tourner un tableau contenant 100 nombres comme ceci :

{1,2,3,4,5,6,7,8 .... 99 100}



Remarque : 100 représente le nombre maximum de caractères à traiter. Modifiez en fonction de vos données.

Ce tableau entre dans la fonction MID en tant que num_départ argument. Pour nombre_caractères , nous utilisons 1.

comment faire une référence relative dans Excel

La fonction MID renvoie un tableau comme celui-ci :

{'1''0''0'' ''a''p''p''l''e''s'''''''''...}

(éléments supplémentaires dans le tableau supprimés pour plus de lisibilité)

À ce tableau, nous ajoutons zéro. Il s'agit d'une astuce simple qui oblige Excel à essayer de forcer le texte à un nombre. Les valeurs de texte numériques telles que « 1 », « 2 », « 3 », « 4 », etc. sont converties, tandis que les valeurs non numériques échouent et renvoient une erreur #VALUE. Nous utilisons la fonction IFERROR pour détecter ces erreurs et renvoyer un chaîne vide (''), tandis que les valeurs numériques passent dans le tableau. Le résultat est un tableau qui ne contient que des nombres et des chaînes vides :

{100 '' '' '' '' '' ....}

Enfin, ce résultat de tableau va dans la fonction TEXTJOIN en tant que texte 1 argument. Pour délimiteur , on utilise une chaîne vide ('') et pour ignore_vide nous fournissons VRAI. TEXTJOIN concatène ensuite toutes les valeurs non vides du tableau et renvoie le résultat.

comment créer des boîtes et des moustaches dans Excel

Remarque : TEXTJOIN renverra les nombres sous forme de texte, par exemple '100,'500', etc. Si vous voulez un vrai résultat numérique, ajoutez zéro ou enveloppez la formule entière dans la fonction VALUE.

Auteur Dave Bruns


^