Fonction INDEX EQUIV #N/A

Bonjour à tout le forum,

J'espère que vous allez bien ! je poste aujourd'hui pour un problème sur une formule index equiv. le fichier ci joint est un fichier qui me permet de trouver le fournisseur le moins cher.

La feuille "1" est ma feuille d'utilisation quotidienne, la feuille"BDD" est ma base de donnée ou j'y est intégré entre autres les tarifs de mes fournisseurs.

Mon dernier problème à l'heure actuel est lié à cette formule en F17 Feuille BDD :

=INDEX(X5:AE42;MATCH(G2;W5:W42;0);MATCH(A17;X1;0);MATCH(G3;X2:AE2;0)+MATCH(G4;X3:AA3;0)+MATCH(G5;X4:Y4;0))

Le but de cette formule ? j'aimerais qu'en fonction du fournisseur (A17, A18, A20, A21, A22, A23, A24, feuille BDD) et des 4 critères que l'utilisateur peut choisir (C3 , C8, C11, C14, feuille 1) le prix de chaque fournisseur se mette en F17, F18, F19, F20, F21, F22, F23, F24 feuille BDD.

Je pense aussi que mon tableau en BDD est mal organisé, vos conseils pour réorganiser tout cela sont les bienvenue !

J'avoue que c'est l'une des premières fois que j'utilise cette fonction, je gère pas trop mal jusqu'à 2 ou 3 critères mais là avec 5 critères je suis coulé !

un petit coup de main serait génial !

merci de votre aide

à vous lire

Pipin54000

Bonjour Pipin54000,

Voyez si la solution proposée par la formule

=INDIRECT("BDD!"&ADRESSE(EQUIV(G$2;CW_1;0);SOMME(EQUIV(A17;$1:$1;0);SI(G$4="ANR";0;4);SI(G$5="20f";0;1));4;1);1)

vous convient

Bonjour njhub,

Votre formule répond parfaitement à mes besoins ! un grand merci

Par contre pourriez vous me l'expliquer que je comprenne bien sa construction ?

Merci, à vous lire

Pipin54000

bonjour à tous

est-ce que je dis une bêtise en suggérant un TCD (avec ses filtres) ?

ce qui évite toute formule

amitiés

Bonjour jmd,

Je n'ai pas pens à cete solution tant donné que je voulais automatiser ma recherche et avoir en un clic mon résultat.

J'y penserai à l'avenir

merci de votre conseil

Pipin54000

njhub,

je reviens vers toi par rapport à ta formule, celle ci me trouve le prix par fournisseur suivant le client choisi c'est déjà une grande avancée pour moi .

Par contre à l'utilisation je me suis rendu compte que la formule ne prend en compte que la liste déroulante en C2 feuille "1" et non l'ensemble des choix possible c'est à dire C2, C8, C11 et C14 feuille "1"

Comment je peux modifier ta formule en consequence ?

Merci de ton aide

Pipin54000

njhub,

Ci dessous vous trouverez mon fichier mis à jour,

Merci encore de votre aide

à vous lire

Pipin54000

Bonjour Pipin54000,

Il fallait simplement verrouiller la zone de recherche de I$2 dans L$1:L$42 au lieu de L1:L42

=INDIRECT("BDD!"&ADRESSE(EQUIV(I$2;L$1:L$42;0);SOMME(EQUIV(A17;$1:$1;0);SI(I$4="ANR";0;4);SI(I$5="20f";0;1));4;1);1)

Désolé de n'avoir pu répondre plus tôt

Bonjour njhub,

Effectivement ce n'était que vérrouiller les cellules ... je pense que c'était largement à ma portée de trouver cette erreur ! J'ai probablement un peu paniqué sans connaître la formule. C'est pourquoi ce serait cool si tu pouvait m'expliquer en décomposant ta formule

merci de ton retour

à te lire

Pipin54000

Bonjour Pipin54000,

1) l'adresse d'une cellule est composée de la lettre de la colonne et du numéro de ligne, par exemple A1.

la fonction adresse, utilise comme premier paramètre le numéro de ligne, puis le numéro de colonne,

les autres paramètres sont facultatifs.

Dans ADRESSE(EQUIV(I$2;L$1:L$42;0);SOMME(EQUIV(A17;$1:$1;0);SI(I$4="ANR";0;4);SI(I$5="20f";0;1)))

  • EQUIV(I$2;L$1:L$42;0) renvoie le numéro de la ligne dans la zone L$1:L$42, qui correspond à I$2, la ville, en ligne 5.
  • SOMME(EQUIV(A17;$1:$1;0);SI(I$4="ANR";0;4);SI(I$5="20f";0;1)) renvoie le numéro de la colonne dans la ligne 1, en additionnant (23 + 0 + 1) , soit colonne 24.

ADRESSE(EQUIV(I$2;L$1:L$42;0);SOMME(EQUIV(A17;$1:$1;0);SI(I$4="ANR";0;4);SI(I$5="20f";0;1));4;1)

renvoie vers la cellule X5

2) INDIRECT() un premier paramètre obligatoire, la référence et le second, facultatif

qui indique sous quelle forme la référence doit être interprétée par la fonction.

INDIRECT("BDD!"&ADRESSE(EQUIV(I$2;L$1:L$42;0);SOMME(EQUIV(A17;$1:$1;0);SI(I$4="ANR";0;4);SI(I$5="20f";0;1));4;1);1)

correspond à INDIRECT("BDD!"&X5);1)

njhub,

merci de m'avoir expliqué ! ça va m'aider à continuer ce travail

merci pour le temps passé sur mon sujet.

à bientôt

Pipin54000

Rechercher des sujets similaires à "fonction index equiv"