SI correspondance partielle, alors RESULTAT

Fermé
samstec Messages postés 5 Date d'inscription mardi 20 août 2013 Statut Membre Dernière intervention 20 août 2013 - 20 août 2013 à 12:11
via55 Messages postés 14474 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 19 septembre 2024 - 20 août 2013 à 17:57
Bonjour,

Tout d'abord, merci déjà de prêter attention à ce message, 1ere étape dans le but de m'aider :)
Je m'explique :
J'ai 4 colonnes :
la 1ere : Ma gamme de produit : Une liste de produits appelés simplement : Exemple : "produit a"
la 2eme : La gamme de produit nationale Une liste avec les mêmes produits mais possédant une appellation légèrement différente: "produit a ZUXIZE2512"
la 3eme : Un code de plusieurs chiffres correspondant à ces produits.
la 4eme : colonne à remplir.

Ce que je souhaite faire dans la 4eme colonne parait simple : Je souhaite attribuer les codes produit lorsque je trouve une correspondance de la 1ere colonne (mes produits) dans la colonne 2. (produits nationaux) : "Si je trouve que -mon produit a- est dans la -gamme nationale- (malgré une appelation différente) alors j'attribue le code. dans la colonne 4.'

Je bloque avec cette histoire de correspondance partielle, les correspondances des dénomination sont partielles...

Merci beaucoup,

Thomas.

6 réponses

eriiic Messages postés 24595 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 2 septembre 2024 7 235
20 août 2013 à 12:16
Bonjour,

Merci de déposer le fichier xls (réduit au nécessaire et anonymisé, avec les explications et éventuellement le résultat attendu) sur cjoint.com et coller ici le lien fourni.

eric
1
samstec Messages postés 5 Date d'inscription mardi 20 août 2013 Statut Membre Dernière intervention 20 août 2013
20 août 2013 à 12:39
Merci,

Voici le lien :

https://www.cjoint.com/c/CHumMjxuPKY

J'ai un peu modulé le tableau pour que ce soit + compréhensible.

Lecture : Lorsque je trouve une correspondance, dans la colonne 2, je souhaite intégrer le code article dans la colonne 3.
0
eriiic Messages postés 24595 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 2 septembre 2024 7 235
20 août 2013 à 13:09
Re,

j'ai fait en fonction de ton exemple, mais je ne vois pas le rapport avec tes explications (?)
En D2 :
=SI(EQUIV(RECHERCHEV($C2&"*";$B:$B;1;FAUX);$B:$B;0)>1;INDEX($A:$A;EQUIV(RECHERCHEV($C2&"*";$B:$B;1;FAUX);$B:$B;0));"")
à recopier vers le bas.
#N/A si non trouvé

eric
0
samstec Messages postés 5 Date d'inscription mardi 20 août 2013 Statut Membre Dernière intervention 20 août 2013
20 août 2013 à 14:02
Merci beaucoup Eric.
Désolé pour ces explications approximatives, mais la formule répond parfaitement à mes attentes.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
samstec Messages postés 5 Date d'inscription mardi 20 août 2013 Statut Membre Dernière intervention 20 août 2013
20 août 2013 à 14:37
En fait je viens de comprendre le malentendu.

Ce que je voulais dire, c'est que parfois la correspondance des dénominations entre mon produit et le produit national n'était pas exacte, elle est approximative, d'où ma grande difficulté.

J'ai remis en PJ l'exemple avec la suite du tableau qui présente le problème.

https://www.cjoint.com/c/CHuoIrJbN0O
0
eriiic Messages postés 24595 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 2 septembre 2024 7 235
20 août 2013 à 16:05
Comment tu veux qu'excel analyse et traite ces divergences :
COLZIUM DOBLO 20 L (20-640)
et
COLZIUM DOBLO 20LT
dans un cas tu as 20LT, dans l'autre L tout court et un espace en plus...
On peut raccourcir la chaine de recherche de 2 caractères :
=SI(EQUIV(RECHERCHEV(SI(ESTERREUR(CHERCHE("(";C2));C2;GAUCHE(C2;CHERCHE("(";C2)-4))&"*";$B:$B;1;FAUX);$B:$B;0)>1;INDEX($A:$A;EQUIV(RECHERCHEV(SI(ESTERREUR(CHERCHE("(";C2));C2;GAUCHE(C2;CHERCHE("(";C2)-4))&"*";$B:$B;1;FAUX);$B:$B;0));"")

Ce qui commence à être imbuvable.
Mais ensuite cas suivant :
KELTO EN 2KG
et
KELTO 2KG. Il n'y a plus EN....

Excel ne fait pas de miracles.

eric
0
samstec Messages postés 5 Date d'inscription mardi 20 août 2013 Statut Membre Dernière intervention 20 août 2013
20 août 2013 à 16:15
Effectivement, c'est compliqué. Je me demandais s'il y avait justement cette possibilité de "paramétrer" l'approximation, par exemple en considérant des cellules comme "correspondantes" lorsque "80% des caractères sont vérifiés". Il existe tellement de formules que je me disais que ça pourrait être possible :=)

Merci en tout cas pour ton aide Eric.

Thomas.
0
eriiic Messages postés 24595 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 2 septembre 2024 7 235
20 août 2013 à 16:41
Par formule ça deviendrait vite ingérable.
En vba éventuellement, mais il faudrait tous les cas de figure pour ne pas à avoir à revenir dessus 20 fois. Tu lâches les infos au compte-goutte...

eric
0
via55 Messages postés 14474 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 19 septembre 2024 2 728
20 août 2013 à 17:57
Bonjour Thomas
Bonjour Eric

Effectivement ç'est vite ingérable

A mon sens tu devrais reprendre tes dénominations en les modifiant afin que les 2 premiers termes soient identiques à ceux de la gamme nationale (si cela suffit à differencier les produits) et extraire le premier ou les 2 premiers mots pour effectuer une recherche par equiv

https://www.cjoint.com/?0Hur4BjwLAl

Tu peux adapter pour avoir 3 termes significatifs au lieu de 2 si nécessaire

Cdlmnt
0