Problème de recherche / correspondance : VLOOKUP, INDEX, MATCH (ou autre !)

Bonjour à tous,

C'est avec un peu de honte (je déteste ne pas réussir par moi-même) mais aussi beaucoup d'humilité et d'espoir que je m'adresse à vous.

Après pas mal de recherches et une rude bataille avec INDEX, MATCH & co, je ne parviens pas à résoudre parfaitement mon problème : j'ai une liste de libellés composés d'une multitude de mots ; parmi ces mots, je cherche à identifier des expressions exactes qui vont permettre de déduire une catégorie à affecter pour chaque libellé.

Concrètement, dans la cellule B2 de l'onglet DATAS, je voudrais chercher une correspondance avec l'un des triggers de l'onglet AFFECTATIONS, et attribuer l'affectation correspondante si elle est trouvée. Ex : si A2 contient "REM. CARTE", alors B2 devient "ENCAISSEMENT".

Voici le fichier d'exemple :

https://docs.google.com/spreadsheets/d/15-l6Fvv7XJ2MHUtrtXIP-ki-20G0vKvyaaiwHQomEO8/edit?usp=sharing

Un grand merci pour votre aide précieuse !

Bonjour,

Malheureusement il faut utiliser du regex :

voici la formule à faire glisser de B2 à B6

=SIERREUR(INDIRECT("AFFECTATIONS!B"&SOMMEPROD(REGEXMATCH(A2; AFFECTATIONS!A$2:A$6)*LIGNE(AFFECTATIONS!A$2:A$6))); "")

Avec lambda pour que ce soit dynamique (à mettre en B2) :

=map(A2:A;lambda(libelle;SIERREUR(INDIRECT("AFFECTATIONS!B"&SOMMEPROD(REGEXMATCH(libelle; AFFECTATIONS!A$2:A$6)*LIGNE(AFFECTATIONS!A$2:A$6))); "")))

Bonjour à tous,

Une autre solution à coller en B2 (qui en bonus peut gérer le cas où il y aurait plusieurs correspondances) :

=MAP(A2:A6;LAMBDA(t;TEXTJOIN(" / ";1;MAP(AFFECTATIONS!A2:A6;AFFECTATIONS!B2:B6;LAMBDA(l;a;SI(REGEXMATCH(t;l);a;""))))))

Cordialement,

Merci Messieurs, les 2 solutions fonctionnent mais la 2ème est parfaite pour le cas de plusieurs correspondances.

En tout cas, c'était définitivement au dessus de mes capacités, alors un grand merci.

Rechercher des sujets similaires à "probleme recherche correspondance vlookup index match"