Index + Equiv avec contrôle chaine type ESTNUM

Résolu/Fermé
bisemper Messages postés 4 Date d'inscription vendredi 3 décembre 2010 Statut Membre Dernière intervention 27 septembre 2015 - 26 sept. 2015 à 22:46
bisemper Messages postés 4 Date d'inscription vendredi 3 décembre 2010 Statut Membre Dernière intervention 27 septembre 2015 - 27 sept. 2015 à 13:12
Bonjour,

Je planche sur un problème idiot depuis plusieurs heures sans réelles avancés.

Le problème est assez simple:
- Une cellule (A1) avec une chaine type (mots avec espaces): "Bonjour tout le monde"
- Un tableau (BDD) composé de 2 colonnes (A et B) avec X lignes

Le but du jeu est de vérifier si A1 existe dans BDD[B] et si oui de retourner sur la même ligne de contenu de A.

J'ai pensé naïvement que ça suffirait:

=INDEX(BDD;EQUIV($A$1;BDD[B];-1);1)

Le soucis c'est que B est composé de texte avec plusieurs mots et impossible d'avoir un résultat correct (même en modifiant le -1 en 0 ou 1).

Si dans A1 j'ai "Bonjour tout le monde" et que dans BDD[B] j'ai "Bonjour tout", ça passe, si j'ai "Bonjour personne" ça ne doit pas passer.

La fonction CHERCHE me retourne de bon résultat, mais je ne sais pas comment l'intégrer dans ma formule initiale, c'est là que j'aurai besoin d'un peu d'aide pour une solution alternative.

Merci d'avance

A voir également:

1 réponse

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 418
27 sept. 2015 à 07:44
Bonjour

essayez avec:

=SIERREUR(INDEX(BDD!B:B;EQUIV("*"&A1&"*";BDD!A:A;0));"")

le code SIERREUR qui évite #N/A ne fonctionne qu'à partir d'excel 2007

crdlmnt
0
bisemper Messages postés 4 Date d'inscription vendredi 3 décembre 2010 Statut Membre Dernière intervention 27 septembre 2015
27 sept. 2015 à 12:07
Génial ça marche ! Merci beaucoup. je ne pensais pas qu'on pouvait mettre plusieurs conditions dans Equiv.

Petite question, il y a une différence entre BDD!A:A et BDD[A] ? la première solution c'est une plage et l'autre une colonne directement? c'est tout?

Merci encore.
0
bisemper Messages postés 4 Date d'inscription vendredi 3 décembre 2010 Statut Membre Dernière intervention 27 septembre 2015
27 sept. 2015 à 12:16
J'ai parlé trop vite, A1 à plus de mots que ce qui se trouve dans BDD. Ta solution fonctionne dans l'autre sens:
A1= Comment ça marche
BDD= Comment ça marche
=> OK

Mais mon cas de figure est plutôt celui ci:
A1= Comment ça marche
BDD= Comment ça
=> Doit être sur OK

Le cas de figure qui ne doit pas passer:
A1= Comment ça marche
BDD= Comment ça va
=> Doit être sur NOK
0
via55 Messages postés 14502 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 9 décembre 2024 2 737 > bisemper Messages postés 4 Date d'inscription vendredi 3 décembre 2010 Statut Membre Dernière intervention 27 septembre 2015
27 sept. 2015 à 12:56
Bonjour bisemper
Salut à Vaucluse au passage ;)

Il faut peut être passer par une macro pour effectuer la recherche dans ce sens car il faut boucler sur toutes les lignes de la BDD
Si plusieurs items ont une correspondance il seront affichés

http://www.cjoint.com/c/EIBk1RujHne

ALT+F11 pour voir le code

Cdlmnt
Via
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 418
Modifié par Vaucluse le 27/09/2015 à 12:56
Voyez ici le renvoi dans le tableau en jaune
pour que la ligne soit sélectionnée,, il faut que le texte en A soit entiérement contenu dans le texte référence en G2
au delà, je ne vois pas très bien ce que vous voulez
https://www.cjoint.com/c/EIBk2BzdIZG
crdlmnt
0
bisemper Messages postés 4 Date d'inscription vendredi 3 décembre 2010 Statut Membre Dernière intervention 27 septembre 2015
27 sept. 2015 à 13:12
Merci pour vos retours, vos solutions m'ont donné une idée qui fonctionne:
{=SIERREUR(INDEX(BDD;EQUIV($A$1;SI(TROUVE(BDD!B:B;&A&1);BDD!B:B);1);1);"")}

Je me suis tourné vers le multi-conditionnel qui semble marché pour le moment. Via55, c'est clair que le vba aurait été l'idéal mais je n'ai pas de solution pour le faire fonctionner sur excel online :/
Vaucluse, la solution ne fonctionne que si le mot recherché est au début, si je tape par exemple "ça marche", ça doit me le trouver sur F et K. Par contre c'est bien le reporting dans la colonne jaune, en le modifiant un peu je pourrai voir toute les lignes qui n'ont pas trouvées de catégorie.

Je passe le post en résolu. Bon week-end !
0