Monsieur Excel
Pour tout savoir faire sur Excel !

29 octobre 2016

Trouver un mot depuis une liste

Le problème que nous avons aujourd’hui est assez particulier. Nous avons en colonne A une liste de textes et, en colonne E, une liste de mots recherchés. Nous voulons indiquer en colone B s’il est vrai que le texte à gauche contient au moins un mot de la liste et, en colonne C, quel est le premier mot de la liste trouvé dans ce texte.

Remarque 1 – La liste actuelle ne contient que des mots isolés, mais rien n’empêche d’y mettre des groupes de mots ou même des phrases entières.


La formule de B2 est :
=sommeprod(1*estnum(cherche(Couleur;A2)))>0

Dans cette formule :
cherche(Couleur;A2) donne {7;#VALEUR!;#VALEUR!;#VALEUR!;#VALEUR!}
estnum(cherche(Couleur;A2)) donne {VRAI;FAUX;FAUX;FAUX;FAUX}

La formule de C2 est matricielle, donc validée avec [Ctrl]-[Maj]-[Entrée].
La voici : =sierreur(index(Couleur;equiv(vrai;estnum(cherche(Couleur;A2));0));"")

En A6, deux couleurs de la liste sont présentes, mais c’est bien celle placée la plus haut dans la liste qui apparaît en C6.

Remarque 2 – Une fois de plus, nous constatons que nous parvenons à des résultats surprenants en utilisant des formules mettant en œuvre des vecteurs ! Il fallait penser à chercher un vecteur entier dans une cellule…