Fonction index equiv avec colonne indéterminée

pingouinal

XLDnaute Occasionnel
Bonjour tout le monde,

J'ai un petit souci avec la fonction index-equiv.
Dans mon exemple ci-joint, je cherche à obtenir une correspondance de produit mais sans savoir à la base dans quelle colonne se trouve ce produit.
J'aimerais avoir le résultat obtenu dans la cellule G4, mais sans avoir à spécifier dans la formule de chercher la valeur de G2 dans la colonne B. En effet au moment de la recherche, je ne saurai pas dans quelle colonne se trouve cette valeur.
Y a-t-il un moyen de dire à la formule de chercher dans tout le tableau?
J'ai essayé de remplacer B2:B5 par A2: D5 mais la formule ne marche plus.

D'avance merci pour votre aide.
 

Pièces jointes

  • Book3.xls
    13.5 KB · Affichages: 155
  • Book3.xls
    13.5 KB · Affichages: 168
  • Book3.xls
    13.5 KB · Affichages: 162

tototiti2008

XLDnaute Barbatruc
Re : Fonction index equiv avec colonne indéterminée

Bonjour pingouinal,

peut-être, en G4 :

Code:
=INDEX(A2:D5;SI(ESTNUM(EQUIV(G2;A2:A5;0));EQUIV(G2;A2:A5;0);0)+SI(ESTNUM(EQUIV(G2;B2:B5;0));EQUIV(G2;B2:B5;0);0)+SI(ESTNUM(EQUIV(G2;C2:C5;0));EQUIV(G2;C2:C5;0);0)+SI(ESTNUM(EQUIV(G2;D2:D5;0));EQUIV(G2;D2:D5;0);0);EQUIV(G3;A1:D1;0))
 
G

Guest

Guest
Re : Fonction index equiv avec colonne indéterminée

Bonjour,


[Edit]fonctionne uniquement avec des références uniques
Code:
=INDEX(A2:D5;EQUIV(G2;DECALER(A2:A5;0;SOMMEPROD((A2:D5=G2)*COLONNE(A2:D5))-1);0);EQUIV(G3;A1:D1;0))

[Edit 2]
Celle-ci semble fonctionner avec des références non uniques:

Code:
=INDEX(A2:D5;EQUIV(G2;DECALER(A2:A5;0;SOMMEPROD((A2:D5=G2)*COLONNE(A2:D5))/NB.SI(A2:D5;G2)-1);0);EQUIV(G3;A1:D1;0))

Hello TotoTiti:), je m'ai planté:rolleyes:
A+
 
Dernière modification par un modérateur:
G

Guest

Guest
Re : Fonction index equiv avec colonne indéterminée

Re,
Tototiti:)
Hello tbft:)

Cela plante quand il y a des références non uniques.

J'ai corrigé avec un /NB.SI

Code:
=INDEX(A2:D5;EQUIV(G2;DECALER(A2:A5;0;SOMMEPROD((A2:D5=G2)*COLONNE(A2:D5))/NB.SI(A2:D5;G2)-1);0);EQUIV(G3;A1:D1;0))

mais je ne suis pas sûr du truc. Si la ref n'existe pas Div/0

A+
 
Dernière modification par un modérateur:

hoerwind

XLDnaute Barbatruc
Re : Fonction index equiv avec colonne indéterminée

Bonjour, salut tototiti, Hasco et tbft,

Une autre formule à tester :
Code:
=DECALER(A1;EQUIV(G2;DECALER(A1;;NB.SI(A2:A5;G2)+NB.SI(B2:B5;G2)*2+NB.SI(C2:C5;G2)*3+NB.SI(D2:D5;G2)-1;4));EQUIV(G3;A1:D1;0)-1)
 

pingouinal

XLDnaute Occasionnel
Re : Fonction index equiv avec colonne indéterminée

Rebonjour tout le monde,

