Equiv / Index ..la pagaille

allegro50

XLDnaute Occasionnel
Bonsoir le Forum

Oui, c'est pagailleux dans ma tete parce que je n'arrive pas a comprendre la logique de ce que me retourne (pas toujours faux) ma formule basée sur index+equiv.

Merci de votre aide d'apres la maquette ci-jointe

Et bonne nuit !
 

Pièces jointes

  • Test Index.zip
    17.9 KB · Affichages: 23
  • Test Index.zip
    17.9 KB · Affichages: 23
  • Test Index.zip
    17.9 KB · Affichages: 22

Gorfael

XLDnaute Barbatruc
Re : Equiv / Index ..la pagaille

allegro50 à dit:
Bonsoir le Forum

Oui, c'est pagailleux dans ma tete parce que je n'arrive pas a comprendre la logique de ce que me retourne (pas toujours faux) ma formule basée sur index+equiv.

Merci de votre aide d'apres la maquette ci-jointe

Et bonne nuit !
Salut
Ton problème est assez simple : tu autorises Excel à réagir en feignant
ta formule en D6 :
Code:
=INDEX(Feuil1!$C$3:$N$23;EQUIV($A6&$B6;Feuil1!$B$3:$B$23);EQUIV(D$4;Feuil1!$C$2:$N$2))
La mienne
Code:
=INDEX(Feuil1!$C$3:$N$23;EQUIV($A6&$B6;Feuil1!$B$3:$B$23;0);EQUIV(D$4;Feuil1!$C$2:$N$2))
=EQUIV($A6&$B6;Feuil1!$B$3:$B$23;0) donne 9
=EQUIV($A6&$B6;Feuil1!$B$3:$B$23) qui n'a pas de type est équivalente à
=EQUIV($A6&$B6;Feuil1!$B$3:$B$23;1) (Valeur par défaut) donne 2
Si tu autorise Excel à faire de l'à peu près, il ne s'en prive pas : 7 caractères identiques sur 8, c'est suffisant. Et encore, si t'avais mis -1 pour le type, il t'aurais trouvé une erreur #N/A (pas de réponse).
A+
 

allegro50

XLDnaute Occasionnel
Re : Equiv / Index ..la pagaille

Bonjour Gorfael, Monique, le Forum

Merci à tous les Deux. C'est la 1ere fois que je rencontre une formule incomplete qui donne un resultat incohérent au lieu d'une erreur.. (dangereux)

Monique, peux tu expliciter ta remarque "par ordre de taille" stp ?

A plus
 

allegro50

XLDnaute Occasionnel
Re : Equiv / Index ..la pagaille

Re, Monique

C'est sans rapport avec le nombre de données de la table ?
Quelle est , a ton avis, la plus efficace ?
J'ai lu, sur un autre fil (cf plus bas), que tu parlais de formule matricielle

Est ce aussi le cas ici ?
Desole, mais je suis un peu perdu ..


Si elles sont du texte ou numériques :
=INDEX(Récap!$AV$2:$AV$20;EQUIV(I9&I12;Récap!$A$2: $A$20&Récap!$BO$2:$BO$20;0))

La 2ème formule est matricielle, à valider par ctrl, maj et entrée.
 

Monique

Nous a quitté
Repose en paix
Re : Equiv / Index ..la pagaille

Re,

Ce qui dépend du nombre de données, ou de la taille de la table, c'est la vitesse de recalcul.

Laquelle est la plus efficace ?
Les 5 fonctionnent bien,
si j'étais toi, je choisirais la plus courte.
SommeProd (et toutes les matricielles) utilise beaucoup d'énergie et risque de ralentir le recalcul si tu as beaucoup de données.


Celle dont tu parles :
=INDEX($AV$2:$AV$20;EQUIV(I9&I12;$A$2:$A$20&$BO$2:$BO$20;0))
c'est une matricielle, à valider par ctrl, maj et entrée,
mais elle sort d'où ?

SommeProd est aussi une matricielle, mais elle n'est à valider que par la touche "Entrée"
 

allegro50

XLDnaute Occasionnel
Re : Equiv / Index ..la pagaille

Bonsoir

Elle sort de ce post

06/02/2005, 13h20 #2 (permalink)
Monique

Messages: n/a

Par défaut Re: INDEX EQUIV ???????
Bonjour,

Si les valeurs en colonne AV de ta feuille Récap sont numériques :
=SOMMEPROD((Récap!$A$2:$A$20=I9)*(Récap!$BO$2:$BO$ 20=I12);Récap!$AV$2:$AV$20)

Si elles sont du texte ou numériques :
=INDEX(Récap!$AV$2:$AV$20;EQUIV(I9&I12;Récap!$A$2: $A$20&Récap!$BO$2:$BO$20;0))

La 2ème formule est matricielle, à valider par ctrl, maj et entrée.

que j'avais consulté avant de poser ma question....

Bon , j'ai choisi la plus longue (index equiv) validee par entree qui semble fonctionner .
Mais je ne suis pas convaincu d'avoir compris ....
 

Monique

Nous a quitté
Repose en paix
Re : Equiv / Index ..la pagaille

Bonjour,

J'ai du mal à suivre

Dans ce post,
https://www.excel-downloads.com/threads/index-equiv.32001/
les deux plages de recherche sont "concaténées" par la formule
=INDEX(Récap!$AV$2:$AV$20;EQUIV(I9&I12;Récap!$A$2:$A$20&Récap!$BO$2:$BO$20;0))

La "concaténation" des 2 plages est là :
Récap!$A$2:$A$20&Récap!$BO$2:$BO$20

Tandis que dans ton fichier, les plages A5:A38 et B5:B38 de la feuille 2 sont, en feuille 1, dans une seule et unique plage : B3:B23
On cherche donc en Feuil1!$B$3:$B$23 les données en A et B de la feuille 2 pour en calculer la position par Equiv
EQUIV($A34&$B34;Feuil1!$B$3:$B$23;0)

On cherche en Feuil1!$C$3:$N$2 la position de D$4 de la feuille 2
EQUIV(D$4;Feuil1!$C$2:$N$2)

Le tout :
=INDEX(Feuil1!$C$3:$N$23;EQUIV($A34&$B34;Feuil1!$B$3:$B$23;0);EQUIV(D$4;Feuil1!$C$2:$N$2))
qui se résume à ça :
Index (Tableau; n° de ligne; n° de colonne)
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 959
Membres
103 990
dernier inscrit
lamiadebz