web-dev-qa-db-fra.com

Vérifier si la cellule contient des caractères non alpha dans Excel

Existe-t-il un moyen non VBA de vérifier les colonnes B et C pour voir si elles contiennent des caractères non alpha? Juste pour clarifier par Non-Alpha, je veux dire tout ce qui ne fait pas partie de l'alphabet (insensible à la casse).

Col B et Col C est une liste de prénoms et de noms. Certains de ces noms contiennent des symboles ou des chiffres lors d'une mauvaise saisie de données. J'essaie de trouver tous ceux qui doivent être corrigés. J'ai donc besoin de trouver ceux qui contiennent [~ # ~] tout [~ # ~] qui n'est pas une lettre .

16
Chad Portman

Il y a une réponse "bizarre" mais simple et générique.

=SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"abcdefghijklmnopqrstuvwxyz"))
  • Cette formule renvoie l'erreur #VALUE! Si A1 contient des caractères autres que des lettres, un nombre si A1 contient uniquement des lettres ou l'erreur #REF! Si A1 est vide.

  • Vous pouvez placer cette formule dans un ISNUMBER ou ISERR pour le convertir en une valeur VRAI/FAUX.

  • Remplacez le SEARCH par un FIND pour le rendre sensible à la casse.

  • Vous pouvez mettre n'importe quel caractère dans la chaîne "abc...xyz". Cela permet de tester facilement les signes de ponctuation alphanumériques ou courants, etc.

La fonction "1:"&LEN(A1) signifie qu'à partir de la première lettre, tout le chemin jusqu'à la dernière lettre sera vérifié. Changer cela en "2:"&(LEN(A1)-1) ne vérifiera pas les première et dernière lettres.

34
Roobie Nuby

Vous pouvez utiliser 26 SUBSTITUTEs imbriqués pour supprimer tous les caractères alphabétiques du texte.

S'il reste quelque chose, la cellule contient des caractères non alpha.

Et merci à @RaGe d'avoir souligné que vous devez également vérifier les cellules vides:

=AND(ISTEXT(A2),SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(LOWER(A2),"a",),"b",),"c",),"d",),"e",),"f",),"g",),"h",),"i",),"j",),"k",),"l",),"m",),"n",),"o",),"p",),"q",),"r",),"s",),"t",),"u",),"v",),"w",),"x",),"y",),"z",) = "")

enter image description here

2
Rick Hitchcock