Recherche avec trois critères (INDEX et EQUIV)

Cecile08

XLDnaute Nouveau
Bonjour à tout le forum;

Ma formule lui manque un bout, une recherche à trois critères que j'arrive pas à réaliser, j'ai essayé toute la journée, mais sans résultat:confused:

si quelqu'un pourrait bien m'aider ça serait très apprécié, car je tourne au rond :eek:

Code:
=SI(LIGNES(B$7:B7)>NBVAL(A$7:A$36);"";INDEX(Feuil1!G$2:G$20;EQUIV(A7;Feuil1!D$2:D$20;0);EQUIV($O$2;Feuil1!A$2:A$20;0)))

toutes les explications sont dans le fichiers joint:

Merci à tous d'avance!!!!
 

Pièces jointes

  • Recherche avec 3 criteres.zip
    29.5 KB · Affichages: 174
  • Recherche avec 3 criteres.zip
    29.5 KB · Affichages: 159
  • Recherche avec 3 criteres.zip
    29.5 KB · Affichages: 181

Tibo

XLDnaute Barbatruc
Re : Recherche avec trois critères (INDEX et EQUIV)

Bonjour,

Une première approche pour la formule en B11 :

Code:
=SI(LIGNES($1:1)<=SOMME((BD!$B$2:$B$91=$O$5)*(BD!$B$2:$B$91<>"")*(BD!$H$2:$H$91=
$G$7)*(BD!$I$2:$I$91=""));INDEX(BD!$I$2:$I$91;PETITE.VALEUR(SI((BD!$B$2:$B$91=
$O$5)*(BD!$H$2:$H$91=$G$7)[COLOR=Red]*(BD!$I$2:$I$91<>"")[/COLOR]*(NB.SI(B$10:B10;BD!$I$2:$I$91)
=0);LIGNE(INDIRECT("1:"&LIGNES(BD!$I$2:$I$91))));LIGNES($1:1)));"")

A valider matriciellement.

J'ai mis en rouge ce que j'ai ajouté à ta formule.

Pas trop compris pour le moment ce que tu voulais obtenir avec les autres formules.

Je te laisse déjà tester la correction proposée.

@+
 

Cecile08

XLDnaute Nouveau
Re : Recherche avec trois critères (INDEX et EQUIV)

Bonjour Tibo,

En dirait que ça marche pas aussi. La formule a envoyé 3 fois le même métier, et a ignoré tout le reste, ce qu'elle devrait faire c'est ça:

Monteur A
Monteur C
Chef de groupe
Électricien
Chef de groupe électrique
Ferrailleur
Manœuvre spécialisée
Menuisier
Chef d'équipe
Arpenteur
Gardien de Sécurité
Responsable qualité

pour le reste des formules je vais trouver une fçon plus simple pour vous l'expliquer. Donc à tout à l'heure.

Merci beaucoup, bonne journée.
 

Pièces jointes

  • Cécile3.zip
    46.5 KB · Affichages: 70
  • Cécile3.zip
    46.5 KB · Affichages: 73
  • Cécile3.zip
    46.5 KB · Affichages: 67

Cecile08

XLDnaute Nouveau
Re : Recherche avec trois critères (INDEX et EQUIV)

Bonjour à tous,

Désolée pour mon absence car ma connection interne m'a laissé tomber au mauvais moment!!!:eek:.

Je joint mon fichier avec des explications simples dans des bulles.

Merci beaucoup d'avance.
 

Pièces jointes

  • cijF4mDLDg.xls
    8.4 KB · Affichages: 110

pdsaudrey

XLDnaute Nouveau
Re : Recherche avec trois critères (INDEX et EQUIV)

Bonjour,
J'ai du mal à faire marcher ma formule INDEX et EQUIV avec 3 critères.
Je vous explique un peu le contexte:
J'ai une base de données avec des prix de plusieurs fournisseurs (plus d'une trentaine au final). Les prix sont fixés en fonction de deux critères: tonnage + prix (onglet 2).
J'ai un deuxième onglet avec d'une part mes critères en lignes (tonnage + km) et mes fournisseurs en colonne (fournisseur A, B, C....)
Je voudrais une formule qui me donne le prix du fournisseur en fonction de la combinaison de critère.
J'ai essayé deux formules mais elles ne marchent pas 100%:
Formule 1: =INDEX('Cotation Jocket'!$F$5:$M$28;EQUIV('BDD 2015'!$B6;'Cotation Jocket'!$E$5:$E$28;0);EQUIV('BDD 2015'!$A6;'Cotation Jocket'!$F$4:$M$4;0);EQUIV('BDD 2015'!C$5;'Cotation Jocket'!$D$5:$D$28;0))
Formule 2: =SI('Cotation Jocket'!$D$5:$D$28='BDD 2015'!C$5;INDEX('Cotation Jocket'!$F$5:$M$28;EQUIV('BDD 2015'!$B17;'Cotation Jocket'!$E$5:$E$28;0);EQUIV('BDD 2015'!$A17;'Cotation Jocket'!$F$4:$M$4;0));"")

Pourriez -vous m'aider svp?
 

Pièces jointes

  • Périmètre d'etude.xlsx
    198.5 KB · Affichages: 46

Dugenou

XLDnaute Barbatruc
Re : Recherche avec trois critères (INDEX et EQUIV)

