INDEX + EQUIV avec conditions [Résolu]

Signaler
Messages postés
4
Date d'inscription
vendredi 27 novembre 2020
Statut
Membre
Dernière intervention
3 décembre 2020
-
Messages postés
4
Date d'inscription
vendredi 27 novembre 2020
Statut
Membre
Dernière intervention
3 décembre 2020
-
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

Messages postés
16369
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
21 janvier 2021
3 115
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é


Messages postés
4
Date d'inscription
vendredi 27 novembre 2020
Statut
Membre
Dernière intervention
3 décembre 2020

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
Messages postés
586
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
21 janvier 2021
34 >
Messages postés
4
Date d'inscription
vendredi 27 novembre 2020
Statut
Membre
Dernière intervention
3 décembre 2020

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
Messages postés
4
Date d'inscription
vendredi 27 novembre 2020
Statut
Membre
Dernière intervention
3 décembre 2020
>
Messages postés
586
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
21 janvier 2021

La deuxième solution semble fonctionner parfaitement sur Excel 2016.
Merci beaucoup pour ton aide!
Messages postés
53126
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
21 janvier 2021
15 104


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

Messages postés
4
Date d'inscription
vendredi 27 novembre 2020
Statut
Membre
Dernière intervention
3 décembre 2020

Merci pour cette alternative que je ne manquerai pas de tester.