Tout d'abord merci à tous pour vos propositions.
J'ai testé et retenu la formule de Hasco qui fonctionne très bien.
J'aurais cependant une petite question. Si la valeur correspondante est égale à la valeur recherchée, la formule m'affiche #N/A au lieu de cette même valeur. Je peux bien sûr vérifier avec la fonction si mais ça me donne la formule à rallonge suivante :

Code:
=SI(ESTERR(INDEX(A2:D88;EQUIV(G2;DECALER(A2:A88;0;SOMMEPROD((A2:D88=G2)*COLONNE(A2:D88))/NB.SI(A2:D88;G2)-1);0);EQUIV(G3;A1:D1;0)));G2;INDEX(A2:D88;EQUIV(G2;DECALER(A2:A88;0;SOMMEPROD((A2:D88=G2)*COLONNE(A2:D88))/NB.SI(A2:D88;G2)-1);0);EQUIV(G3;A1:D1;0)))

Est-il possible d'ajouter un petit quelque-chose plus simple/court à la formule de base pour éviter cette longue formule?

D'avance merci
 
G

Guest

Guest
Re : Fonction index equiv avec colonne indéterminée

Re,

Tu peux tester ceci:

Code:
=INDEX($A$2:$D$5;EQUIV($G$2;DECALER($A$2:$A$5;0;[COLOR=red]SOMMEPROD(($A$2:$D$5=$G$2)*[B]MIN(COLONNE($A$2:$D$5))[/B])-1)[/COLOR];0);EQUIV($G$3;$A$1:$D$1;0))

Qui retournera le premier numéro de colonne dans laquelle la valeur est trouvée pour la fonction décaler.

A+
 
Dernière modification par un modérateur:
G

Guest

Guest
Re : Fonction index equiv avec colonne indéterminée

Re,

@Tbft, je n'avais pas vu ta demande du post #5

Code:
SOMMEPROD((A2:D5=G2)*Min(COLONNE(A2:D5))
Va comparer toute les valeurs de A2:A5 = G2 et renvoyer VRAI (=1) s'il trouve une équivalence ou FAUX (=0) s'il ne trouve pas.

Elle multiplie ces 1 ou 0 par le numéro de la première colonne dans laquelle il a trouvé une équivalence.

Numéro de colonne dont on a besoin dans la fonction DECALER.

A+
 

pingouinal

XLDnaute Occasionnel
Re : Fonction index equiv avec colonne indéterminée

Re Hasco,

Merci pour cette réponse, mais j'ai un problème avec cette dernière formule.
Si la valeur de base est en colonne 1 et est égale à celle qui doit être affiché, j'ai #N/A.
Même chose si la valeur de base n'est pas en colonne 1 et est différente de celle qui doit être affichée.

Par exemple quand je cherche le produit 11C2720 pour la France, elle m'affiche #N/A alors que je devrais avoir 11C2565.
 
G

Guest

Guest
Re : Fonction index equiv avec colonne indéterminée

Re,

tu sais, je ne suis pas le plus doué pour les formules matricielles.

Attends un peu que quelqu'un passe par là et te donne une meilleur réponse. As-tu testé les formule de Hoerwind et tototiti?

Fais remonter ton fil de temps en temps(pas tous les quart d'heure) si la réponse ne vient pas tout de suite

Mais il me semble qu'il y a un défaut d'origine, dans la conception: Si toutes les références peuvent être dupliquées à n'importe quel endroit, cela va être difficile de dire a excel laquelle choisir.

A+
 
Dernière modification par un modérateur:

pingouinal

XLDnaute Occasionnel
Re : Fonction index equiv avec colonne indéterminée

Re Hasco,

Pas de problème, je peux déjà partir sur ta première formule avec le "si/esterr" pour éviter le #N/A.

J'ai aussi regardé les formules de tototiti et hoerwind, mais il faut dupliquer une partie de la formule à chaque nouvelle colonne et comme je peux en avoir beaucoup, ça va vite être ingérable.

Encore merci pour ton aide.
 

Discussions similaires

Statistiques des forums

Discussions
312 355
Messages
2 087 553
Membres
103 588
dernier inscrit
Tom59300Tom