Monsieur Excel
Pour tout savoir faire sur Excel !

28 février 2015

Recherche sur >255 caractères

Les fonctions de recherche, aussi bien recherche() – et ses cousins rechercheH() et rechercheV() – que la fonction equiv() – sont tout à fait incapables de trouver un résultat quand la chaîne recherchée contient plus de 255 caractères.

Pour illustrer cela, nous avons mis en scène l’exemple suivant.


En A1, un texte contenant l’alphabet.
En A2, recopiée vers le bas, la formule =A1&$A$1.
En B1, recopiée vers le bas, la formule =nbcar(A1).

Formule de C1 : =equiv(A1;A:A;0)
Formule de D1 : =recherchev(A1;$A$1:$B$14;2;faux)

Manifestement, quand on copie ces deux formules vers le bas, on constate qu’elles ne fonctionnent plus quand le texte recherché comporte plus de 255 caractères !

Formule de E1, trouvée dans ExcelWays :
=sommeprod(($B$1:$B$14=B1)*ligne($B$1:$B$14))

Formule de F1, inspirée d’une formule proposée par Shane Devenshire :
=equiv(vrai;$A$1:$A$14=A1;0)
Cette dernière formule est matricielle, donc validée avec [Ctrl]-[Maj]-[Entrée].

Et voilà ! Vous avez désormais deux façons de faire des recherches sur des chaînes de plus de 255 caractères !

1 Commentaire(s):

  • Merci beaucoup ! Je préfère la seconde solution : Equiv() renvoie la première ligne avec laquelle ça matche ; alors que la première renvoie la somme des lignes avec lesquelles il y a match. Ainsi, la solution avec Equiv() permet d'utiliser directement un indirect() alors le SommeProd() ne sert pas à grand-chose s'il peut y avoir plusieurs fois la chaine recherchée dans la zone de recherche.

    By Anonymous Anonyme, sur 6:52 PM  

Enregistrer un commentaire

<< Accueil