Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Bug sur recherche matricielle avec Equiv paramètré à -1

BenHarber

XLDnaute Occasionnel
Bonjour Le Forum,
Voilà mon irritant du jour (cf. PJ) :
Je saisis une distance dans une cellule et souhaite obtenir le n° de zone à laquelle cette distance appartient en fonction d'un référentiel (Fourchette de distance), en utilisant les fonctions INDEX / EQUIV.

Cas 1 : En travaillant sur la colonne A du référentiel, et en choisissant le 3ème paramètre d'Equiv = 1 (valeur inférieure) : ça marche !
Cas 2 : En travaillant sur la colonne B du référentiel, et en choisissant le 3ème paramètre d'Equiv = -1 (valeur supérieure) : ça me renvoie #N/A...et je ne comprends pas pourquoi !

Quelqu'un saurait-il trouver une explication à cela ? Peut-être que j'utilise mal cette fonction ?

Merci d'avance pour vos suggestions !

BH
 

Pièces jointes

  • ExempleRechercheMatricielle.xlsx
    10.2 KB · Affichages: 32

mécano41

XLDnaute Accro
Re : Bug sur recherche matricielle avec Equiv paramètré à -1

Bonjour,

Je ne suis pas très doué pour les formules mais il me semble que pour utiliser le type "-1", il faut que la liste soit en ordre décroissant...

Cordialement
 

CISCO

XLDnaute Barbatruc
Re : Bug sur recherche matricielle avec Equiv paramètré à -1

Bonsoir

Si tu ne peux pas mettre dans l'ordre décroissant la colonne B, tu peux peut être faire avec
Code:
INDEX(monTab;EQUIV(C16;$B:$B;1)+1;3)

@ plus
 

job75

XLDnaute Barbatruc
Re : Bug sur recherche matricielle avec Equiv paramètré à -1

Bonjour BenHarber, mecano41, CISCO,

Quel que soit l'ordre des lignes du tableau on peut utiliser en D12 :

Code:
=SOMME.SI.ENS(C:C;A:A;"<"&C12;B:B;">="&C12)
Pour traiter les cas où C12=0 ou C12>50 il faut compliquer :

Code:
=SI(C12=MIN(A:A);RECHERCHEV(MIN(A:A);A:C;3;0);SI(C12>MAX(B:B);"Limite dépassée";SOMME.SI.ENS(C:C;A:A;"<"&C12;B:B;">="&C12)))
Edit : ou mieux :

Code:
=SI(C12>MAX(B:B);"Limite dépassée";SOMME.SI.ENS(C:C;A:A;MIN(A:A);A:A;C12)+SOMME.SI.ENS(C:C;A:A;"<"&C12;B:B;">="&C12))
Bonne journée.
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Bug sur recherche matricielle avec Equiv paramètré à -1

Re,

Si le tableau est toujours trié par distances croissantes c'est bien sûr plus simple.

Fichier joint avec cette formule en F2 :

Code:
=INDEX(C:C;EQUIV(E2-(E2>MIN(A:A))*"1E-9";A:A))
A+
 

Pièces jointes

  • ExempleRechercheMatricielle(1).xlsx
    16.3 KB · Affichages: 23

Discussions similaires

Réponses
3
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…