Recherche multi criteres

Bonjour,

Je n'arrive pas à m'en sortir... si quelqu'un peut m'aider je lui en serai infiniment reconnaissante (c'est Noel)

Voilà j'explique (le tableau est en pièce jointe) :

Dans l'onglet PIC, j'ai 3 colonnes qui pointent vers 2 listes (la colonne H qui pointe vers l'onglet Group Contract List, colonne C, la colonne I qui pointe vers la colonne B de l'onglet Group Contract List et enfin la colonne J qui pointe vers un autre onglet appelé Subsidiary colonne A). Il y a déjà les formules RECHERCHEV. Jusque là pas de problème.

Là où ça se complique c'est que dans l'onglet Group Contract List, aux fournisseurs de la colonne C sont affectés des catégories (colonne I) et pour un fournisseur il peut y avoir parfois plusieurs catégories..

Je voudrais donc que dans l'onglet PIC dans la colonne M, dès lors que excel trouve un code dans la colonne H ET un code dans la colonne I OU J et que le code catégorie est bien listée dans l'onglet Group Contract List, colonne I, il me mette OK ou KO... je ne sais pas si c'est clair... j'espère... (les colonnes qui nosu intéressent ont des en-têtes orange foncé)

En gros si ID 1 est trouvé puis l'ID 2 (dans l'une ou l'autre des 2 colonnes I et J) et si code catégorie est présent dans Group Contract List (colonne I) alors OK sinon KO

Encore merci de votre aide,

Bonjour FR1964,

Un petit essai avec plusieurs formules qui donne le résultat attendu :

Cordialement,

Merci pour votre contribution mais... cela ne marche pas...

Si vous reprenez mon fichier et que vous regarder l'ID US222640650 fournisseur HONEYWELL INTERNATIONAL INC, la seule catégorie qui lui a été affectée est la catégorie 6607 (ligne 144 de l'onglet Group Contract List)... or dans la formule que vous indiquez, excel trouve que pour HONEYWELL INTERNATIONAL INC, les 2 autres catégories sont OK (alors qu'elles devraient être KO) : la 7102, la 8401. Seule la 6007 est OK... donc cela ne marche pas...

Personne pour m'aider ?

Bonjour FR1964, IronBoule, le forum,

Un essai....

En M4:

=SI(ET($H4<>"";OU($I4<>"";$J4<>"");NB.SI('Group Contracts List'!$I$2:$I$286;$L4)>0);"OK";"KO")

A tirer vers le bas....

Cordialement,

Bonjour, non cela ne fonctionne toujours pas... je ne sais pas comment expliquer... c'est vrai que c'est compliqué... je reprends..

La colonne H est vérifiée grâce à une formule recherchev dans l'onglet Group Contract List colonne C.

La colonne I est vérifiée par la même formule dans l'onglet Group Contract List colonne D.

La colonne J est vérifiée par la même formule dans l'onglet Subsidiary colonne A

On doit vérifier que pour le parent ID de l'onglet (PIC...) colonne H ET le Supplier ID de la colonne I OU l'ID de la colonne J (l'une OU l'autre), le code catégorie qui est dans la colonne L de l'onglet PIC correspond bien au code catégorie de l'onglet J de l'onglet Group Contract List... ATTENTION aussi au fait que pour un fournisseur plusieurs codes peuvent être affectés.

Exemple le fournisseur UNITED TECHNOLOGIES CORPORATION. 3 codes catégories lui sont affectés (6102, 8505 et 7078). Ce que je voudrais c'est que si excel trouve le parent ID + le supplier ID OU le subsidiary ID et que ces 3 codes catégories sont trouvés alors OK. Dans mes 2 copies écran ci joint, je montre les 3 codes catégories pour ce fournisseur et du KO partout puisque la colonne I et J sont vides... si l'une de ces deux colonnes étaient non vides alors ce serait OK pour les codes catégories 6102, 8505 et KO pour toutes les autres...

2020 01 02 10 23 57 1 pic supplier classif xlsm excel 2020 01 02 10 18 11 2 pic supplier classif xlsm excel

Bon ben visiblement c'est trop compliqué donc...

J'avais essayé une formule de type si.sommeprod... mais je voudrais y intégrer la notion de OU pour les 2 colonnes H et I... mais je ne sais vraiment pas comment faire...

Re,

Je t'avoue que je m'embrouille avec tes Parent ID, Supplier ID, etc....

A tester:

  • Sur la feuille PIC..

Rajoute une colonne (ici K) dans laquelle tu concatènes tes 3 colonnes Check Parent, Check Supplier, Check Subsidiary.

Remarque: si supplier et subsidiary remplis, on ne tient compte que de supplier.

=SI(ET(I4<>"";J4="");CONCATENER(H4;I4);SI(ET(I4="";J4<>"");CONCATENER(H4;J4);SI(ET(I4<>"";J4<>"");CONCATENER(H4;I4);"")))
  • Sur la feuille Groups contracts list

Rajoute une colonne (ici D) dans laquelle tu concatènes Parent ID et Supplier ID

=CONCATENER(C2;B2)

Ensuite sur la feuille PIC, on compare les 2 codes des colonnes M (feuille PIC...) et J (feuille Groups...).

Si ils sont égaux, OK sinon KO.

=SIERREUR(SI(M4=INDEX('Group Contracts List'!$J$2:$J$286;EQUIV('PIC - Supplier Classif'!K4;'Group Contracts List'!$D$2:$D$286;0));"OK";"KO");"KO")

Les colonnes K et D pourront être masquées....

Nota: dans ton fichier exemple, KO partout car aucune correspondance...

Cordialement,

Oui j'ai sais c'est pas simple, c'est bien pour ça que j'ai demandé de l'aide

En fait entre-temps j'ai cherché une solution que je pense avoir trouvée et qui se fait en deux temps,

un premier check sur les non vides (=SI(ET(H90<>"";OU(I90<>"";J90<>""));"OK";"KO") puis

dans une deuxième colonne si je filtre sur les OK, un si.sommeprod et du coup ça a l'air de fonctionner...

Donc merci de votre aide, parce que c'est finalement un mix des differentes formules proposées... a mon avis on peut simplifier mais bon ça serait la cerise sur le gâteau

Rechercher des sujets similaires à "recherche multi criteres"