Analysez chaque caractère d'une cellule dans Excel à l'aide de la triade Indirect(), Row() & Mid()

Table des matières

Aujourd'hui, je vais vous offrir un cocktail à la formule puissante. Les fonctions moins utilisées INDIRECT() et ROW() ainsi que la fonction MID() peuvent créer une magnifique concoction.

Cette triade permet d'entrer dans le contenu d'une cellule. et analyser chaque caractère séparément. Par exemple, supposons que vous ayez Excel123 dans une cellule et que vous souhaitiez identifier s'il contient une valeur numérique ou non (ce qu'il fait !!). Les formules intégrées à Excel ne peuvent pas vous aider ici car Excel considère cela comme du texte (Essayez d'utiliser la fonction Type() pour voir par vous-même).

Ce dont vous avez besoin ici, c'est d'un moyen de vérifier chaque caractère séparément, puis d'identifier s'il contient un nombre. Voyons d'abord la formule qui peut séparer chaque caractère :

=MIDI(B2,LIGNE(INDIRECT("1:"&LEN(B2))),1)

Ici ça marche :

Maintenant, lorsque vous avez tout disséqué, vous êtes libre d'analyser chaque personnage séparément.

Notez que cette technique est mieux utilisée lorsqu'elle est combinée avec d'autres formules (comme vous le verrez plus tard dans cet article). En tant que technique autonome, elle pourrait difficilement être d'aucune utilité. De plus, Indirect() est une fonction volatile, donc utilisez-la avec prudence. [En savoir plus sur la formule volatile]

Voici quelques exemples où cette technique pourrait être utile :

1. Pour identifier les cellules contenant un caractère numérique :

Supposons que vous ayez une liste comme indiqué ci-dessous et que vous souhaitiez identifier (ou filtrer) toute cellule contenant un caractère numérique n'importe où dans la cellule

Pour ce faire, utilisez la formule suivante. Il renvoie un Vrai si une cellule contient un caractère numérique, et Faux si ce n'est pas le cas.

=OU(ISNUMBER(MID(A2,ROW(INDIRECT(“1:”&LEN(A2))),1)*1))

Utilisez Ctrl + Maj + Entrée pour entrer cette formule (au lieu de Entrée), car il s'agit d'une formule matricielle.

2. Pour identifier la position de la première occurrence d'un nombre

Pour ce faire, utilisez la formule suivante. Il renvoie la position de la première occurrence d'un nombre dans une cellule. Par exemple, si une cellule contient ProductA1, elle renverra 9. S'il n'y a pas de numéro, il retourne "Aucun caractère numérique présent"

=IFERROR(MATCH(1,-ISNUMBER(MID(B3,ROW(INDIRECT(“1:”&LEN(B3))),1)*1),0),”Aucun caractère numérique présent”)

Utilisez Ctrl + Maj + Entrée pour entrer cette formule

J'espère que cela vous fera gagner du temps et des efforts. Si vous trouvez une autre façon d'utiliser cette technique, partagez-la également avec moi.

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave