Microsoft 365 Recherche dans une base de donnée, plusieurs colonnes

/Claire

XLDnaute Nouveau
Bonjour,

Je travaille actuellement sur une base de donnée et je suis à la recherche d'une formule me permettant de faire une recherche.

Ma base de donnée est composé de plusieurs référence (ex: C2000, C2001, C2002, etc...) et ces références se rapportent à plusieurs synonyme (ex: C2000 = 100-1 = P.alpha = A = Lactolazo = VZ).

Dans un premier temps j'ai cherché à faire afficher l'ensemble des synonyme d'une référence à partir de sa référence en Cxxxx, et j'ai réussie ! Grâce à une recherche X.

Mais, lorsque j'essai de rechercher une référence en Cxxxx à partir de l'un de ses synomynes... impossible ! Aucune des fonctions de recherche ne fonctionne (rechercheV/rechercheX) car je cherche mon synonyme dans 6 colonnes différentes.
J'ai utilisé la fonction Adresse pour déterminer dans quelle cellule se LE synonyme recherché, mais je n'arrive pas dire à excel que je souhaite qu'il me donne la référence en Cxxxx de la ligne ou ce trouve mon synonyme.

Dans mon document exemple, la base de donnée ce trouve dans l'onglet "Base de donnée", et les recherches dans l'onglet "Recherche"

J'espère avoir été suffisamment clair.

Dans l'attente de vous lire, je vous souhaite une excellente semaine.
 

Pièces jointes

  • Classeur d'essai Excel V2.xlsx
    16.4 KB · Affichages: 10

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour à tous,

Autre formule (en 365) basée sur FILTRE(...).
INDEX est uniquement présent pour renvoyer le premier élément (au cas où le terme recherché serait présent dans plusieurs lignes - ce qui ne devrait pas être le cas).
Formule en A17 à recopier vers le bas:
VB:
INDEX(FILTRE(Tableau1[Noms en C];SIERREUR(CHERCHE("_" & B17 & "_";"_" &  Tableau1[Liste noms2] & "_");0)>0);1)
 

Pièces jointes

  • EClaire- Recherche- v1.xlsx
    16.4 KB · Affichages: 9

merinos

XLDnaute Accro
Bonjour @/Claire ,

Certains vont dire que je reviens toujours avec powerquery... mais il est bon de savoir...

tu as un probleme de structure de ta DB...
heureusement powerquery permet de transformer automatiquement pour DEPIVOTER les synonymes...

Ce que je ne comprend pas non plus c'est le besoin de rechercher l'emplacement du synonyme dans la DB... une DB n'a pas d'emplacements...

Tu verras sur la feuille DB la DB transformée..
et sur la feuille recherche j'ai join les table pour obtenir les info '(et aussi utilisé xlookup)

a noter que la jointure de tables est "case sensitive"... donc P.BETA n'est pas P.beta... alors que cela fonctione avec le xlookup. il suffirait de mettre en majuscule dans le query....



Bref : tu as deja trois pistes completement différentes.

A+ Merinos

PS: la DB "dé-pivotée" n'est montrée qu'afin de permettre l'emploi du xlookup
 

Pièces jointes

  • Classeur d'essai Excel V2.xlsx
    33 KB · Affichages: 13

merinos

XLDnaute Accro
Salut @mapomme ,
Juste un petit truc à modifier me semble-t'il. Ta requête semble être sensible à la casse (voir le cas de P.BETA qui ne renvoie rien contrairement à P.beta). Ce ne doit pas être grand chose. J'ai acheté un bouquin sur PQ mais je ne l'ai pas encore potasser :(...


C'est pour cela que j'ai ajouté paragraphe:
a noter que la jointure de tables est "case sensitive"... donc P.BETA n'est pas P.beta... alors que cela fonctione avec le xlookup. il suffirait de mettre en majuscule dans le query....

il suffit d'ajouter une étape qui ajoute une colonne en majuscule... mais comme ce que j'envoie est un concept, je montre la choses... sans les finir.


Au plaisir,

Merinos