INDEX + EQUIV avec conditions

Résolu
Lulupatate Messages postés 4 Statut Membre -  
Lulupatate Messages postés 4 Statut Membre -
Bonjour à tous,

Je dois mettre à jour la liste de prix de mon entreprise sur la base de fichiers transmis par nos fournisseurs.

Feuil1 (ma liste de prix) :


Feuil2 (liste de prix du fournisseur) :


Résultat escompté :
- Rechercher dans Feuil2!A les cellules qui contiennent la référence se trouvant dans Feuil1!A
- Afficher dans Feuil1!D le prix correspondant le moins élevé (Feuil2!C)

Je pensais y arriver à l'aide des fonctions INDEX + EQUIV mais je bloque sur les points suivants :

A part les x premiers caractères, mes références et celles du fournisseur ne correspondent pas à 100%. Comment inclure la condition « qui contient » dans la recherche et gérer les multiples résultats ?

Le fournisseur pratique des prix différents en fonction de la taille et je ne souhaite retenir que le prix le moins élevé.

Fichier d'exemple: https://www.cjoint.com/c/JLcottbDbWr

Un grand merci d'avance pour votre aide !

Salutations,
Lucien

3 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

    le problème est que dans la feuille 2 la référence de la feuil1 5570-256 "sweatshirt carbon etc" n'existe pas...
    m^me punition pour la ref R2860-224 qui renvoie à une doudoune....

    ou alors j'ai plus que mal vu

    Ta demande me semble alors peu sérieuse !

    désolé

    0
    1. Lulupatate Messages postés 4 Statut Membre
       
      Merci d'avoir pris le temps d'analyser ma demande et j'espère avoir bien compris ta remarque.
      On retrouve bel et bien la référence 5570-256 à plusieurs reprise dans la seconde feuille mais toujours suivie d'un code supplémentaire:
      5570-256 & -2038-XS
      5570-256 & -2038-S
      5570-256 & -2038-M
      5570-256 & -2038-L
      etc.
      D'où mon intérêt d'ajouter la condition « qui contient » à la recherche étant donné qu'il n'y aura jamais une correspondance exacte.
      Pour ce qui est des désignations sweatshirt etc., elles n'apportent rien et peuvent être ignorées à mon avis.
      Peut-être me suis-je mal exprimé?

      Lucien
      0
      1. ALS35 Messages postés 1034 Date d'inscription   Statut Membre Dernière intervention   147 > Lulupatate Messages postés 4 Statut Membre
         
        Bonjour,

        Si tu as Excel 2019 ou Microsoft 365, assez simple, essaie en D1 Feuil1
        =MIN.SI.ENS(Feuil2!$C$2:$C$81;Feuil2!$A$2:$A$81;A2&"*")

        sinon, moins simple, essaie
        =MIN(SI(A2=GAUCHE(Feuil2!$A$2:$A$81;NBCAR(A2));Feuil2!$C$2:$C$81;""))

        mais attention formule matricielle à valider par Ctrl+Maj+Entrée, la formule se met alors automatiquement entre accolades {}

        Cordialement
        0
      2. Lulupatate Messages postés 4 Statut Membre > ALS35 Messages postés 1034 Date d'inscription   Statut Membre Dernière intervention  
         
        La deuxième solution semble fonctionner parfaitement sur Excel 2016.
        Merci beaucoup pour ton aide!
        0
  2. Raymond PENTIER Messages postés 58216 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     


    Bonjour.

    Autre approche :
    1) Ajouter une colonne avec la formule =STXT(A2;1;TROUVE("-";A2;8)-1)
    2) Insérer un TCD https://www.cjoint.com/c/JLdaxEZ0RQg

    0
  3. Lulupatate Messages postés 4 Statut Membre
     
    Merci pour cette alternative que je ne manquerai pas de tester.
    0