Rechercher le texte d'une cellule dans une liste

Bonjour,

Je voudrais chercher dans une celulle le nom d'une société qui a été saisie avec d'autres caractères.

Exemple: "libellule 134teiridbs", j'ai une base de données sur une autre feuille où se trouve "Libellule"

22test.xlsx (10.86 Ko)

Quelle formule utiliser pour isoler le nom de la société en fonction de la liste de base donnée. je joints un fichier avec le résultat attendu si ce n'est pas claire.

Hello,

Une proposition

@+

21test-18.xlsx (11.10 Ko)

Bonjour à tous,

Une autre approche ; sans libellule, comme dans le fichier

26test.xlsx (11.06 Ko)

Bonjour à tous !

Une proposition qui utilise la fonction LET pour simplifier la formule et assurer une plus grande vélocité :

Merci à tous les 3!

Je suis finalement partie sur la forumule de @BAROUTE78 qui m'est plus compréhensible.

Par contre j'ai un petit soucis d'ordre. Par exemple si dans une cellule j'ai "libellule montagne blanche" je veux que mon résultat renvoie la première société qui trouve donc "libellule" et non "montagne blanche".

Hey,

Voici la modif

=INDIRECT(ADRESSE(MAX(SI(SIERREUR(CHERCHE(MINUSCULE('feuil 2'!$B$4:$B$11);MINUSCULE('feuil 1'!B5));9^9)=MIN(SIERREUR(CHERCHE(MINUSCULE('feuil 2'!$B$4:$B$11);MINUSCULE('feuil 1'!B5));9^9));1;0)*LIGNE('feuil 2'!$B$4:$B$11));2;4;;"feuil 2"))

@+

Bonjour à tous !

Version amendée pour intégrer la nouvelle contrainte :

=LET(c;B5;p;tCrit[Critères];x;SI(ESTNUM(CHERCHE(p;c));CHERCHE(p;c);"");SIERREUR(INDEX(p;EQUIV(MIN(x);x;0));"Aucune donnée"))
image

Bonjour,

Une fonction raccourcie de la formule de JFL :

=LET(c;B5;p;tCrit[Critères];x;ESTNUM(CHERCHE(p;c));SIERREUR(INDEX(p;EQUIV(VRAI;x;0));"Aucune donnée"))

On n'a pas besoin de la position renvoyée par CHERCHE pour "x" et on récupère la première valeur "VRAI".

A+

Edit : erreur de ma part, je croyais qu'il fallait renvoyer la première valeur dans la liste des critères alors qu'il s'agissait de la première dans la phrase.

Bonjour à tous de nouveau !

@OOoiste : Hello !

image

bonjour

une contribution

=INDEX('feuil 2'!B$4:B$11;SOMMEPROD(MAX((ESTNUM(CHERCHE('feuil 2'!B$4:B$11;B5))*(LIGNE('feuil 2'!B$4:B$11)))))-3)

cordialement

@tulipe_4 il y a un problème d'ordre, il prend le premier élément dans la liste et non le premier mot de ma cellule recherché.

@baroute78 désolé encore un détail, par défaut il prend le premier de la liste quand il n'existe pas dans la liste, il me faudrait un "non trouvé". En faite la formule marche parfaitement sur mon exemple mais sur mon fichier plus complexe, je trouve un résultat que si le premier mot figure dans ma liste. Quelque chose m'échappe. Je pense que c'est dû à cette partie que je ne comprends et je ne sais pas comment modifier. Ma liste est sur C2;C22000.

;1;0)

Merci encore

Hello,

Voici le correctif pour afficher les non trouvés

=SIERREUR(INDIRECT(ADRESSE(MAX(SI(SIERREUR(CHERCHE(MINUSCULE('feuil 2'!$B$4:$B$11);MINUSCULE('feuil 1'!B5));"")=MIN(SIERREUR(CHERCHE(MINUSCULE('feuil 2'!$B$4:$B$11);MINUSCULE('feuil 1'!B5));""));1;0)*LIGNE('feuil 2'!$B$4:$B$11));2;4;;"feuil 2"));"Non trouvé")

@+

Niquel, merci!

Bonjour à tous !

Un petit retour d'expérience sur ma proposition ?

Rechercher des sujets similaires à "rechercher texte liste"