INDEX + EQUIV avec conditions

Résolu
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. Contributeur
    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. 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
    2. @LulupatateBonjour,

      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
    3. @ALS35La deuxième solution semble fonctionner parfaitement sur Excel 2016.
      Merci beaucoup pour ton aide!
      0
  2. Merci pour cette alternative que je ne manquerai pas de tester.
    0