Microsoft 365 Besoin de soutien avec une formule INDEX EQUIV

BobExcel

XLDnaute Nouveau
Bonjour,

Aujourd'hui j'ai trouvé une formule utilisant la fonction INDEX et EQUIV (Match en anglais je crois) qui semble être tout indiqué pour ce que j'aimerais accomplir.
J'ai copié la fonction d'une discussion que j'ai trouvée sur ce site, espérant pouvoir l'adapter à ma situation.
Malheureusement, je n'y arrive pas et je ne comprends pas pourquoi. J'inclus en pièce jointe un exemple du problème que je rencontre.

J'inclus la formule ici, ainsi que le résultat souhaité versus le résultat que j'obtiens.

=INDEX({5000;2500;1000;500;250;100;50;0};MATCH(C4;{"P1";"P2 AA";"P2";"P3 AA";"P3";"P4";"P9: AUCUN";0}))

PrioritéScore désiréScore qui s'affiche
P1
5000​
5000​
P2 AA
2500​
1000​
P2
1000​
5000​
P3 AA
500​
250​
P3
250​
1000​
P4
100​
100​
P9: AUCUN
50​
50​
0
0​
0​

Je croyais naïvement que la fonction INDEX, utilisée de la sorte, me permettait de définir une table "Score" (5000,2500,1000,250,100,50,0), puis de la faire correspondre avec une seconde table "Priorité" ("P1";"P2 AA";"P2";"P3 AA";"P3";"P4";"P9: AUCUN";0).
J'aurais ainsi pu écrire une priorité, et automatiquement un score correspondant aurait été affiché.

Mon incompréhension est surement bien simple et naïve. Merci d'éclairer ma lanterne.
Bonne journée!
 

Pièces jointes

  • Exemple_index_equiv.xlsx
    12.1 KB · Affichages: 7
Solution
Bonjour @BobExcel et bienvenue sur le forum

Voici ta formule corrigée ainsi qu'une autre qui fonctionne tout aussi bien en Anglais
Code:
=@INDEX({5000,2500,1000,500,250,100,50,0},MATCH(C3,{"P1","P2AA","P2","P3AA","P3","P4","P9: AUCUN",0},0))

=CHOOSE(MATCH($C3,{"P1","P2AA","P2","P3AA","P3","P4","P9: AUCUN",0},0),5000,2500,1000,500,250,100,50,0)

Et en Français
Code:
=@INDEX({5000;2500;1000;500;250;100;50;0};EQUIV(C3;{"P1";"P2AA";"P2";"P3AA";"P3";"P4";"P9: AUCUN";0};0))

=CHOISIR(EQUIV($C3;{"P1";"P2AA";"P2";"P3AA";"P3";"P4";"P9: AUCUN";0},0);5000;2500;1000;500;250;100;50;0)

Voir le fichier joint

Fred0o

XLDnaute Barbatruc
Bonjour @BobExcel et bienvenue sur le forum

Voici ta formule corrigée ainsi qu'une autre qui fonctionne tout aussi bien en Anglais
Code:
=@INDEX({5000,2500,1000,500,250,100,50,0},MATCH(C3,{"P1","P2AA","P2","P3AA","P3","P4","P9: AUCUN",0},0))

=CHOOSE(MATCH($C3,{"P1","P2AA","P2","P3AA","P3","P4","P9: AUCUN",0},0),5000,2500,1000,500,250,100,50,0)

Et en Français
Code:
=@INDEX({5000;2500;1000;500;250;100;50;0};EQUIV(C3;{"P1";"P2AA";"P2";"P3AA";"P3";"P4";"P9: AUCUN";0};0))

=CHOISIR(EQUIV($C3;{"P1";"P2AA";"P2";"P3AA";"P3";"P4";"P9: AUCUN";0},0);5000;2500;1000;500;250;100;50;0)

Voir le fichier joint
 

Pièces jointes

  • Exemple_index_equiv_V1.xlsx
    12.6 KB · Affichages: 4

JHA

XLDnaute Barbatruc
Bonjour à tous,

Un autre essai avec la fonction decaler() en "B3"
VB:
=DECALER($F$2;EQUIV($C3;$E$3:$E$11;0);)

Ajout d'une liste déroulante afin d'éviter les erreurs de saisie

JHA
 

Pièces jointes

  • Exemple_index_equiv_V1.xlsx
    12.3 KB · Affichages: 8

BobExcel

XLDnaute Nouveau
Je réalise l'erreur que j'ai commise:
=INDEX({5000;2500;1000;500;250;100;50;0};EQUIV(C4;{"P1";"P2 AA";"P2";"P3 AA";"P3";"P4";"P9: AUCUN";0}))

J'aurais dû écrire:
=INDEX({5000;2500;1000;500;250;100;50;0};EQUIV(C4;{"P1";"P2 AA";"P2";"P3 AA";"P3";"P4";"P9: AUCUN";0};0))

Merci pour votre aide!
 

Discussions similaires