Reconnaître des chiffres ou des nombres dans une cellule

Anonim

Comment savoir si une cellule contient des chiffres

Souhaitez-vous utiliser une formule pour reconnaître quand un nombre ou un ou plusieurs chiffres peuvent être trouvés dans un texte dans une cellule ? S'il y a un nombre dans une cellule, la formule doit retourner "oui", mais aussi si un nombre fait partie du contenu de la cellule, c'est-à-dire pour "Meine5isthier" ou "2fast4you". C'était la tâche du concours de formules Excel et voici la première solution :

= SI (COUNT (TROUVEZ (LIGNE (A: A) -1; A1)); "oui"; "non")

La formule est une formule matricielle. Vous devez le saisir en utilisant le raccourci clavier CTRL SHIFT ENTER au lieu de la touche ENTER. Ensuite, Excel marque la formule avec des accolades. N'entrez pas ces parenthèses, elles sont automatiquement placées autour de la formule pour la visualisation des formules matricielles.

La figure suivante montre l'utilisation de la formule dans la pratique :

La formule oblige la fonction FIND à rechercher les chiffres 0 à 9 dans la cellule A1. Le champ de données 0 à 9 résulte de l'expression LIGNE (1 : 9) dans la matrice. FINDEN renvoie un champ de données composé des chiffres trouvés et des valeurs d'erreur #VALUE ! consiste.

A partir de là, la fonction NOMBRE détermine le nombre de chiffres dans la liste. Si ce nombre est supérieur à 0, la cellule contient des chiffres. La fonction SI interroge ce nombre. Étant donné que SI ne considère qu'une valeur de 0 comme FAUX, la fonction SI entraîne l'affichage de « oui » s'il y a des chiffres dans la cellule et « non » sinon.

La formule est très courte, mais fonctionne également très lentement car elle parcourt toutes les lignes de la colonne A par matrice en faveur de la longueur de la formule. La fonction devient plus rapide comme suit :

= SI (COUNT (TROUVEZ (LIGNE (A1: A10) -1, A1)), "oui", "non")

Alternativement, vous pouvez utiliser la solution 2, qui utilise le même nombre de caractères :

= SI (NOMBRE (1 * PARTIE (A1; LIGNE (A: A); 1)); "oui"; "non")

Cette formule est également une formule matricielle que vous devez transférer dans une cellule en utilisant CTRL SHIFT ENTER.

Dans cette formule, les lettres/chiffres individuels du contenu de la cellule A1 sont isolés à l'aide d'une matrice puis multipliés par 1. Il en résulte une matrice composée des valeurs d'erreur # VALUE1 et des chiffres individuels du contenu de la cellule. La formule utilise ensuite la fonction NOMBRE pour déterminer le nombre de chiffres qu'elle contient et l'utilise comme critère pour la requête SI.

Cette formule est également lente car toutes les lignes de la colonne A sont parcourues. La formule devient plus rapide avec le changement suivant :

= SI (NOMBRE (1 * PARTIE (A1; LIGNE (A1: A100); 1)); "oui"; "non")

Dans ce cas, l'entrée à examiner dans la cellule A1 peut comporter au maximum 100 caractères. La formule suivante, particulièrement rapide, que vous pouvez saisir normalement, ne nécessite aucune matrice :

= SI (NOMBRE (TROUVEZ ({0; 1; 2; 3; 4; 5; 6; 7; 8; 9}; A1)); "oui"; "non")

Ici, la matrice ROW (A : A) est remplacée par la liste explicite des chiffres possibles de 0 à 9. Il faut entrer les accolades dans cette formule !