Bonjour,
A la lecture des posts précédents (merci d'avoir recherché un sujet identique !!) tu vois que le simple index equiv ne peut suffire pour 3 critères. Dans ton cas, le plus simple me semble de faire une formule différente pour chaque fournisseur. Ceci dit, on pourrait n'avoir qu'une seule formule avec un DECALER ou avec des zones nommées mais ça va compliquer un peu la formule.
Pour la première série : on ne peut pas avoir de résultat car il n'y a pas de tonnage indiqué (ou alors il faut écrire autre chose que N/A : semi remorque par exemple)
Pour la seconde série : dans chaque colonne tu dois utiliser une zone différente si tu veux utiliser la fonction index (car la plupart des distances sont les mêmes chez les deux fournisseurs, et donc le equiv (comme le recherchev) te renverra toujours la première valeur trouvée donc toujours le fournisseur A).
On obtient des NA quand la distance n'existe pas dans la liste du fournisseur : on pourrait ne rien afficher avec un sierreur(laformule;"")

Il apparaît au final que le fournisseur A est le moins cher sur tous les critères :)
Edit : Oups une petite inversion dans le fichier 1 :rolleyes:
et une version 2 avec formule unique, matricielle, à recopier à droite et en bas
 

Pièces jointes

  • pdsaudrey.xlsx
    28.9 KB · Affichages: 67
  • pdsaudreyV2.xlsx
    31.9 KB · Affichages: 63
Dernière édition:

Dugenou

XLDnaute Barbatruc
Re : Recherche avec trois critères (INDEX et EQUIV)

Bonjour,
Cette tranche n'existe pas dans ton fichier pour le fournisseur B : pour ce fournisseur tu as une tranche de 1 à 100 Km.
Puisque tu utilises des données de texte pour ce découpage si le equiv ne retrouve pas la valeur exacte il renvoie une erreur.
Une solution serait de modifier ton tableau pour indiquer les tranches en chiffres; ce qui t'obligerai à donner les valeurs de distances en chiffres aussi dans ta feuille BDD 2015

Voir une autre version en pj avec des fonction DECALER pour trouver le fournisseur
Si tu tiens à afficher des distances en texte dans la feuille BDD : on pourrait le calculer à partir de chiffres dans une colonne masquée.

Cordialement
 

Pièces jointes

  • pdsaudreyV3.xlsx
    30.2 KB · Affichages: 31

pdsaudrey

XLDnaute Nouveau
Re : Recherche avec trois critères (INDEX et EQUIV)

Bonjour,
Cette tranche n'existe pas dans ton fichier pour le fournisseur B : pour ce fournisseur tu as une tranche de 1 à 100 Km.
Puisque tu utilises des données de texte pour ce découpage si le equiv ne retrouve pas la valeur exacte il renvoie une erreur.
Une solution serait de modifier ton tableau pour indiquer les tranches en chiffres; ce qui t'obligerai à donner les valeurs de distances en chiffres aussi dans ta feuille BDD 2015

Voir une autre version en pj avec des fonction DECALER pour trouver le fournisseur
Si tu tiens à afficher des distances en texte dans la feuille BDD : on pourrait le calculer à partir de chiffres dans une colonne masquée.

Cordialement

Effectivement, je ne m'en étais pas rendu compte! C'est super merci beaucoup. Par contre, j'ai un petit bémol. Je ne sais pas pourquoi quand je transpose la formule dans mon fichier source (plus lourd), la formule ne marche pas du tout de nouveau. La formule matricielle me redonne N/A. :(
 

Dugenou

XLDnaute Barbatruc
Re : Recherche avec trois critères (INDEX et EQUIV)

re,
As-tu validé correctement la formule avec la combinaison des trois touches ctrl+maj+enter ? est-ce que les accolades apparaissent autour de la formule ?
Si oui : postes un fichier exemple avec seulement 4 ou 5 lignes mais avec exactement la même structure
Cordialement
 

pdsaudrey

XLDnaute Nouveau
Re : Recherche avec trois critères (INDEX et EQUIV)

re,
As-tu validé correctement la formule avec la combinaison des trois touches ctrl+maj+enter ? est-ce que les accolades apparaissent autour de la formule ?
Si oui : postes un fichier exemple avec seulement 4 ou 5 lignes mais avec exactement la même structure
Cordialement

Oui, j'ai bien les accolades. Voir fichier en PJ avec exactement la même structure. Merci!!!!!
 

Pièces jointes

  • fichier exemple.xlsx
    36.4 KB · Affichages: 32
  • fichier exemple.xlsx
    36.4 KB · Affichages: 37

Dugenou

XLDnaute Barbatruc
Re : Recherche avec trois critères (INDEX et EQUIV)

Hello
juste une inversion de colonnes : si tu fais AY3&AX15 pour la valeur cherchée du Equiv (fournisseur A & distance) tu dois avoir le même ordre pour les colonnes de recherche donc 'Cotation Jocket'!$C$5:$C$29&'Cotation Jocket'!$D$5:$D$29
au final : =INDEX('Cotation Jocket'!$E$5:$L$29;EQUIV(AY$3&$AX15;'Cotation Jocket'!$C$5:$C$29&'Cotation Jocket'!$D$5:$D$29;0);EQUIV($AW15;'Cotation Jocket'!$E$4:$L$4;0))
Cordialement
 

pdsaudrey

XLDnaute Nouveau
Re : Recherche avec trois critères (INDEX et EQUIV)

Hello
juste une inversion de colonnes : si tu fais AY3&AX15 pour la valeur cherchée du Equiv (fournisseur A & distance) tu dois avoir le même ordre pour les colonnes de recherche donc 'Cotation Jocket'!$C$5:$C$29&'Cotation Jocket'!$D$5:$D$29
au final : =INDEX('Cotation Jocket'!$E$5:$L$29;EQUIV(AY$3&$AX15;'Cotation Jocket'!$C$5:$C$29&'Cotation Jocket'!$D$5:$D$29;0);EQUIV($AW15;'Cotation Jocket'!$E$4:$L$4;0))
Cordialement

c'est super, merci beaucoup!!!!!!!
 

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 327
Membres
103 517
dernier inscrit
hbenaoun63